SlideShare una empresa de Scribd logo
1 de 15
Descargar para leer sin conexión
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

Más contenido relacionado

Más de Yahoo!デベロッパーネットワーク

ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtcヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtcYahoo!デベロッパーネットワーク
 
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtcYahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtcYahoo!デベロッパーネットワーク
 
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtcヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtcYahoo!デベロッパーネットワーク
 
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtcYahoo!デベロッパーネットワーク
 
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtcPC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtcYahoo!デベロッパーネットワーク
 
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtcモブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtcYahoo!デベロッパーネットワーク
 
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtcユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtcYahoo!デベロッパーネットワーク
 
ライフステージの変化の中で エンジニア管理職として働くコツ #devsumi A-5
ライフステージの変化の中で エンジニア管理職として働くコツ #devsumi A-5ライフステージの変化の中で エンジニア管理職として働くコツ #devsumi A-5
ライフステージの変化の中で エンジニア管理職として働くコツ #devsumi A-5Yahoo!デベロッパーネットワーク
 
Yahoo! JAPANを支えるログ・メトリクス転送システムのE2Eモニタリングの取り組み
Yahoo! JAPANを支えるログ・メトリクス転送システムのE2Eモニタリングの取り組みYahoo! JAPANを支えるログ・メトリクス転送システムのE2Eモニタリングの取り組み
Yahoo! JAPANを支えるログ・メトリクス転送システムのE2Eモニタリングの取り組みYahoo!デベロッパーネットワーク
 

Más de Yahoo!デベロッパーネットワーク (20)

eコマースと実店舗の相互利益を目指したデザイン #yjtc
eコマースと実店舗の相互利益を目指したデザイン #yjtceコマースと実店舗の相互利益を目指したデザイン #yjtc
eコマースと実店舗の相互利益を目指したデザイン #yjtc
 
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtcヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
ヤフーを支えるセキュリティ ~サイバー攻撃を防ぐエンジニアの仕事とは~ #yjtc
 
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtcYahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
Yahoo! JAPANのIaaSを支えるKubernetesクラスタ、アップデート自動化への挑戦 #yjtc
 
ビッグデータから人々のムードを捉える #yjtc
ビッグデータから人々のムードを捉える #yjtcビッグデータから人々のムードを捉える #yjtc
ビッグデータから人々のムードを捉える #yjtc
 
サイエンス領域におけるMLOpsの取り組み #yjtc
サイエンス領域におけるMLOpsの取り組み #yjtcサイエンス領域におけるMLOpsの取り組み #yjtc
サイエンス領域におけるMLOpsの取り組み #yjtc
 
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtcヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
ヤフーのAIプラットフォーム紹介 ~AIテックカンパニーを支えるデータ基盤~ #yjtc
 
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtcYahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
Yahoo! JAPAN Tech Conference 2022 Day2 Keynote #yjtc
 
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
新技術を使った次世代の商品の見せ方 ~ヤフオク!のマルチビュー機能~ #yjtc
 
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtcPC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
PC版Yahoo!メールリニューアル ~サービスのUI/UX統合と改善プロセス~ #yjtc
 
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtcモブデザインによる多職種チームのコミュニケーション改善 #yjtc
モブデザインによる多職種チームのコミュニケーション改善 #yjtc
 
「新しいおうち探し」のためのAIアシスト検索 #yjtc
「新しいおうち探し」のためのAIアシスト検索 #yjtc「新しいおうち探し」のためのAIアシスト検索 #yjtc
「新しいおうち探し」のためのAIアシスト検索 #yjtc
 
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtcユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
ユーザーの地域を考慮した検索入力補助機能の改善の試み #yjtc
 
The potential of Kubernetes as more than just an infrastructure to deploy
The potential of Kubernetes as more than just an infrastructure to deployThe potential of Kubernetes as more than just an infrastructure to deploy
The potential of Kubernetes as more than just an infrastructure to deploy
 
Yahoo! ニュースにおける ドキュメント管理の事例紹介
Yahoo! ニュースにおけるドキュメント管理の事例紹介Yahoo! ニュースにおけるドキュメント管理の事例紹介
Yahoo! ニュースにおける ドキュメント管理の事例紹介
 
ライフステージの変化の中で エンジニア管理職として働くコツ #devsumi A-5
ライフステージの変化の中で エンジニア管理職として働くコツ #devsumi A-5ライフステージの変化の中で エンジニア管理職として働くコツ #devsumi A-5
ライフステージの変化の中で エンジニア管理職として働くコツ #devsumi A-5
 
ユーザー情報格納基盤におけるApache Pulsarの利用事例
ユーザー情報格納基盤におけるApache Pulsarの利用事例ユーザー情報格納基盤におけるApache Pulsarの利用事例
ユーザー情報格納基盤におけるApache Pulsarの利用事例
 
Yahoo! JAPANを支えるログ・メトリクス転送システムのE2Eモニタリングの取り組み
Yahoo! JAPANを支えるログ・メトリクス転送システムのE2Eモニタリングの取り組みYahoo! JAPANを支えるログ・メトリクス転送システムのE2Eモニタリングの取り組み
Yahoo! JAPANを支えるログ・メトリクス転送システムのE2Eモニタリングの取り組み
 
Apache Pulsarのデモ
Apache PulsarのデモApache Pulsarのデモ
Apache Pulsarのデモ
 
Apache Pulsarの概要と近況
Apache Pulsarの概要と近況Apache Pulsarの概要と近況
Apache Pulsarの概要と近況
 
KafkaとPulsar
KafkaとPulsarKafkaとPulsar
KafkaとPulsar
 

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