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.

SparkをRESTfulに利用できるApache Livyを導入した話 #hcj2019 #ApacheSpark #ApacheLivy

861 views

Published on

2019年3月14日開催された Hadoop / Spark Conference Japan 2019 のライトニングトークで発表した資料です。
Apache SparkをAPI経由でRESTfulに利用できるApache Livyをプロダクション環境に導入した話になります。
Apache Livyを入れることで、jupyterやAirflowなど他のシステムとの連携も簡単にすることが可能になります。
https://hcj2019.eventbrite.com/

Published in: Technology
  • Be the first to comment

SparkをRESTfulに利用できるApache Livyを導入した話 #hcj2019 #ApacheSpark #ApacheLivy

  1. 1. SparkをRESTfulに利用できる Apache Livyを導入した話 Hadoop / Spark Conference Japan 2019 ヤフー株式会社 植草 智輝
  2. 2. 自己紹介 経歴/利用技術 • 2016-2018 : コマース系データETL & OLAP基盤開発 • Hive on Tez (ETL) • Apache Kylin/Apache HBase (OLAP) • Apache Airflow (Workflow Engine) • 2018-2019 : 全社HadoopクラスタのDevOps • Apache Hadoop全般 (運用/改善) • Apache Spark (推進) • Apache Livy (検証/導入) 趣味 • 海外ドラマ鑑賞 データ&サイエンスソリューション統括本部 データプラットフォーム本部 グリッド部 HadoopDevOps 植草 智輝 @tmk_ueks 2
  3. 3. Agenda • Apache Livyの紹介 • 導入モチベーション • 冗長化(HA)の苦労話 • まとめ 3
  4. 4. Apache Livy • ClouderaとMicrosoftが開発したOSS • SparkをRESTfulに利用できるAPIサーバー • Amazon EMR, Microsoft HDInsight, IBM Cloudなどで利用可能 • REST APIを利用して柔軟にSparkの実行が可能 • 現在はApacheのincubatorプロジェクト • 最新verは0.5.0 4
  5. 5. 導入のモチベーション • もっと柔軟にSparkを利用できるようにして、外部システムとの連携性を高めたい • マルチテナント環境でSparkジョブの安全に行いたい(設定値の制限など) • Jupyter/Zeppelinなどのインタラクティブなノートブックを使いたい 5
  6. 6. Yahoo! JAPANのクラスタコンポーネント API HiveServer2 Oozie HttpFS Query Processing Hive Pig SparkSQL Execution Engine Tez MapReduce Spark Resource Management YARN File System HDFS 6
  7. 7. Yahoo! JAPANのクラスタコンポーネント API HiveServer2 Oozie Livy HttpFS Query Processing Hive Pig SparkSQL Execution Engine Tez MapReduce Spark Resource Management YARN File System HDFS 7
  8. 8. 構成 (導入検討中…) LB Livy Server HDFS Driver YARN Executor Executor Executor Executor Zookeeper Hadoopクラスタ Kerberos Livy Server Livy Server 8
  9. 9. 苦労1: 認証 LB Livy Server HDFS YARN ZookeeperKerberos Livy Server Livy Server spnego Driver Executor Executor Executor Executor 9 ✖ ✖ Hadoopクラスタ
  10. 10. 苦労2: セッション情報 LB Livy Server HDFS YARN Zookeeper Hadoopクラスタ Kerberos Livy Server Livy Server 上書き 書き込み ID:13 ID:13 ID:12 書き込み Driver Executor Executor Executor Executor 10
  11. 11. LIVY-11 11
  12. 12. LIVY-11 12
  13. 13. 結論 : 構成 LB Livy Server HDFS Driver YARN Executor Executor Executor Executor Zookeeper Hadoopクラスタ Kerberos Livy Server Ambari オートリスタート 13
  14. 14. • SparkジョブがLivy経由でされるようになった • 運用側が設定値の制限などをかけられるため、安全性が増した • 特別な設定が不要となり、クライアント側の負担が減った • ワークフローエンジンなどの外部システムとの連携もしやすくなった • 各自のJupyter/ZeppelinからSparkを利用可能になった • notebookの恩恵を受けれるようになった(データの視認性など) • 分析/検証/ジョブ開発などのサイクルが早くなった • Sparkの利用者が増えた 導入後 14
  15. 15. まとめ • SparkをRESTfulなサービスとして、柔軟な実行が可能になる • Jupyter/Zeppelinなどのnotebookの恩恵を受けれる • 頑張って冗長構成を取ろうとすると、苦労する • 公式での対応がまだされていない(時間取れたら対応します。) • 負荷分散が出来ない • (YJの環境だと)Kerberos認証周りで特殊な設定が必要だった 15

×