10000ノードを超える Hadoop YARN クラスターでスケールアウトを維持するための方法を Linkedin が投稿。Azure への移行も検討

投稿: 2021年09月17日
タグ: 
  Analytics/ML  クラウド  ニュースネタ

Linkedin はエンジニアリングブログで Linkedin が抱える巨大な Hadoop クラスターの状況とスケールを支える方法について、記事を投稿しました。

Hadoop クラスターのノード数もオブジェクト数も年々倍に

投稿されたブログによると、Linkedin の Hadoop クラスターは毎年2倍のペースで大きくなっており、 最も大きなものは 10000ノードを超える Hadoop YARN クラスターになっているとのことです。

次のチャートには Y軸のラベルがないため定量的なサイズは不明ですが、2015年から継続的に Name Node のオブジェクト数、HDFS のデータサイズ、コンピュート時間も大幅に増加していることが見て取れます。

画像_2021-09-17_a.jpg

ブログ内ではこれまでの運用の中で発生したパフォーマンストラブル対処について幾つか記載されています。

複数の Hadoop クラスターをマージしてジョブを実行したところ、一部の処理で数時間の遅延が発生し、原因を調査すると特定のキューで遅延が発生しており、それはスケジューラーによるキューの選択によって発生していたそうです。 Linkedin はスケジューリングで使用率に基づく Capacity Scheduler を使用していたが、スケジューリング自体がボトルネックになっていたとのことです。 対処として、スケジューリングをランダム選択(使用率に基づかない) にして事象が軽減され、その後 Hadoop YARN にパッチ提供したとのことです。
上記の事象は4000ノードと2000ノードのクラスターをマージした際にのみ発生したとのことで(スケジューリングの問題というのはありえますが) 同じ事象になるのは一般的な話ではないですが、 この規模のレベルで運用・機能改善されてることが垣間見えます。

10000ノードを超える Hadoop クラスターの Azure への移行を検討

Linkedin は Microsoft に買収された後の 2019年7月にインフラを Azure に移行することを発表しており、10000ノードを超える Hadoop YARN クラスターについても Azure に移行することを検討しているようです。
これだけの規模になると Managed サービス(Azure HDInsight) ではなくクラウドをインフラ(VMやContainer Instance) として使う構成になると思いますが、実現すれば大きな Use case になりそうです。