20
AmbariでStreamをデプロイ (stormです) ヤフー株式会社 データプラットフォーム本部開発1部 川畑 勝次 2016年04月28日

AmbariでStreamをデプロイ #ambarimeetup

  • Upload
    yahoo

  • View
    370

  • Download
    0

Embed Size (px)

Citation preview

Page 1: AmbariでStreamをデプロイ #ambarimeetup

AmbariでStreamをデプロイ(stormです)

ヤフー株式会社 データプラットフォーム本部開発1部

川畑 勝次

2016年04月28日

Page 2: AmbariでStreamをデプロイ #ambarimeetup

自己紹介

Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止2

氏名川畑 勝次

業務データ処理基盤開発(インフラ担当)Ambari歴:6ヶ月ぐらい

ひとこと子供2人に振り回されてます

Page 3: AmbariでStreamをデプロイ #ambarimeetup

Why Ambari ?

Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止3

Page 4: AmbariでStreamをデプロイ #ambarimeetup

Why Ambari ?

Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止4

初心者でも簡単に構築サーバを用意すればマニュアルをみながら簡単に環境が用意できるので開発・検証の工程により早く入れる

Page 5: AmbariでStreamをデプロイ #ambarimeetup

Why Ambari ?

Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止5

今後の成長に期待継続的にcommitされているので改善が期待できる

Page 6: AmbariでStreamをデプロイ #ambarimeetup

デプロイについて

Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止6

Page 7: AmbariでStreamをデプロイ #ambarimeetup

デプロイの流れ

Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止7

① Ambari deploy

② storm deploy

account

System info

Page 8: AmbariでStreamをデプロイ #ambarimeetup

ポイント

Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止8

Silent setup

/usr/sbin/ambari-server setup XXX --silent

Ambari API

curl --user { user name }:{ password } -i -X POST http://{ ambariserver}:8080/api/v1/clusters/{ cluster name }/hosts/{ host name }

※クラスタにサーバの追加ができる

Page 9: AmbariでStreamをデプロイ #ambarimeetup

悩ましいところ

Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止9

• ジョブ投入サーバや運用サーバの構築は別手段で

※rpmだけインストールするような機能はないため別途デプロイツールで対応

Page 10: AmbariでStreamをデプロイ #ambarimeetup

悩ましいところ

Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止10

• 設定ファイルの管理が・・・

<※設定ファイル( storm.yaml )の差分確認などはGitで行いたいが直接置き換えができないアプリケーションなどの設定ファイルはGitになるので、システム全体の設定ファイルを一元的に管理できない

Page 11: AmbariでStreamをデプロイ #ambarimeetup

システム構成

Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止11

※AmbariはStormプロセスの起動・停止やクラスタへのサーバ追加に利用し監視や可視化は別コンポーネントを利用

Page 12: AmbariでStreamをデプロイ #ambarimeetup

Appendix

Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止12

Page 13: AmbariでStreamをデプロイ #ambarimeetup

デプロイの流れ

Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止13

① Ambari deploy

② storm deploy

account

System info

Page 14: AmbariでStreamをデプロイ #ambarimeetup

Ansible inventory + task list

Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止14

[storm-nimbus]nimbus00[1:2]

[storm-ui]stormmanager001

[storm-supervisor]supervisor00[1:5]

[zookeeper]zookeeper00[1:3]

[ambari-server]ambari001

[ambari-database]ambari001

[ambari-metrics]ambarimetrics001

[jobkick]jobkick00[1:2]

[ambari-agent:children]ambari-metricsstorm-nimbusstorm-ui-drcpstorm-supervisorzookeeper

playbook: playbooks/ambari-server.yml

play #1 (ambari-server): TAGS: []JAVAのインストール TAGS: []mysqlパッケージをインストール TAGS: []mysqlの存在確認 TAGS: []mysqlのデータベース設定 TAGS: []mysqlのアカウント設定 TAGS: []ambari.repoの取得 TAGS: []ambari-serverパッケージをインストール TAGS: []mysqlの存在確認 TAGS: []ambari-serverの設定確認 TAGS: []ambari-serverのsetup TAGS: []

既 ambari-serverにLDAP設定を確認 TAGS: []ambari-serverにLDAP設定を追加 TAGS: []ambari-serverのsetup TAGS: []ambari-serverプロセス確認 TAGS: []ambari-serverの起動 TAGS: []

playbook: playbooks/ambari-agent.yml

play #1 (ambari-agent): TAGS: []JAVAのインストール TAGS: []ambari.repoの取得 TAGS: []ambari-agentに必要なパッケージをインストール TAGS: []rrdtoolの削除 TAGS: []ambari-agent.iniファイルにambari-serverのホスト名を記述 TAGS: []ambari-agentが起動しているかチェック TAGS: []HugePageの無効化 TAGS: []

Inventory Task list

Page 15: AmbariでStreamをデプロイ #ambarimeetup

デプロイの流れ

Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止15

① Ambari deploy

② storm deploy

account

System infohttp://Ambari001:8080/#/login

Page 16: AmbariでStreamをデプロイ #ambarimeetup

Ambari Cluster Setting

Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止16

※不要なStepは省いてます

Page 17: AmbariでStreamをデプロイ #ambarimeetup

Ambari Cluster Setting

Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止17

zookeeper001

zookeeper002

zookeeper003

nimbus001

nimbus002

stormmanager001

ambarimetrics001

stormmanager001

※不要なStepは省いてます

Page 18: AmbariでStreamをデプロイ #ambarimeetup

Ambari Cluster Setting

Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止18

ambarimetrics001

stormmanager001

nimbus001

nimbus002

supervisor001

supervisor002

supervisor003

supervisor004

supervisor005

zookeeper001

zookeeper002

zookeeper003

※不要なStepは省いてます

Page 19: AmbariでStreamをデプロイ #ambarimeetup

Ambari Cluster Setting

Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止19

Page 20: AmbariでStreamをデプロイ #ambarimeetup

Link

Copyright (C) 2016 Yahoo Japan Corporation. All Rights Reserved. 無断引用・転載禁止20

Ambari manualhttp://docs.hortonworks.com/HDPDocuments/Ambari-2.2.1.1/bk_Installing_HDP_AMB/content/ch_Installing_Ambari.html

Ambari Repositorieshttp://docs.hortonworks.com/HDPDocuments/Ambari-2.2.1.1/bk_Installing_HDP_AMB/content/_download_the_ambari_repo.html

Ambari APIhttps://github.com/apache/ambari/blob/trunk/ambari-server/docs/api/v1/index.md

Blueprintshttps://docs.hortonworks.com/HDPDocuments/Ambari-2.2.1.1/bk_ambari_reference_guide/content/ch_using_ambari_blueprints.html