Od svakodnevnih padova do stabilnosti: Informatica 10 očima administratora

Od svakodnevnih padova do stabilnosti: Informatica 10 očima administratora

ETL komponenta skladišta podataka često je zasjenjena samim skladištem i dobija manje pažnje od glavne baze podataka ili front-end komponente, BI-ja i izvještavanja. Istovremeno, sa stanovišta mehanike punjenja skladišta podacima, ETL igra ključnu ulogu i ne zahtijeva ništa manje pažnje administratora od ostalih komponenti. Zovem se Aleksandar, sada administriram ETL u Rostelekomu, a u ovom članku ću pokušati da podelim nešto sa čim se mora nositi administrator jednog od najpoznatijih ETL sistema u velikom skladištu podataka u Rostelekomu.

Ako su dragi čitaoci već generalno upoznati sa našim projektom skladišta podataka i sa proizvodom Informatica PowerCenter, onda možete odmah preći na sljedeći odjeljak.

Prije nekoliko godina, ideja o jedinstvenom skladištu korporativnih podataka sazrela je i počela se implementirati u Rostelecomu. Već je kreiran veći broj repozitorija koji su rješavali pojedinačne probleme, ali je broj scenarija rastao, rasli su se i troškovi podrške i postalo je jasno da je budućnost u centralizaciji. Arhitektonski, ovo je sama pohrana koja se sastoji od nekoliko slojeva, implementiranih na Hadoop i GreenPlum, pomoćnih baza podataka, ETL mehanizama i BI.

Istovremeno, zbog velikog broja geografski raspoređenih, heterogenih izvora podataka, kreiran je poseban mehanizam za upload podataka čiji rad kontroliše Informatica. Kao rezultat, paketi podataka završavaju u području Hadoop interfejsa, nakon čega počinju procesi učitavanja podataka kroz memorijske slojeve, Hadoop i GreenPlum, a njima upravlja takozvani ETL kontrolni mehanizam implementiran u Informatici. Dakle, sistem Informatica je jedan od ključnih elemenata koji obezbjeđuje rad skladišta.

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

Informatica PowerCenter/Big Data Management se trenutno smatra vodećim softverom u oblasti alata za integraciju podataka. Ovo je proizvod američke kompanije 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 još mnogo toga.

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

područje, u stvari, ovo je osnova za sve ostalo; usluge, korisnici i GRID komponente djeluju unutar domene.

Administratorska konzola, web-bazirani alat za upravljanje i praćenje, pored klijenta Informatica Developer, glavnog alata za interakciju s proizvodom

MRS, Služba za skladištenje modela, spremište metapodataka, je sloj između baze podataka u kojoj su metapodaci fizički pohranjeni i klijenta Informatica Developer u kojem se odvija razvoj. Spremišta pohranjuju opise podataka i druge informacije, uključujući i za brojne druge usluge Infromatica, na primjer, rasporede za izvršavanje zadataka (rasporeda) ili podatke o praćenju, kao i parametre aplikacije, posebno, omogućavajući korištenje iste aplikacije za rad sa razni izvori podataka i prijemnici.

DIS, usluga integracije podataka, ovo je usluga u kojoj se odvijaju glavni funkcionalni procesi, u njoj se pokreću aplikacije i stvarna pokretanja tokova rada (opisi slijeda preslikavanja i njihovih interakcija) i mapiranja (transformacije, blokovi u kojima se same transformacije dešavaju, obrada podataka ) zauzmi mjesto.

GRID konfiguracija – u suštini, opcija za izgradnju kompleksa sa više servera, kada se opterećenje koje pokreće DIS raspoređuje na čvorove (odnosno servere koji su deo domena). U slučaju ove opcije, pored distribucije opterećenja u DIS-u kroz dodatni sloj apstrakcije GRID koji objedinjuje nekoliko čvorova, na kojima DIS radi umjesto da radi na određenom jednom čvoru, mogu se kreirati i dodatne sigurnosne MRS instance. Možete čak implementirati visoku dostupnost, gdje se vanjski pozivi mogu uputiti preko rezervnih čvorova ako glavni ne uspije. Za sada smo napustili ovu opciju izgradnje.

Od svakodnevnih padova do stabilnosti: Informatica 10 očima administratora
Informatica PowerCenter, shema

U ranim fazama rada u sklopu lanca snabdevanja podacima redovno su se javljali problemi, neki od njih zbog nestabilnog rada Informatike u to vreme. Podijeliću neke od nezaboravnih trenutaka ove sage - savladavanje Informatike 10.

Od svakodnevnih padova do stabilnosti: Informatica 10 očima administratora
Nekadašnji logo Informatike

Naše područje odgovornosti uključuje i druga Informatica okruženja, ona imaju svoje specifičnosti zbog drugačijeg opterećenja, ali za sada ću se sjetiti kako se Informatica razvijala kao ETL komponenta samog skladišta podataka.

Kako se to dogodilo?

В 2016-м году, когда мы стали отвечать за работу Informatica, она уже достигла версии 10.0, и для оптимистически настроенных коллег, принимавших решение о применении в серьёзном решении продукта с минорной версией .0, всё казалось очевидным — использовать нужно новую версию! С точки зрения аппаратных ресурсов всё было на тот момент отлично.

Od proleća 2016. godine za rad Informatike zadužen je izvođač radova, koji je, prema rečima malobrojnih korisnika sistema, „radio par puta nedeljno“. Ovdje je potrebno pojasniti da je spremište de facto bilo u fazi PoC-a, nije bilo administratora u timu i sistem je konstantno padao iz raznih razloga, nakon čega ga je inženjer izvođača radova ponovo preuzeo.

Na jesen su se timu pridružila tri administratora, koji su međusobno podijelili svoje nadležnosti i počeo je normalan rad na organizaciji rada sistema u projektu, uključujući i Informatiku. Posebno treba reći da ovaj proizvod nije rasprostranjen i da ima veliku zajednicu u kojoj možete pronaći odgovore na sva pitanja i riješiti svaki problem. Stoga je bila veoma važna puna tehnička podrška ruskog partnera Informatice, uz pomoć koje su ispravljene sve naše greške i greške tada mlade Informatice 10.

Prvo što smo morali da uradimo za programere našeg tima i izvođača je da stabilizujemo rad same Informatice, da obezbedimo funkcionalnost web administracijske konzole (Informatica Administrator).

Od svakodnevnih padova do stabilnosti: Informatica 10 očima administratora
Tako smo se često susreli sa programerima Informatice

Ostavljajući po strani proces otkrivanja razloga, glavni razlog kvarova bio je obrazac interakcije softvera Informatica sa bazom podataka repozitorija, koja se nalazila na relativno udaljenom serveru, sa stanovišta mrežnog pejzaža. To je uzrokovalo kašnjenja i poremetilo mehanizme koji prate stanje domena Informatica. Nakon određenog podešavanja baze podataka, promjene parametara Informatice, što je učinilo tolerantnijom na kašnjenje baze podataka, i na kraju ažuriranja verzije Informatice na 10.1 i prijenosa baze podataka sa prethodnog servera na server koji se nalazi bliže Informatici, problem je izgubio svoje relevantnost, i od tada je bilo padova ove vrste koje ne primjećujemo.

Od svakodnevnih padova do stabilnosti: Informatica 10 očima administratora
Jedan od pokušaja da Informatica Monitor proradi

Kritična je bila i situacija sa administracijskom konzolom. Budući da je aktivan razvoj bio u toku direktno na relativno produktivnom okruženju, kolege su stalno morale da analiziraju rad mapiranja i toka posla „u pokretu“. U novoj Informatici Servis integracije podataka nema poseban alat za takvo praćenje, ali se na web konzoli administracije pojavio odjeljak za praćenje (Informatica Administrator Monitor), u kojem možete pratiti rad aplikacija, tokove rada i mapiranja, lansiranja, logovi. Periodično je konzola postala potpuno nedostupna, ili su informacije o trenutnim procesima u DIS-u prestale da se ažuriraju, ili je došlo do grešaka pri učitavanju stranica.

Od svakodnevnih padova do stabilnosti: Informatica 10 očima administratora
Odabir java parametara za stabilizaciju performansi

Problem je ispravljen na mnogo načina, vršeni su eksperimenti za promenu parametara, skupljani su logovi i jstack, slani na podršku, istovremeno je bilo aktivno guglanje i jednostavno posmatranje.

Prije svega, kreiran je poseban MRS za praćenje, koji je, kako se kasnije ispostavilo, jedan od glavnih potrošača resursa u našim sredinama, budući da se mapiranja pokreću vrlo intenzivno. Promijenjeni su parametri koji se odnose na java heap i niz drugih.
Kao rezultat toga, do sljedećeg ažuriranja Informatica 10.1.1, rad konzole i monitora je stabilizovan, programeri su počeli da rade efikasnije, a redovni procesi su postajali sve regularniji.

Iskustvo interakcije između razvoja i administracije može biti zanimljivo. Pitanje opšteg razumevanja kako stvari funkcionišu, šta se može, a šta ne može, uvek je važno kada se koriste složeni sistemi. Stoga sa sigurnošću možemo preporučiti da prvo obučite administrativni tim kako da administrira softver, a razvojni tim kako pisati kod i crtati procese u sistemu, pa tek onda poslati prvog i drugog da rade na rezultatu. Ovo je zaista važno kada vrijeme nije beskonačan resurs. Mnogi problemi se mogu riješiti čak i slučajnim pretraživanjem opcija, ali ponekad je za neke potrebno a priori znanje - naš slučaj potvrđuje važnost razumijevanja ovog aksioma.

Na primer, kada smo pokušali da omogućimo verzionisanje u MRS-u (kako se na kraju ispostavilo, bila je potrebna drugačija verzija SVN-a), nakon nekog vremena smo uznemireni otkrili da se vreme ponovnog pokretanja sistema povećalo na nekoliko desetina minuta. Nakon što smo pronašli razlog kašnjenja u startu i onemogućili verzioniranje, opet smo dobro prošli.

Značajne prepreke povezane sa Informaticom uključuju epsku bitku sa rastućim java nitima. U nekom trenutku je došlo vrijeme za replikaciju, odnosno proširenje uspostavljenih procesa na veliki broj izvornih sistema. Ispostavilo se da nisu svi procesi u 10.1.1 dobro funkcionisali, a nakon nekog vremena DIS je postao neoperativan. Detektovane su desetine hiljada niti, a njihov broj je posebno rastao tokom procedure implementacije aplikacije. Ponekad sam morao ponovo pokrenuti nekoliko puta dnevno da bih vratio funkcionalnost.

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

I dalje radi!

U trenutku kada smo počeli raditi u target modu, Informatica je izgledala ovako. Verzija Informatice 10.1.1HF1 (HF1 je HotFix1, vendorski sklop iz kompleksa EBF-ova) sa dodatno instaliranim EBF-om, koji ispravlja naše probleme sa skaliranjem i neke druge, na jednom od tri servera koji su bili dio GRID-a, 20 x86_64 jezgara i skladištenje, na ogromnom sporom nizu lokalnih diskova - ovo je konfiguracija servera za Hadoop klaster. Na drugom sličnom serveru - Oracle DBMS sa kojim rade i domen Informatica i ETL kontrolni mehanizam. Sve to prati standardni monitoring alati koji se koriste u timu (Zabbix + Grafana) s obje strane - sama Informatica sa svojim servisima, te procesi učitavanja koji ulaze u nju. Sada i performanse i stabilnost, bez uzimanja u obzir vanjskih faktora, sada zavise od postavki koje ograničavaju opterećenje.

Zasebno, možemo reći o GRID-u. Okruženje je izgrađeno na tri čvora, sa mogućnošću balansiranja opterećenja. Međutim, tokom testiranja je otkriveno da zbog problema u interakciji između pokrenutih instanci naših aplikacija, ova konfiguracija nije radila kako se očekivalo, te su odlučili da privremeno napuste ovu šemu konstrukcije, uklanjajući dva od tri čvora iz domene. Istovremeno, sama shema je ostala ista, i sada je to upravo GRID usluga, ali degenerirana na jedan čvor.

Trenutno, poteškoća ostaje povezana s padom performansi pri redovnom čišćenju kruga monitora - uz istovremene procese u CNN-u i tekuće čišćenje, može doći do kvarova u radu kontrolnog mehanizma ETL. Ovo 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, tokom normalnog rutinskog rada, ali za sada je u toku potraga za normalnim rješenjem.

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

Od svakodnevnih padova do stabilnosti: Informatica 10 očima administratora
Višestruko pokretanje aplikacija dovodi do kvara mehanizma

Prilikom rada po rasporedu, u vrijeme velikog opterećenja sistema, ponekad se javljaju situacije koje dovode do kvara mehanizma. Problem se i dalje rješava ručno i traži se trajno rješenje.

Općenito, možemo rezimirati da je kod velikog opterećenja veoma važno obezbijediti resurse adekvatne za to, to se odnosi i na hardverske resurse za samu Informatiku, a isto tako i za njeno spremište baze podataka, kao i za obezbjeđivanje optimalnih postavki za njih. Osim toga, ostaje otvoreno pitanje koja je shema smještaja baze podataka bolja - na zasebnom hostu ili na istom na kojem radi softver Informatica. S jedne strane, na jednom serveru će biti jeftinije, a kada se kombinuje, mogući problem sa mrežnom interakcijom je praktično eliminisan, s druge strane, opterećenje hosta iz baze podataka se dopunjava opterećenjem od Informatice.

Kao i kod svakog ozbiljnog proizvoda, i Informatica ima smiješnih momenata.
Jednom sam, rješavajući nekakvu nesreću, primijetio da je u zapisnicima MRS-a čudno naznačeno vrijeme događaja.

Od svakodnevnih padova do stabilnosti: Informatica 10 očima administratora
Temporalni dualizam u dnevnikima MRS-a "po dizajnu"

Pokazalo se da se vremenske oznake pišu u 12-satnom formatu, bez navođenja AM/PM, odnosno prije podne ili poslije. Čak je otvorena i prijava po ovom pitanju, a stigao je i zvaničan odgovor - tako je i zamišljeno, u dnevniku MRS-a se upisuju oznake 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, pogodan za administratore i korisnike, izuzetno moćan u pogledu svojih trenutnih mogućnosti i potencijala. Višestruko prevazilazi naše funkcionalne potrebe i de facto se sada koristi u projektu na način koji nije najtipičniji i tipičniji. Poteškoće se dijelom odnose i na način rada mehanizama – specifičnost je što se u kratkom vremenskom periodu pokreće veliki broj niti koje intenzivno ažuriraju parametre i rade sa bazom repozitorija, dok se hardverski resursi servera koriste gotovo u potpunosti. od strane CPU-a.

Sada smo blizu prelaska na Informatica 10.2.1 ili 10.2.2, koji su preradili neke od internih mehanizama i obećanja podrške da će eliminisati neke probleme sa performansama i funkcionalnošću koje trenutno imamo. A sa hardverske tačke gledišta, očekujemo servere sa optimalnom konfiguracijom za nas, uzimajući u obzir rezervu za blisku budućnost zbog rasta i razvoja skladišta.

Naravno, bit će testiranja, provjere kompatibilnosti i eventualno arhitektonskih promjena u dijelu HA GRID. Razvoj unutar Informatice će se nastaviti, jer kratkoročno ne možemo isporučiti ništa što bi zamijenilo sistem.
A oni koji će u budućnosti biti odgovorni za ovaj sistem će sigurno moći da ga dovedu do zahtevanih pokazatelja pouzdanosti i performansi koje postavljaju kupci.

Članak je pripremio tim za upravljanje podacima Rostelecoma

Od svakodnevnih padova do stabilnosti: Informatica 10 očima administratora
Aktuelni logo Informatike

izvor: www.habr.com

Dodajte komentar