Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

データ活用を効率化するHadoop WebUIと権限管理改善事例

1,327 views

Published on

データを利用するユーザは、増え続けるデータを高速かつ効率的に利用したいと考えています。その一方で、長く利用された仕組みが、そのニーズを満たすにはコストがかかり過ぎる場合があります。
本講演では、ドワンゴのHadoopを用いた分析基盤が、このようなニーズに応えるために、どのように社内ユーザ向けWeb UIとHadoop権限管理を一新したのかを紹介します。

Published in: Data & Analytics
  • Be the first to comment

データ活用を効率化するHadoop WebUIと権限管理改善事例

  1. 1. データ活用を効率化する Hadoop WebUIと権限管理改善 事例 株式会社ドワンゴ 基盤開発本部 木浦 正博
  2. 2. 自己紹介 • 木浦正博, Masahiro Kiura • 株式会社ドワンゴ/基盤開発本部 • ソフトウェアエンジニア • 2015年01月入社 • I ❤️ • 分散システム • パラメータチューニング • Linux • Python • Splatoon DWANGO Co., Ltd. all rights reserved. 2
  3. 3. 会社紹介 株式会社ドワンゴ • カドカワグループ • ニコニコ動画、ニコニコ生放送を はじめとするニコニコ事業を展開 • N高等学校 2016年04月開校 • 闘会議2017開催 DWANGO Co., Ltd. all rights reserved. 3 項目 データ 登録者数 約5,755万人 プレミアム会員数※ 約256万人 MAU 約866万人 ※プレミアム会員とは? 月額540円にて、専用回線での快適な視聴や、 生放送の優先視聴ほか様々な特典を受けられます ※2016年06月30日時点のデータです ユーザ数情報
  4. 4. Agenda データ活用を効率化するHadoop WebUIと権限管理改善事例 • ドワンゴの分析基盤とそのWebUIの紹介 • WebUI/権限管理の課題 • 課題を解決するソリューション • WebUIと権限管理の移行 • Pig UDFライブラリの移行 • Hue周りのドキュメント作成 • HDFS ACLの導入 • データ閲覧権限管理WebUIの作成 • 移行時のその他の課題 • 移行前後の構成 • 移行により得られたメリット • まとめ DWANGO Co., Ltd. all rights reserved. 4
  5. 5. ドワンゴの分析基盤とそのWebUIの紹介 • 利用用途 • 分析(UU, PV, etc..) • リコメンデーション等 • ワークロード • Pigが80〜90% • 残りはSpark, Hive, etc.. • 利用ユーザ(社内) • 連携システム 5+ • Pigユーザ(人間) 200+ • 技術者 約20% • 非技術者 約80% DWANGO Co., Ltd. all rights reserved. 5 2016年11月現在、利用コンポーネントは、 Hive, Hue, Yarn, Oozie, Pig, Spark, etc.. date CM version CDH version 2013/12- N/A 3u0 2014/03- N/A 4.3.0 2015/05- 5.4.1 5.4.1 2016/07- 5.7.1 5.7.1 w/patch 2016/10- 5.8.2 5.8.2 CDHアップデート情報 日中帯に基盤のリソースの多くを Pigユーザ(人間)が WebUIを通じて利用している
  6. 6. ドワンゴの分析基盤とそのWebUIの紹介 • WebUIの概要 • 2014年頃から運用、自社開発 • ブラウザを通じて、ユーザがPig/MRを実行 • WebUIの機能 • ローカル/HDFSのディレクトリ操作機能 • Pig/MRの即時/予約実行機能, 実行ログ閲覧機能 • Pigスクリプト編集・文法チェック機能 • クラスタのワークロード表示機能 • 管理者機能 ユーザのHDFS上のデータ閲覧権限管理機能 DWANGO Co., Ltd. all rights reserved. 6
  7. 7. ドワンゴの分析基盤とそのWebUIの紹介 ローカル/HDFSのディレクトリ操作機能 DWANGO Co., Ltd. all rights reserved. 7 WebFrontのローカルファイルシステム HDFS WebFrontのローカルファイル システムにアップロードした 実行ファイルで、 対象のデータを読み込み、 HDFSに結果を出力する
  8. 8. ドワンゴの分析基盤とそのWebUIの紹介 Pig/MRの即時/予約実行機能, 実行ログ閲覧機能 DWANGO Co., Ltd. all rights reserved. 8 実行ログ閲覧機能 Pig/MRの即時/予約実行
  9. 9. ドワンゴの分析基盤とそのWebUIの紹介 Pigスクリプト編集・文法チェック機能 DWANGO Co., Ltd. all rights reserved. 9 ソースコードエディタ 文法チェック結果表示
  10. 10. ドワンゴの分析基盤とそのWebUIの紹介 クラスタのワークロード表示機能 DWANGO Co., Ltd. all rights reserved. 10
  11. 11. ドワンゴの分析基盤とそのWebUIの紹介 DWANGO Co., Ltd. all rights reserved. 11 利用ユーザのHDFS上のデータ閲覧権限管理機能 • 各ユーザがアクセスできるデータの権限を管理 • Hadoopの標準的な権限管理ではなく、完全な独自実装 • 詳細については割愛
  12. 12. WebUI/権限管理の課題 • ユーザ側の要望 • Pig/MR以外を実行したい • 実行完了通知がほしい • より直感的なUIを利用したい • etc.. DWANGO Co., Ltd. all rights reserved. 12 • 管理者側の課題 メンテナンス性が低くなってしまったコード ベースのため、 • Bug Fixを入れる保守コストが高い • 新しいHadoopコンポーネントを 提供するにも開発コストが高い • 業務フロー変更による、WebUIの 変更コストが高い • Hadoopの標準的な権限管理を 取り入るための開発コストが高い 新機能提供や改善を 行ってほしい 開発/運用/保守 何をするにもコスト大
  13. 13. 課題を解決するソリューション • HueのFit&Gapを実施 • Hue+データ閲覧権限管理WebUIにより解決できる • Pig/MRなどの実行はCDHのHueを利用 • データ閲覧権限の申請・承認等はWebUIを新規開発 • 同時に、独自の権限管理からHDFS ACLへ移行 DWANGO Co., Ltd. all rights reserved. 13
  14. 14. WebUIと権限管理の移行 • Pig UDFの移行 • ユーザはWebFrontのローカルファイルシステム上のUDFを利用していた • ローカルファイルシステムへの依存をなくし、 Hueへの移行をスムーズに • HDFS上にローカルファイルシステム同様のUDFを準備 • ユーザへUDFの変更依頼をアナウンス DWANGO Co., Ltd. all rights reserved. 14 例: REGISTER ‘/path/to/datafu.jar’; ↓ REGISTER ‘/path/to/hdfs/datafu.jar’;
  15. 15. WebUIと権限管理の移行 • Hue周りのドキュメント作成 • ユーザは非技術者がほとんど • ClouderaやApache Software Foundationの英語ドキュメント だけでは対応できない • Hueから以下を利用する方法について日本語で解説 • Query Editor • Oozie Workflow/Coodinator/Bundle • File Browser • Job Browser • その他 (FAQ, トラブルシューティング, etc..) DWANGO Co., Ltd. all rights reserved. 15
  16. 16. WebUIと権限管理の移行 • HDFS ACLの導入 • HDFS ACLとは? • POSIXベースのPermissionだけではなく POSIXベースのACLを用いてHDFSのアクセス制御を 柔軟に行うための仕組み DWANGO Co., Ltd. all rights reserved. 16 $ hdfs dfs -getfacl /path/to/dir_or_file # file: /path/to/dir_or_file # owner: hadoop # group: supergroup user::rwx user:user1:r-x user:user2:rwx group::r-x mask::r-x other::--- ←user1は読み取り権限あり ←user2は読み書き権限あり
  17. 17. WebUIと権限管理の移行 • HDFS ACLの導入 • HDFS ACLとは? • POSIXベースのPermissionだけではなく POSIXベースのACLを用いてHDFSのアクセス制御を 柔軟に行うための仕組み DWANGO Co., Ltd. all rights reserved. 17 $ hdfs dfs -setfacl -m user:user1:rwx /path/to/dir_or_file $ hdfs dfs -getfacl /path/to/dir_or_file # file: /path/to/dir_or_file # owner: hadoop # group: supergroup user::rwx user:user1:rwx user:user2:rwx group::r-x mask::r-x other::--- ←user1は読み書き権限あり ←user2は読み書き権限あり
  18. 18. WebUIと権限管理の移行 • HDFS ACLの導入 • 1つのHDFS ディレクトリに対して 200+のユーザのACLエントリーを追加 • HDFSの仕様として、ACLエントリーは32まで😢 https://issues.apache.org/jira/secure/attachment/12627729/HDFS-ACLs-Design-3.pdf DWANGO Co., Ltd. all rights reserved. 18 $ hdfs dfs -setfacl -m user:user1:rwx /path/to/dir_or_file $ hdfs dfs -setfacl -m user:user2:rwx /path/to/dir_or_file $ … $ hdfs dfs -setfacl -m user:user33:rwx /path/to/dir_or_file Error setfacl: Invalid ACL: ACL has 33 entries, which exceeds maximum of 32.
  19. 19. WebUIと権限管理の移行 • HDFS ACLの導入 • ユーザ毎に参加するグループを変え、 グループのACLをHDFSディレクトリにかける • NNのOSユーザ・グループを増やし続けた場合、 該当するHDFSディレクトリの読み書き性能が低下する DWANGO Co., Ltd. all rights reserved. 19 ユーザ1 グループ1(HDFSディレクトリ1を参照可能) ユーザ2 グループ2(HDFSディレクトリ2を参照可能) ユーザ3 グループ3(HDFSディレクトリ3を参照可能) … … グループ所属関係
  20. 20. WebUIと権限管理の移行 • HDFS ACLの導入 • HadoopでのGroupの管理 • ShellBasedUnixGroupsMapping OSユーザ・グループの関係により、 HDFSユーザ・グループの関係を管理 • LdapGroupsMapping LDAP上のユーザ・グループの関係により、 HDFSユーザ・グループの関係を管理 DWANGO Co., Ltd. all rights reserved. 20 HA Proxy/LDAPを導入しユーザ・グループの紐付けを管理して解決👍
  21. 21. WebUIと権限管理の移行 • データ閲覧権限管理WebUIの作成 • WebUI自体の以下の情報はMySQLで管理 • ユーザ情報 • 権限申請情報 • etc.. • WebUIが管理するLdapGroupsMappingの情報はLDAPで管理 • ユーザ情報 • グループ情報 • ユーザ・グループの紐付け情報 DWANGO Co., Ltd. all rights reserved. 21
  22. 22. WebUIと権限管理の移行 • 移行時のその他の課題 • HUE-3822/HUE-4061/HUE-3821 Hue上からPigの実行中/実行完了後にPig実行ログが閲覧できない問題 • HUE-4113 Pig appへのアクセス権のみを持つHueユーザが Hueページにアクセスできない問題 DWANGO Co., Ltd. all rights reserved. 22 どちらの課題もCDH5.7.1で発生していましたが、 Clouderaよりパッチを提供いただき短期間で解消しました🎉
  23. 23. WebUIと権限管理の移行 • 移行前後の構成 DWANGO Co., Ltd. all rights reserved. 23 旧WebUI ユーザ 移行前 NN/RM/Zk/etc.. DN/NM DN/NM DN/NM Hadoopクラスタ …
  24. 24. WebUIと権限管理の移行 • 移行前後の構成 DWANGO Co., Ltd. all rights reserved. 24 Hue ユーザ 権限管理WebUI HAProxy/LDAP 移行後 NN/RM/Zk/etc.. DN/NM DN/NM DN/NM Hadoopクラスタ …
  25. 25. 移行により得られたメリット • Hadoop周りのWebUI開発・保守コストはほぼ0 • Hueに移行したため、この部分の開発・保守コストがほぼ0 • 運用コストも、ユーザからのQA対応とそれに伴う調査のみ • Hueは、CDHのアップグレードにより新機能・Bug Fixを提供できる • 権限管理周りのWebUIのコストが主 • Hueを通じてSparkを5人日以下の工数で提供 • 旧WebUIの場合、1人月以上かかった開発 • Hueでは5人日以下の稼働で提供 • 内訳は、動作確認とドキュメント作成 DWANGO Co., Ltd. all rights reserved. 25
  26. 26. まとめ • 自社開発のWebUIと権限管理の紹介 • 上記により発生した課題とそのソリューション • ユーザ/管理者両者の課題 • HueとHDFS ACLを用いた権限管理WebUIの移行 • HDFS ACLの導入ポイント • 権限管理WebUIの作成 • 移行によって得られたメリット • Hadoop WebUI周りのコスト削減 • 新機能の早期提供 DWANGO Co., Ltd. all rights reserved. 26 Splatoonは任天堂の商標です。Hadoop, Hive, Pig, Spark and Oozie are either registered trademarks or trademarks of the Apache Software Foundation in the United States and other countries. Cloudera and Hue are trademarks of Cloudera, Inc. Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries. Python is a registered trademark of the PSF.
  27. 27. DWANGO Co., Ltd. all rights reserved. 27
  28. 28. We’re hiring ! ドワンゴでは、Hadoop環境をよりモダンに 変えることができるエンジニアを募集しています!

×