日垞の事故から安定性たで: 管理者の目から芋た Informatica 10

日垞の事故から安定性たで: 管理者の目から芋た Informatica 10

デヌタ りェアハりスの ETL コンポヌネントはりェアハりス自䜓の圱に隠れがちで、メむンのデヌタベヌスやフロント゚ンド コンポヌネント、BI、レポヌトほど泚目されおいたせん。同時に、りェアハりスにデヌタを充填するメカニズムの芳点からは、ETL は重芁な圹割を果たしおおり、管理者は他のコンポヌネントず同様に泚意を払う必芁がありたす。私の名前はアレクサンダヌです。珟圚、ロステレコムで ETL を管理しおいたす。この蚘事では、ロステレコムの倧芏暡なデヌタ りェアハりスにある最も有名な ETL システムの 1 ぀の管理者が察凊しなければならないこずに぀いお少し共有したいず思いたす。

読者の皆様が、圓瀟のデヌタ りェアハりス プロゞェクトず Informatica PowerCenter 補品に぀いおすでによくご存じであれば、すぐに次のセクションに進んでいただいお構いたせん。

数幎前、単䞀の䌁業デヌタ りェアハりスのアむデアが成熟し、Rostelecom で実装され始めたした。個別の問題を解決するリポゞトリはすでに倚数䜜成されおいたしたが、シナリオの数が増加し、サポヌトコストも増加し、将来は集䞭化にあるこずが明らかになりたした。アヌキテクチャ的には、これはストレヌゞ自䜓であり、Hadoop ず GreenPlum、補助デヌタベヌス、ETL メカニズム、および BI に実装されたいく぀かのレむダヌで構成されたす。

同時に、地理的に分散した異皮デヌタ ゜ヌスが倚数存圚するため、特別なデヌタ アップロヌド メカニズムが䜜成され、その操䜜は Informatica によっお制埡されたした。その結果、デヌタ パッケヌゞは最終的に Hadoop むンタヌフェむス領域に眮かれ、その埌、ストレヌゞ レむダヌ、Hadoop および GreenPlum を介しおデヌタをロヌドするプロセスが開始され、それらは Informatica に実装されたいわゆる ETL 制埡メカニズムによっお管理されたす。したがっお、Informatica システムは、倉庫の運甚を保蚌する重芁な芁玠の 1 ぀です。

私たちのストレヌゞに぀いおは、次のいずれかの投皿で詳しく説明したす。

Informatica PowerCenter/Big Data Management は珟圚、デヌタ統合ツヌルの分野で䞻芁な゜フトりェアずみなされおいたす。これは、ETL (Extract Transform Load)、デヌタ品質管理、MDM (Master Data Management)、ILM (Information Lifecycle Management) などの分野で最匷のプレヌダヌの 1 ぀である米囜の Informatica 瀟の補品です。

私たちが䜿甚する PowerCenter は、Informatica アプリケヌション自䜓が実行され、そのサヌビスを実装する統合 Tomcat アプリケヌション サヌバヌです。

ドメむン実際、これは他のすべおの基瀎であり、サヌビス、ナヌザヌ、および GRID コンポヌネントはドメむン内で動䜜したす。

管理者コン゜ヌル、補品ず察話するための䞻芁なツヌルである Informatica Developer クラむアントに加えお、Web ベヌスの管理および監芖ツヌル

MRS、モデルリポゞトリサヌビスメタデヌタ リポゞトリは、メタデヌタが物理的に保存されおいるデヌタベヌスず、開発が行われおいる Informatica Developer クラむアントの間の局です。リポゞトリには、他の倚くの Infromatica サヌビスに関するデヌタの説明やその他の情報 (タスク (スケゞュヌル) の実行スケゞュヌルやデヌタの監芖など)、およびアプリケヌション パラメヌタが保存されたす。これにより、特に、同じアプリケヌションを操䜜に䜿甚できるようになりたす。さたざたなデヌタ゜ヌスず受信機。

DIS、デヌタ統合サヌビスこれは、䞻芁な機胜プロセスが実行され、その䞭でアプリケヌションが実行され、ワヌ​​クフロヌ (䞀連のマッピングずその盞互䜜甚の蚘述) ずマッピング (倉換、倉換自䜓が発生するブロック、デヌタ凊理) が実際に起動されるサヌビスです。  行われる。

グリッド構成 – 本質的には、DIS によっお開始される負荷がノヌド (぀たり、ドメむンの䞀郚であるサヌバヌ) 間で分散される堎合に、耇数のサヌバヌを䜿甚しお耇合䜓を構築するためのオプションです。このオプションの堎合、特定の単䞀ノヌドで動䜜するのではなく、DIS が実行される耇数のノヌドを統合する远加の GRID 抜象化レむダヌを通じお DIS の負荷を分散するこずに加えお、远加のバックアップ MRS むンスタンスも䜜成できたす。メむンノヌドに障害が発生した堎合にバックアップノヌド経由で倖郚呌び出しを行うこずができる高可甚性を実装するこずもできたす。珟圚のずころ、この構築オプションは攟棄しおいたす。

日垞の事故から安定性たで: 管理者の目から芋た Informatica 10
Informatica PowerCenter、抂略図

デヌタ サプラむ チェヌンの䞀郚ずしおの取り組みの初期段階では、定期的に問題が発生したした。その䞀郚は、圓時の Informatica の動䜜が䞍安定だったこずに起因しおいたした。今回は、Informatica 10 をマスタヌするずいうこの物語の思い出に残る瞬間のいく぀かを共有したいず思いたす。

日垞の事故から安定性たで: 管理者の目から芋た Informatica 10
以前の Informatica のロゎ

私たちの責任範囲には他の Informatica 環境も含たれおおり、負荷が異なるため独自の仕様がありたすが、今のずころは、Informatica がデヌタ りェアハりス自䜓の ETL コンポヌネントずしおどのように開発されたかを正確に芚えおおきたす。

どうやっおそうなった

2016 幎に私たちが Informatica の仕事の責任者になったずき、Informatica はすでにバヌゞョン 10.0 に達しおいたした。本栌的な゜リュヌションでマむナヌ バヌゞョン .0 の補品を䜿甚するこずを決定しおいた楜芳的な同僚にずっおは、すべおが明らかであるように思えたした。新しいバヌゞョンハヌドりェア リ゜ヌスの芳点からは、圓時はすべお問題ありたせんでした。

2016 幎の春以来、請負業者が Informatica の䜜業を担圓しおおり、システムの数少ないナヌザヌによれば、「週に数回は機胜しおいた」そうです。ここで、リポゞトリは PoC 段階では事実䞊のものであったこず、チヌムに管理者がおらず、さたざたな理由でシステムが垞にクラッシュし、その埌請負業者の゚ンゞニアが再びリポゞトリを拟ったこずを明確にする必芁がありたす。

秋には 10 人の管理者がチヌムに加わり、各自の責任分野を分担し、Informatica を含むプロゞェクト内のシステムの運甚を組織する通垞の䜜業が始たりたした。これずは別に、この補品は広く普及しおおらず、あらゆる質問に察する答えを芋぀けお問題を解決できる倧芏暡なコミュニティがあるず蚀わなければなりたせん。したがっお、ロシアのパヌトナヌである Informatica からの完党な技術サポヌトが非垞に重芁であり、その助けにより、私たちのすべおの゚ラヌず圓時若い Informatica XNUMX の゚ラヌが修正されたした。

私たちのチヌムの開発者ず請負業者が最初にやらなければならなかったのは、Informatica 自䜓の動䜜を安定させ、Web 管理コン゜ヌル (Informatica Administrator) の機胜を確保するこずでした。

日垞の事故から安定性たで: 管理者の目から芋た Informatica 10
これが私たちが Informatica 開発者ずよく䌚った方法です

原因を究明するプロセスはさおおき、クラッシュの䞻な原因は、ネットワヌク環境の芳点から芋るず、Informatica ゜フトりェアず比范的離れたサヌバヌにあるリポゞトリ デヌタベヌスずの察話パタヌンでした。これにより遅延が発生し、Informatica ドメむンの状態を監芖するメカニズムが混乱したした。デヌタベヌスをチュヌニングし、Informatica のパラメヌタを倉曎しおデヌタベヌスの遅延に察する耐性を高め、最終的に Informatica バヌゞョンを 10.1 に曎新し、デヌタベヌスを以前のサヌバヌから Informatica に近いサヌバヌに転送した埌、問題は解消されたした。それ以来、私たちが芳察しおいないこの皮のクラッシュが発生しおいたす。

日垞の事故から安定性たで: 管理者の目から芋た Informatica 10
Informatica Monitor を動䜜させるための詊みの 1 ぀

管理コン゜ヌルの状況も危機的でした。比范的生産性の高い環境で積極的な開発が盎接行われおいたため、同僚はマッピングの䜜業ずワヌクフロヌを「倖出先」で垞に分析する必芁がありたした。新しい Informatica では、デヌタ統合サヌビスにはそのような監芖のための個別のツヌルはありたせんが、管理 Web コン゜ヌル (Informatica Administrator Monitor) に監芖セクションが衚瀺され、アプリケヌション、ワヌクフロヌ、マッピングの動䜜を監芖できたす。起動、ログ。定期的に、コン゜ヌルが完党に利甚できなくなったり、DIS 内の珟圚のプロセスに関する情報の曎新が停止したり、ペヌゞの読み蟌み時に゚ラヌが発生したりするこずがありたした。

日垞の事故から安定性たで: 管理者の目から芋た Informatica 10
パフォヌマンスを安定させるための Java パラメヌタの遞択

問題はさたざたな方法で修正され、パラメヌタを倉曎する実隓が実行され、ログず Jstack が収集されおサポヌトに送信され、同時に掻発なグヌグル怜玢ず単玔な芳察が行われたした。

たず、監芖甚に別の MRS が䜜成されたした。埌で刀明したように、これは、マッピングが非垞に集䞭的に起動されるため、環境内のリ゜ヌスの䞻な消費者の 1 ぀です。 Java ヒヌプおよびその他の倚数に関するパラメヌタヌが倉曎されたした。
その結果、次のアップデヌトである Informatica 10.1.1 たでに、コン゜ヌルずモニタヌの動䜜が安定し、開発者はより効率的に䜜業できるようになり、定期的なプロセスがたすたす定垞的に行われるようになりたした。

開発ず運営のやりずりの経隓は面癜いかもしれたせん。耇雑なシステムを䜿甚する堎合、物事がどのように機胜するか、䜕ができお䜕ができないかを䞀般的に理解するずいう問題は垞に重芁です。したがっお、最初に管理チヌムに゜フトりェアの管理方法をトレヌニングし、開発チヌムにコヌドの蚘述方法ずシステム内でのプロセスの描画方法をトレヌニングしおから、最初のチヌムず 2 番目のチヌムを結果に取り組むために掟遣するこずをお勧めしたす。時間が無限のリ゜ヌスではない堎合、これは非垞に重芁です。倚くの問題は、オプションをランダムに怜玢するだけでも解決できたすが、堎合によっおは先隓的な知識が必芁な堎合もありたす。私たちのケヌスは、この公理を理解するこずの重芁性を裏付けおいたす。

たずえば、MRS でバヌゞョン管理を有効にしようずしたずき (最終的には、別のバヌゞョンの SVN が必芁でした)、しばらくしおから、システムの再起動時間が数十分に増加しおいるこずに気づき、䞍安になりたした。開始が遅れた原因を特定し、バヌゞョン管理を無効にしたこずで、再びうたくいきたした。

Informatica に関連する泚目すべき障害には、成長する Java スレッドずの壮倧な戊いが含たれたす。ある時点で、レプリケヌション、぀たり確立されたプロセスを倚数の゜ヌス システムに拡匵する時期が来たす。 10.1.1 のすべおのプロセスが正垞に動䜜しおいるわけではないこずが刀明し、しばらくするず DIS が動䜜䞍胜になりたした。数䞇のスレッドが怜出され、その数はアプリケヌションの展開手順䞭に特に顕著に増加したした。機胜を埩元するために、XNUMX 日に数回再起動しなければならないこずもありたした。

ここでサポヌトに感謝する必芁がありたす。問題は EBF (緊急バグ修正) を䜿甚しお比范的早く特定され、修正されたした。その埌、誰もがこのツヌルが実際に機胜するこずを実感したした。

ただ機胜したす

タヌゲット モヌドで䜜業を開始するたでに、Informatica は次のようになっおいたした。 Informatica 10.1.1HF1 のバヌゞョン (HF1 は、EBF の耇合䜓からのベンダヌ アセンブリである HotFix1) に EBF が远加むンストヌルされおおり、GRID の䞀郚である 20 台のサヌバヌのうちの 86 台に、スケヌリングやその他の問題が修正されたす。64 xXNUMX_XNUMX コアロヌカル ディスクの巚倧な䜎速アレむ䞊のストレヌゞ - これは、Hadoop クラスタヌのサヌバヌ構成です。別の同様のサヌバヌである Oracle DBMS では、Informatica ドメむンず ETL 制埡メカニズムの䞡方が動䜜したす。これらすべおは、チヌム内で䜿甚される暙準監芖ツヌル (Zabbix + Grafana) によっお、Informatica 自䜓ずそのサヌビス、およびそこに入る読み蟌みプロセスの䞡方で監芖されたす。倖郚芁因を考慮せずに、パフォヌマンスず安定性の䞡方が負荷を制限する蚭定に䟝存するようになりたした。

それずは別に、GRID に぀いおも蚀えたす。この環境は 3 ぀のノヌド䞊に構築されおおり、負荷分散が可胜です。しかし、テスト䞭に、アプリケヌションの実行䞭のむンスタンス間の盞互䜜甚の問題により、この構成が期埅どおりに機胜しないこずが刀明したため、この構築スキヌムを䞀時的に攟棄し、3 ぀のノヌドのうち 2 ぀をドメむンから削陀するこずにしたした。同時に、スキヌム自䜓は同じたたであり、珟圚は正確に GRID サヌビスですが、1 ぀のノヌドに瞮退しおいたす。

珟時点では、モニタヌ回路を定期的にクリヌニングするずパフォヌマンスが䜎䞋するずいう問題が残っおいたす。CNN での凊理ずクリヌニングの実行が同時に行われるず、ETL 制埡メカニズムの動䜜に誀動䜜が発生する可胜性がありたす。この問題は珟圚、監芖回路を手動でクリアし、以前のデヌタをすべお倱うこずで「束葉杖ずしお」解決されおいたす。これは、通垞の日垞業務では生産性にずっおそれほど重芁ではありたせんが、珟時点では通垞の解決策の暡玢が進行䞭です。

これず同じ状況から別の問題が発生したす。制埡メカニズムが耇数回起動されるこずがありたす。

日垞の事故から安定性たで: 管理者の目から芋た Informatica 10
耇数のアプリケヌションの起動によりメカニズムの障害が発生する

スケゞュヌルに埓っお実行しおいる堎合、システムに倧きな負荷がかかるず、機構の故障に぀ながる状況が発生するこずがありたす。この問題は䟝然ずしお手動で修正されおおり、恒久的な解決策が暡玢されおいたす。

䞀般に、高負荷が発生した堎合、それに適切なリ゜ヌスを提䟛するこずが非垞に重芁であるず芁玄できたす。これは、Informatica 自䜓のハヌドりェア リ゜ヌスにも圓おはたり、デヌタベヌス リポゞトリにも同じこずが圓おはたりたす。たた、最適な蚭定を提䟛するこずも重芁です。圌らのために。さらに、別のホスト䞊に眮くか、Informatica ゜フトりェアが実行されるのず同じホスト䞊に眮くか、どちらのデヌタベヌス配眮スキヌムが優れおいるのかずいう疑問も残りたす。䞀方で、1 台のサヌバヌではコストが安くなり、組み合わせるこずにより、ネットワヌク盞互䜜甚で発生する可胜性のある問題が実質的に排陀され、他方で、デヌタベヌスからホストにかかる負荷が Informatica からの負荷によっお補われたす。

他の本栌的な補品ず同様に、Informatica にも面癜い瞬間がありたす。
か぀お、ある皮の事故を敎理しおいたずきに、MRS ログが奇劙なこずに出来事の時刻を瀺しおいるこずに気づきたした。

日垞の事故から安定性たで: 管理者の目から芋た Informatica 10
MRS ログの時間的二元性は「意図的に」

タむムスタンプは午前/午埌、぀たり正午前か午埌かを指定せずに、12 時間圢匏で蚘述されおいるこずがわかりたした。この件に関しおは申請曞も提出され、正匏な返答が埗られたした。これが意図したずおりであり、マヌクはたさに​​この圢匏で MRS ログに曞き蟌たれたす。぀たり、゚ラヌの発生時刻に関しお䜕らかの謎が残る堎合がありたす...

最高を目指しお努力する

珟圚、Informatica はかなり安定したツヌルであり、管理者ずナヌザヌにずっお䟿利であり、珟圚の機胜ず可胜性の点で非垞に匷力です。それは私たちの機胜䞊のニヌズを䜕倍も超えおおり、事実䞊、最も兞型的か぀兞型的ではない方法でプロゞェクトで䜿甚されおいたす。この問題の䞀郚はメカニズムの動䜜方法に関係しおいたす。具䜓的には、サヌバヌのハヌドりェア リ゜ヌスがほが完党に䜿甚される䞀方で、パラメヌタを集䞭的に曎新しおリポゞトリ デヌタベヌスを操䜜する倚数のスレッドが短期間に起動されるこずです。 CPUによる。

珟圚、Informatica 10.2.1 たたは 10.2.2 ぞの移行が近づいおおり、内郚メカニズムの䞀郚が䜜り盎され、珟圚抱えおいるパフォヌマンスず機胜の問題の䞀郚が解消されるようサポヌトが玄束されおいたす。たた、ハヌドりェアの芳点からは、ストレヌゞの成長ず発展による近い将来の予備を考慮しお、圓瀟にずっお最適な構成のサヌバヌが期埅されたす。

もちろん、テスト、互換性チェックが行われ、堎合によっおは HA GRID 郚分のアヌキテクチャ倉曎も行われたす。短期的にはシステムに代わるものを提䟛できないため、Informatica 内での開発は継続されたす。
そしお、将来このシステムの責任者ずなる人は、顧客が提瀺する必芁な信頌性ず性胜指暙を確実に達成できるでしょう。

この蚘事はロステレコムのデヌタ管理チヌムによっお䜜成されたした。

日垞の事故から安定性たで: 管理者の目から芋た Informatica 10
珟圚の Informatica ロゎ

出所 habr.com

コメントを远加したす