2020年のApache Hadoop振り返り
Apache Hadoopについて、2020年にどんなことがあったのかざっくりと振り返りたいと思います。Advent Calendar枠です(大遅刻)。
Distributed computing (Apache Spark, Hadoop, Kafka, ...) Advent Calendar 2020 - Qiita
Apache Ozoneが分離
オブジェクトストレージを担当するOzoneはすでにHadoop本体のソースコードからは分離されていましたが、新規のTLP(Top-Level Project)としてスピンオフしました。2019年にApache SubmarineがTLPになったのを見て、Ozoneもいずれそうなると思っていたので個人的には特に驚きはないです。プロジェクトが分離すると具体的に何が起こるかというと、committerやPMCなどが別々になります(他にもあるけど)。よって、私はOzoneのrepositoryのコミット権を失いました。もし欲しくなるような事情があったらどんどんcontributeしていこうと思います。ちなみに今年Hadoop PMC Chairに就任したWei-Chiu Chuangさんの発言が面白かったので載せておきます。Hadoopからのスピンオフ、大量にありますね。返信にある通りHadoop自体もLuceneからのスピンオフなのですが。
Things I learned today: HBase, Zookeeper, Pig, Hive, Avro, Chukwa were all Hadoop subprojects at one point (and of course, Submarine and Ozone). That completely changed my perspective on this projects. Wow!
— Wei-Chiu Chuang (@jojochuang) November 9, 2020
Hadoop 3.3.0のリリース
今年のminorリリースは1回だけでした。かなりの機能追加やバグ修正が入っていて、弊社の本番環境でもいくつかパッチを当てて使っています。来年はもっとリリースしていきたいですね。Hadoop 3.3.0の個人的な見どころはJava 11対応とARM対応だと思っています。特にARM対応については、まだApple Siliconで動かせる状態ではないですが、AWSのGravitonとかだとすでに普通に動かせると思います。ARM対応とARM版バイナリリリースについてはHuaweiの方々が気合を入れて頑張っていました。今年オンライン開催されたApacheCon @ Home 2020でのHadoop on ARMに関する発表動画を載せておきます。ベンチマークの結果が興味深いです。
中国勢のさらなる台頭
数年前にどこかでHuaweiのcontributionが凄いと書いたことがあるのですが、今はHuaweiだけではなく中国の様々な企業からのcontributionを受けてApache Hadoopは日々開発されています。YARNについてはあまり詳しくないのですが、HDFSについてはHuawei, Tencent, ByteDance, DiDi, Xiaomiなどの企業に所属する方々が活発にcontributeし続けています。特に大規模環境におけるバグ報告 & 修正や性能改善に関する貢献が大きく、我々のチームでも非常に注目しています。ちなみにTencentはOzoneのビッグユーザでもあります。
また、ここ1年くらいApache Hadoop community sync-upというオンラインミーティングがやや不定期に開催されているのですが、Englishの回よりもMandarinの回のほうが参加者が多い状況です。自分も少なくとも中国語で書かれたスライドは自由に読めるようになりたいと思って勉強しはじめました。
R.I.P S3Guard
これは突然過ぎてほんと驚きました。S3Guardという、S3に一貫性が付いた状態で使えるようにする機能がHadoopコミュニティで開発されていたのですが、これは完全に不要になりました。まだHadoopのソースコードにS3Guardは残っていますが、いずれ削除されるでしょう。
[HADOOP-17409] Remove S3Guard - no longer needed - ASF JIRA
とはいえ、後発のAzure Data Lake Gen.2はすでにread-after-write consistencyをサポートしているため、S3はそれに追いついたというべきだと思います。また、Apache HBaseコミュニティで開発されているディレクトリのrenameもatomicに扱えるHBossのようなものは今のS3においてもまだ必要ではないかなと思います。(違ってたら教えてください
最後に
日本でもLINEとClouderaが提携したり、ヤフーの本番環境がApache Hadoop 3.3.0になったり、PFNの方々がOzoneを検証していたりなど、実はいろんなことが起こっています。2021年の2月ごろにHadoopソースコードリーディングを久しぶりにやろうかなと思っているので、何か話したい方はTwitterか何かで連絡ください! 実のところはもっと早く開催したかったのですが、各種イベントの発表やら自社のAdvent Calendarやら自社のTechConfやらで立て込んでいました。
みなさま良いお年を!