Od svakodnevnih nezgoda do stabilnosti: Informatica 10 kroz oči administratora

Od svakodnevnih nezgoda do stabilnosti: Informatica 10 kroz oči administratora

ETL komponenta skladišta podataka često je zasjenjena samim skladištem i dobiva manje pažnje od glavne baze podataka ili front-end komponente, BI-a i izvješća. Istodobno, sa stajališta mehanike punjenja skladišta podacima, ETL igra ključnu ulogu i ne zahtijeva ništa manje pažnje od administratora nego ostale komponente. Moje ime je Alexander, sada administriram ETL u Rostelecomu, au ovom ću članku pokušati podijeliti nešto s čime se mora nositi administrator jednog od najpoznatijih ETL sustava u velikom skladištu podataka u Rostelecomu.

Ako ste dragi čitatelji već općenito upoznati s našim projektom skladišta podataka i proizvodom Informatica PowerCenter, odmah možete prijeći na sljedeći odjeljak.

Prije nekoliko godina sazrela je ideja o jedinstvenom korporativnom skladištu podataka i počela se implementirati u Rostelecomu. Već je bilo stvoreno nekoliko repozitorija koji su rješavali pojedinačne probleme, ali je rastao broj scenarija, rasli su i troškovi podrške te je postalo jasno da je budućnost u centralizaciji. Arhitektonski, to je sama pohrana, koja se sastoji od nekoliko slojeva, implementirana na Hadoop i GreenPlum, pomoćne baze podataka, ETL mehanizme i BI.

Istodobno, zbog velikog broja geografski raspoređenih, heterogenih izvora podataka, kreiran je poseban mehanizam za učitavanje podataka čiji rad kontrolira Informatica. Kao rezultat toga, paketi podataka završavaju u području Hadoop sučelja, nakon čega počinju procesi učitavanja podataka kroz pohranu slojeva, Hadoop i GreenPlum, a njima upravlja tzv. ETL kontrolni mehanizam implementiran u Informatici. Stoga je sustav Informatica jedan od ključnih elemenata koji osigurava rad skladišta.

Naše skladište će biti detaljnije opisano u jednom od sljedećih postova.

Informatica PowerCenter/Big Data Management trenutno se smatra vodećim softverom u području alata za integraciju podataka. Riječ je o proizvodu američke tvrtke Informatica koja je jedan od najjačih igrača u ETL (Extract Transform Load), upravljanju kvalitetom podataka, MDM (Master Data Management), ILM (Information Lifecycle Management) i dr.

PowerCenter koji koristimo je integrirani Tomcat aplikacijski poslužitelj u kojem se pokreću same Informatica aplikacije, implementirajući svoje usluge:

Domena, zapravo, ovo je osnova za sve ostalo; usluge, korisnici i GRID komponente djeluju unutar domene.

Administratorska konzola, web-bazirani alat za upravljanje i nadzor, uz Informatica Developer klijent, glavni alat za interakciju s proizvodom

MRS, Usluga repozitorija modela, repozitorij metapodataka, sloj je između baze podataka u kojoj su metapodaci fizički pohranjeni i klijenta Informatica Developer u kojem se odvija razvoj. Repozitoriji pohranjuju opise podataka i druge informacije, uključujući za brojne druge usluge Infromatica, na primjer, rasporede za izvršavanje zadataka (Rasporedi) ili podatke o praćenju, kao i parametre aplikacije, posebice, dopuštajući korištenje iste aplikacije za rad s raznih izvora i primatelja podataka.

DIS, Usluga integracije podataka, ovo je usluga u kojoj se odvijaju glavni funkcionalni procesi, pokreću aplikacije u njoj i stvarna pokretanja Workflow-ova (opisi slijeda mapiranja i njihove interakcije) i Mapiranja (transformacije, blokovi u kojima se same transformacije događaju, obrada podataka ) održati.

GRID konfiguracija – u biti, mogućnost izgradnje kompleksa s nekoliko poslužitelja, kada se opterećenje koje pokreće DIS raspoređuje među čvorovima (odnosno poslužiteljima koji su dio domene). U slučaju ove opcije, osim raspodjele opterećenja u DIS-u kroz dodatni sloj apstrakcije GRID-a koji ujedinjuje nekoliko čvorova, na kojem se DIS pokreće umjesto rada na određenom pojedinačnom čvoru, također se mogu kreirati dodatne rezervne MRS instance. Možete čak implementirati visoku dostupnost, gdje se vanjski pozivi mogu obavljati preko rezervnih čvorova ako glavni zakaže. Za sada smo odustali od ove mogućnosti izgradnje.

Od svakodnevnih nezgoda do stabilnosti: Informatica 10 kroz oči administratora
Informatica PowerCenter, shema

U ranim fazama rada u sklopu lanca opskrbe podacima redovito su se javljali problemi, neki od njih i zbog tadašnjeg nestabilnog rada Informatice. Podijelit ću neke od nezaboravnih trenutaka ove sage - svladavanje Informatice 10.

Od svakodnevnih nezgoda do stabilnosti: Informatica 10 kroz oči administratora
Nekadašnji logo Informatice

U našem području odgovornosti su i druga Informatica okruženja, ona imaju svoje specifičnosti zbog različitog opterećenja, ali za sada ću se sjetiti kako se točno Informatica razvijala kao ETL komponenta samog skladišta podataka.

Kako se to dogodilo

2016. godine, kada smo postali odgovorni za rad Informatice, ona je već bila stigla do verzije 10.0, a optimističnim kolegama koji su odlučivali koristiti proizvod s minornom verzijom .0 u ozbiljnom rješenju, sve se činilo očiglednim – trebamo koristiti nova verzija! Sa stajališta hardverskih resursa, tada je sve bilo u redu.

Od proljeća 2016. godine za rad Informatice zadužen je izvođač radova, a prema riječima rijetkih korisnika sustava “radila je par puta tjedno”. Ovdje je potrebno pojasniti da je repozitorij bio de facto u fazi PoC-a, nije bilo administratora u timu i sustav se konstantno rušio iz raznih razloga, nakon čega ga je inženjer izvođača ponovno preuzeo.

U jesen su se timu pridružila tri administratora koji su međusobno podijelili područja odgovornosti te se krenulo s normalnim radom na organizaciji rada sustava u projektu, pa tako i Informatice. Zasebno se mora reći da ovaj proizvod nije široko rasprostranjen i ima veliku zajednicu u kojoj možete pronaći odgovore na sva pitanja i riješiti bilo koji problem. Stoga je bila vrlo važna puna tehnička podrška ruskog partnera Informatica uz pomoć koje su ispravljene sve naše greške i greške tada mlade Informatice 10.

Prvo što smo morali napraviti za programere našeg tima i izvođača bilo je stabilizirati rad same Informatice, osigurati funkcionalnost web administracijske konzole (Informatica Administrator).

Od svakodnevnih nezgoda do stabilnosti: Informatica 10 kroz oči administratora
Ovako smo često susretali programere Informatice

Ostavljajući po strani proces utvrđivanja razloga, glavni razlog rušenja bio je obrazac interakcije softvera Informatica s bazom podataka repozitorija, koja je bila smještena na relativno udaljenom poslužitelju, s gledišta mrežnog krajolika. To je uzrokovalo kašnjenja i poremetilo mehanizme koji prate stanje domene Informatica. Nakon određenog ugađanja baze podataka, promjene parametara Informatice, što ju je učinilo tolerantnijom na kašnjenja baze podataka, te na kraju ažuriranja verzije Informatice na 10.1 i prijenosa baze podataka s prethodnog poslužitelja na poslužitelj koji se nalazi bliže Informatici, problem je izgubio svoju važnost relevantnost, a od tada je bilo padova ove vrste koje ne bilježimo.

Od svakodnevnih nezgoda do stabilnosti: Informatica 10 kroz oči administratora
Jedan od pokušaja da Informatica Monitor proradi

Situacija s administracijskom konzolom također je bila kritična. Budući da je aktivan razvoj bio u tijeku izravno u relativno produktivnom okruženju, kolege su stalno morali analizirati rad mapiranja i tijek rada "u pokretu". U novoj Informatici Data Integration Service nema zaseban alat za takav nadzor, već se u administracijskoj web konzoli (Informatica Administrator Monitor) pojavio odjeljak za nadzor u kojem možete pratiti rad aplikacija, tijek rada i mapiranja, lansiranja, dnevnici. Povremeno je konzola postala potpuno nedostupna, ili su se informacije o trenutnim procesima u DIS-u prestale ažurirati, ili su se pojavile pogreške prilikom učitavanja stranica.

Od svakodnevnih nezgoda do stabilnosti: Informatica 10 kroz oči administratora
Odabir java parametara za stabilizaciju rada

Problem je ispravljen na mnogo načina, eksperimenti su provedeni za promjenu parametara, dnevnici i jstack su prikupljeni, poslani podršci, u isto vrijeme bilo je aktivno guglanje i jednostavno promatranje.

Prije svega, napravljen je zaseban MRS za monitoring, koji je, kako se kasnije pokazalo, jedan od glavnih potrošača resursa u našim sredinama, budući da se mapiranje pokreće vrlo intenzivno. Promijenjeni su parametri vezani uz java heap i niz drugih.
Kao rezultat toga, do sljedećeg ažuriranja Informatica 10.1.1, rad konzole i monitora je stabiliziran, programeri su počeli raditi učinkovitije, a redovni procesi postali su sve redovitiji.

Iskustvo interakcije između razvoja i administracije može biti zanimljivo. Pitanje općeg razumijevanja kako stvari funkcioniraju, što se može, a što ne može, uvijek je važno kod korištenja složenih sustava. Stoga slobodno možemo preporučiti da prvo obučite administrativni tim kako administrirati softver, a razvojni tim kako napisati kod i iscrtati procese u sustavu, pa tek onda poslati prve i druge da rade na rezultatu. Ovo je jako važno kada vrijeme nije beskonačan resurs. Mnogi se problemi mogu riješiti čak i nasumičnim traženjem opcija, ali ponekad neki zahtijevaju apriorno znanje - naš slučaj potvrđuje važnost razumijevanja ovog aksioma.

Na primjer, kada smo pokušali omogućiti verzioniranje u MRS-u (kako se na kraju pokazalo, bila je potrebna drugačija verzija SVN-a), nakon nekog vremena uznemireno smo otkrili da se vrijeme ponovnog pokretanja sustava povećalo na nekoliko desetaka minuta. Pronašavši razlog kašnjenja u startu i onemogućivši verzioniranje, opet smo dobro prošli.

Značajne prepreke povezane s Informaticom uključuju epsku bitku s rastućim java nitima. U jednom trenutku je došlo vrijeme za replikaciju, odnosno proširenje uspostavljenih procesa na veliki broj izvornih sustava. Ispostavilo se da nisu svi procesi u 10.1.1 dobro radili, a nakon nekog vremena DIS je postao neoperativan. Otkriveni su deseci tisuća niti, a njihov je broj posebno primjetno rastao tijekom postupka postavljanja aplikacije. Ponekad sam morao ponovno pokrenuti nekoliko puta dnevno kako bih vratio funkcionalnost.

Ovdje treba zahvaliti podršci, problemi su relativno brzo lokalizirani i riješeni pomoću EBF-a (Emergency Bug Fix) - nakon toga svi su stekli osjećaj da alat stvarno radi.

Još uvijek radi!

U trenutku kada smo počeli raditi u target modu, Informatica je izgledala ovako. Verzija Informatice 10.1.1HF1 (HF1 je HotFix1, vendor sklop iz kompleksa EBF-ova) s dodatno instaliranim EBF-om, koji ispravlja naše probleme sa skaliranjem i neke druge, na jednom serveru od tri koja su bila dio GRID-a, 20 x86_64 jezgri i pohranu, na ogromnom sporom nizu lokalnih diskova - ovo je konfiguracija poslužitelja za Hadoop klaster. Na drugom sličnom poslužitelju - Oracle DBMS s kojim radi i domena Informatica i kontrolni mehanizam ETL-a. Sve to prate standardni alati za praćenje koji se koriste u timu (Zabbix + Grafana) s obje strane - sama Informatica sa svojim servisima, i procesi učitavanja koji idu u nju. Sada i performanse i stabilnost, bez uzimanja u obzir vanjskih čimbenika, sada ovise o postavkama koje ograničavaju opterećenje.

Zasebno možemo reći o GRID-u. Okolina je izgrađena na tri čvora, s mogućnošću balansiranja opterećenja. Međutim, tijekom testiranja otkriveno je da zbog problema s interakcijom između pokrenutih instanci naših aplikacija ova konfiguracija ne radi kako se očekivalo, pa su odlučili privremeno napustiti ovu shemu konstrukcije, uklanjajući dva od tri čvora iz domene. Pritom je sama shema ostala ista i sada je to upravo GRID servis, ali degeneriran na jedan čvor.

Upravo sada, poteškoća ostaje povezana s padom performansi pri redovitom čišćenju kruga monitora - uz istovremene procese u CNN-u i tekuće čišćenje, mogu se pojaviti kvarovi u radu ETL upravljačkog mehanizma. To se trenutno rješava “kao štaka” - ručnim brisanjem kruga monitora, uz gubitak svih njegovih prethodnih podataka. Ovo nije previše kritično za produktivnost, tijekom normalnog rutinskog rada, ali za sada je u tijeku potraga za normalnim rješenjem.

Još jedan problem proizlazi iz ove iste situacije - ponekad se dogodi višestruko pokretanje našeg kontrolnog mehanizma.

Od svakodnevnih nezgoda do stabilnosti: Informatica 10 kroz oči administratora
Višestruko pokretanje aplikacija dovodi do kvara mehanizma

Prilikom rada prema rasporedu, u vrijeme velikog opterećenja sustava, ponekad se događaju situacije koje dovode do kvara mehanizma. Problem se još uvijek ručno otklanja i traži se trajno rješenje.

Općenito, možemo rezimirati da kada postoji veliko opterećenje, vrlo je važno osigurati resurse primjerene tome, to se odnosi i na hardverske resurse za samu Informaticu, a isto i za njen repozitorij baze podataka, kao i osigurati optimalne postavke za njih. Osim toga, ostaje otvoreno pitanje koja je shema smještaja baze podataka bolja - na zasebnom hostu ili na istom na kojem se pokreće softver Informatica. S jedne strane, to će biti jeftinije na jednom poslužitelju, a kombiniranjem se praktički eliminira mogući problem mrežne interakcije, s druge strane, opterećenje hosta od baze podataka nadopunjuje se opterećenjem od Informatice.

Kao i kod svakog ozbiljnog proizvoda, iu Informatici ima smiješnih trenutaka.
Jednom sam, dok sam rješavao nekakvu nezgodu, primijetio da zapisnici MRS-a čudno pokazuju vrijeme događaja.

Od svakodnevnih nezgoda do stabilnosti: Informatica 10 kroz oči administratora
Vremenski dualizam u zapisnicima MRS-a "prema dizajnu"

Pokazalo se da se vremenske oznake pišu u 12-satnom formatu, bez navođenja AM/PM, odnosno prije podne ili poslije. Po tom pitanju je čak bila otvorena i prijava, a stigao je i službeni odgovor - tako je i bilo zamišljeno, u dnevniku MRS-a nalaze se ocjene upravo u ovom formatu. Odnosno, ponekad ostane neka intriga oko vremena nastanka neke GREŠKE...

Težite najboljem

Danas je Informatica prilično stabilan alat, zgodan za administratore i korisnike, izuzetno moćan u odnosu na svoje trenutne mogućnosti i potencijal. Višestruko nadilazi naše funkcionalne potrebe i de facto se sada koristi u projektu na način koji nije baš tipičan i tipičan. Poteškoće su djelomično povezane s načinom rada mehanizama – specifičnost je da se u kratkom vremenskom razdoblju pokreće veliki broj dretvi koje intenzivno ažuriraju parametre i rade s bazom podataka repozitorija, dok su hardverski resursi poslužitelja gotovo u potpunosti iskorišteni. od strane CPU-a.

Sada smo blizu prelaska na Informaticu 10.2.1 ili 10.2.2, koje su preradile neke interne mehanizme i obećavaju podršku za uklanjanje nekih problema s izvedbom i funkcionalnošću koje trenutno imamo. A s hardverskog gledišta, očekujemo poslužitelje s optimalnom konfiguracijom za nas, uzimajući u obzir rezervu za blisku budućnost zbog rasta i razvoja pohrane.

Naravno, bit će testiranja, provjere kompatibilnosti i eventualno arhitektonskih promjena u HA GRID dijelu. Razvoj unutar Informatice će se nastaviti, jer u kratkom roku ne možemo isporučiti ništa što bi zamijenilo sustav.
A oni koji će u budućnosti biti odgovorni za ovaj sustav sigurno će ga moći dovesti do potrebnih pokazatelja pouzdanosti i performansi koje su postavili kupci.

Članak je pripremio tim za upravljanje podacima Rostelecoma

Od svakodnevnih nezgoda do stabilnosti: Informatica 10 kroz oči administratora
Aktualni logo Informatica

Izvor: www.habr.com

Dodajte komentar