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

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

Recommended

ゼロから始める転移学習 by
ゼロから始める転移学習ゼロから始める転移学習
ゼロから始める転移学習Yahoo!デベロッパーネットワーク
13.1K views132 slides
継続的なモデルモニタリングを実現するKubernetes Operator by
継続的なモデルモニタリングを実現するKubernetes Operator継続的なモデルモニタリングを実現するKubernetes Operator
継続的なモデルモニタリングを実現するKubernetes OperatorYahoo!デベロッパーネットワーク
4.9K views35 slides
ヤフーでは開発迅速性と品質のバランスをどう取ってるか by
ヤフーでは開発迅速性と品質のバランスをどう取ってるかヤフーでは開発迅速性と品質のバランスをどう取ってるか
ヤフーでは開発迅速性と品質のバランスをどう取ってるかYahoo!デベロッパーネットワーク
1.2K views24 slides
オンプレML基盤on Kubernetes パネルディスカッション by
オンプレML基盤on Kubernetes パネルディスカッションオンプレML基盤on Kubernetes パネルディスカッション
オンプレML基盤on Kubernetes パネルディスカッションYahoo!デベロッパーネットワーク
2K views18 slides
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜 by
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜
オンプレML基盤on Kubernetes 〜Yahoo! JAPAN AIPF〜Yahoo!デベロッパーネットワーク
1.7K views35 slides

More Related Content

More from Yahoo!デベロッパーネットワーク

eコマースと実店舗の相互利益を目指したデザイン #yjtc by
eコマースと実店舗の相互利益を目指したデザイン #yjtceコマースと実店舗の相互利益を目指したデザイン #yjtc
eコマースと実店舗の相互利益を目指したデザイン #yjtcYahoo!デベロッパーネットワーク
2.2K views21 slides
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc by
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtcヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtcYahoo!デベロッパーネットワーク
1.9K views31 slides
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc by
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtcYahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtcYahoo!デベロッパーネットワーク
2.2K views24 slides
ビッグデータから人々のムードを捉える #yjtc by
ビッグデータから人々のムードを捉える #yjtcビッグデータから人々のムードを捉える #yjtc
ビッグデータから人々のムードを捉える #yjtcYahoo!デベロッパーネットワーク
1.8K views25 slides
サイエンス領域におけるMLOpsの取り組み #yjtc by
サイエンス領域におけるMLOpsの取り組み #yjtcサイエンス領域におけるMLOpsの取り組み #yjtc
サイエンス領域におけるMLOpsの取り組み #yjtcYahoo!デベロッパーネットワーク
2.1K views28 slides
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc by
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtcヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtcYahoo!デベロッパーネットワーク
2.1K views30 slides

More from Yahoo!デベロッパーネットワーク(20)

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