linotice

linotice

2018.06.20

「トップカンファレンス参加支援制度」を活用し、世界に論文デビューするエンジニアたち【Hadoopアップグレード自動化編】

データ&サイエンスソリューション統括本部 データプラットフォーム本部 安達 寛之の画像

ヤフーが世界トップレベルのインターネット技術に関するカンファレンスや先端のテックイベントへの参加を、会社として奨励・支援する「トップカンファレンス参加支援制度」。
第2回となる今回はこの制度を活用して、Hadoopの運用手法を海外で発表したエンジニアを紹介します。

実稼働のHadoop環境で無停止アップグレードを自動化

ヤフーの「トップカンファレンス参加支援制度」は研究者だけでなく、事業部門のエンジニアも対象としています。オープンソースソフトウエアのビッグデータ処理基盤技術に関する最大規模の会議として知られる「Apache Big Data 2017」に論文が採択された安達寛之は、2016年の新卒入社です。

▲ データ&サイエンスソリューション統括本部 データプラットフォーム本部 安達 寛之

安達の論文タイトルは「Automation of Rolling Upgrade of Hadoop Cluster without Data Lost and Job Failures」。日本語に意訳すれば、「Hadoopの機能アップグレード作業をデータのロスがないようにしながら、自動かつ無停止で実施するための技法」ということです。

「Hadoopは大規模データの分散処理基盤であり、ヤフーのHadoopクラスタでは、1日あたり数万件の分析処理が実行され、クラスタには数十PB(ペタバイト)ものデータが保存されています。過去のアップグレードでは、長時間クラスタが完全停止するため、数万規模のジョブが停止したり、データにアクセスできなくなったりと、ビジネス面でも大きな影響が出ます。

また、手動でのアップグレード作業では多くの運用コストがかかるという課題もありました。これを、分析処理やデータの読み書きに影響が出ないようにさまざまなチェックを行いながら、ローリングアップグレード(システムを完全には停止させずに更新を行う方法)するように変更します。

その作業をAnsibleという自動化ツールに落とし込んだことで、アップグレードを社内のエンジニアなどに影響を与えず、かつ運用工数を大きく削減しながら達成することができました」

安達の論文は、こうした自動化・無停止アップグレード手法をヤフーで実稼働しているHadoop環境に適用した結果をもとに書かれています。

「ローリングアップグレード自体は、いま使っているHadoopに備わっている管理機能(Apache Ambari)でほとんどできるのですが、その管理ツールが想定しているクラスタ構成と、ヤフーで実際に使われているクラスタ構成はかなり違います。管理ツールにすべてを任せてしまうと、何らかの不具合が生じるリスクがあります。

そこで、私たちはローリングアップグレードを自分たちでコントロールできるようにAmbariのオペレーションを拡張するスクリプトを新たに書き、さらにこの一連の作業をAnsibleで自動化することで、運用コストの大幅な削減につなげることに成功したのです」

これまでのアップグレード作業では12時間×10人=120時間分の運用コストがかかっていました。アップグレード作業中は社内のエンジニアなどが利用できなくなるので、各ビジネスユニットで日程や作業の調整が必要となり、これだけでも数週間かかっていたといいます。アップグレード作業が終わった後も、ジョブの実行手順を再整理する必要があり、これもまた面倒でした。

ところが、無停止アップグレードの自動化を行うと、人が始終貼り付く必要がなく、運用コストは5分の1に削減されました。当然、ビジネスサイドも通常業務を止める必要がないのです。

「一番喜んでくれたのは私の入社前、前回のアップグレードを経験していた、先輩のHadoopエンジニアたちでした」

これでアップグレード作業の間も家でぐっすり眠れる。安達の成果は、いわばエンジニアの働き方の改善にもつながっているのです。

安達の大学院時代の研究テーマは、「人と人のコミュニケーション支援」。ビッグデータ領域も、HadoopなどのOSSに触れたのもすべて入社後のことです。学生時代に国際学会での論文発表経験はあったが、「Apache Big Data」に参加するためにマイアミに行ったのは、初めてのアメリカ渡航でした。

トップカンファレンスにあたって900ワードの要旨(アブストラクト)を提出。それが採択されると、技術の全体像を英語で口頭発表し、参加者からの質疑にも対応しました。

「国内の発表会に出ても、ヤフーと同程度の規模のHadoop環境を運用している企業の発表事例はそう多くありません。しかし、国際会議に出ると大規模システムの運用についてさまざまな発表が行われます。
実際、大規模Hadoop環境の無停止アップグレードに関しては、私たちと似たような発表が別の企業からあり、その発表者とも交流をもつことができました。それが、自分たちがやってきたことは間違っていないという確信につながりました」と、語る安達。

今後も無停止自動化アップグレードの技術を磨き、機会があればさらにトップカンファレンスで論文発表して、その成果を社内に還元したいと話しています。

次回は「ACL(Annual Meeting of the Association for Computational Linguistics)」で自然言語処理の論文を発表した小林隼人の研究内容を紹介します。


◆おすすめ関連記事
トップカンファレンス参加支援制度」を活用し、世界に論文デビューするエンジニアたち【最先端スマホUI編】
「トップカンファレンス参加支援制度」を活用し、世界に論文デビューするエンジニアたち【自然言語処理編】

採用情報 公式SNSアカウント

このページの先頭へ