概要は以下のとおりです。
※今回は先日、7月6日のセミナーの復習という位置づけで、 Cloudera Manager 4.0 に焦点を絞った内容でした。
【実施概要】
日時:2012年7月27日(金)
場所:ビュレックス京橋 地下会議室
タイトル: Cloudera勉強会 第1回:Cloudera Manager4.0
【アジェンダ】
18:45 受付開始
19:00 Cloudera Enterprise4.0 Overview(※1)
19:20 運用管理ツール:Cloudera Manager4.0実践講座
20:30 質疑応答およびディスカッション
21:00 終了 (実際には 21:40 ごろまでやってました)
Cloudera Manager はとても使い勝手がよさそうなので、話を聞いてるばかりではなく、そろそろまずは Free Edition から試しに環境を作ってみるところから始めてみようと思います。
Cloudera Manager *1は現状は、 CDH の Subscription 契約のおまけの管理ツールということですが、個人的にはこれもオープンソース化してくれると嬉しいのですが、どうなんでしょうね。
この勉強会は1ヶ月に一回ほどのペースでやっていくそうなので、今後も可能な範囲で参加させていただきたいと思います。
以降、わたしのメモです。
Cloudera Manager Overviews.
▶ Cloudera Manager概要
- CDHをひとつのシステムとしてあつかい、あらゆる構築・運用のシナリオを統一されたインターフェイスから行うための運用管理ツール
*
- Hadoop を Cluster 単位で管理することを目的としている。
*
- 1-2ノード、とんでも問題ない
▶ アーキテクチャ
- エージェント型
- エージェントはすべてのノードで稼働する
▶ CM導入前、導入後
▶ CM構成図
- 裏でDBでメタデータ管理
▶ CM用語集
- Service →hdfs、MR、HBase
- Role
- Command
▶ 新機能
- ホスト監視→リソースの監視もできる(死活のみじゃない)
- API→REST経由でアクセスできる
▶ CM Free Edition
- Download Free
- 監視、セキュリティ、イベント機能はついていない
- CDHと密結合はしていないので、CMだけをぬくことは難しくない
▶CMサーバーインストール方法
- ウィザード形式とマニュアルインストール
*
- マニュアルインストール
▶ CM4.0 でのインストーラ
- インターネット環境につながなくてもインストールできるようになった
*
- CDH3もサポートする
*
- API は管理用のものを提供している(Restartなど)
- CM は管理のためのもの
*
- 基本的にはマネージャーをインストールするのみ
- 各スレーブノードのエージェントはマネージャーからスレーブを追加したことを自動検知したうえで自動配布される
- SSH でマネージャーから各追加ノードにつなげる必要はある
*
- NNと一緒にのっけることもできるが、専用のノードを用意することを薦める
- 小規模なら仮想ノードにいれることも可能
*
- SCMとは?
- CM の以前の名前ではない
- CMの一部としてSCMは存在している
▶ SCM
- Service and Configuration Manager
- Free Edition でもほぼ全機能がつかえる
▶ コマンドメニュー
- アクションボタンから
- 開始・停止・再起動
→HBase の graceful stop なども自動で行う - クラスタ単位の再起動が可能
▶ 設定管理
- XML の編集ではなく GUI から編集が可能
- 簡単なチューニングの提案はしてくれる
▶ 設定はバージョン管理できる
- ただし、Enterprise版のみ
- リビジョンを Diff とったり
- 過去のバージョンにロールバックしたりできる
*
- Free Edition でもサポートしてほしいと言ってきた顧客がいた
- DB にはすべての情報が格納されていたのでそこから吸い出した
▶ 設定変更後は再起動を促す
- 設定編後に再起動しなければ、反映されない
- OSの再起動までは反映されない
▶ マルチクラスタサポート
- サービスはクラスタとしてグループ化される
▶ クライアント設定管理
- Hadoop Client の管理
*
- alternatives を使った全サーバの /etc 管理
→デフォルトのHadoopの設定ファイルの展開場所 - クラスタ単位のデプロイをサポート
*
- zip 形式での手動ダウンロードは引き続きサポート
▶ HDFS HA
- スタンバイNNを選ぶ
- 共有Editsディレクトリを指定する
- 3ステップ目で設定がはじまる
*
- ほぼ2ステップ
▶ CDH3からCDH4のアップグレード
- CM は CDH パッケージ自体のアップグレードはしない
- パッケージがアップデートされたら、サービスごとのアップデートウィザードがある
- アップグレードはクラスタ単位
- アップグレードのロールバックは非常に難しい(一方通行だと思って欲しい)
▶ 新しい DB のサポート
- CM のメタデータ保存や各ノードのログ保存の DB
- PostgreSQLとOracleをサポート
- 推奨は引き続き MySQL
*
- ログはエージェント側にあって、それに対してインデッキシングしている
- そのインデックス情報をDBに格納している
- ログはマネージャー側から各エージェントに見に行っている
▶ CM 使用時の設定ファイルの管理方法
- OS側からおいかけて設定を追うのは困難
- XML ファイルで設定管理しない
→ DB 内で管理している
*
- 個々のロールを設定している
Cloudera Manager API
▶ 組み込みのAPI ドキュメント
- Github にある
▶ コマンド
- JSON形式
▶ CM API まとめ
- 監視系の API は現時点ではない
- なにか分からなかったら CDH User Japan - Google Groupsまで。
Enterprise Editioon
▶ EE とは?
- 監視、ログ検索、Kerberos認証などEnterpriseに使うのに必須な機能を追加したもの
- サブスクリプションを購入した顧客であれば自由に利用可能
*
- 7月1日午前9時のうるう秒の対応
- CMがあると便利といわれた
- 問題の調査がある程度、容易だったと。
▶ サービスモニタ
- サービスの状態をグラフィカルに表示
- アラートのフラグなどもモニタに表示してくれる
*
- ヘルステスト
- 空きスペースはどれだけ
カナリアテスト(ファイルの作成、書き込み、読み込みおよび削除を実際にやっておく)の実行
▶ HDFSチャート
- HDFS IO →読み取り、書き込みバイト
▶ MRチャート
- Map、Reduceそれぞれのタスク数
- 成功と失敗した数
▶ ホストモニタ
- IPアドレス、ホスト名、ラックID
- CPUコア数…
*
- ホスト全体画面
*
- Ganglia の併用が現状はまだ推奨
- Java のHeap の中身まではまだ分からないはず。
- 今のところ監視の内容は決めうち(のはず)
▶ ホストの画面チャート
▶ ホストモニタ、監視の設定画面
- 閾値の設定
▶ ホストインスペクタ
- ホストのヘルスチェックを能動的に行うことも可能
- インストールされているパッケージのバージョンチェックなども行う
▶ アクティビティモニタ
- ジョブの状態を監視可能
- 現状はMR1のみに対応、YARNには対応していない
▶ ジョブの詳細閲覧可能
▶ ジョブ比較が可能
- 類似ジョブの比較
- 徐々に性能劣化していくかなど
- 95%信頼区間の中にあるのかどうか
▶ Job の Kill も可能
▶ タスクの分散
- 異なる2つの評価軸でヒートアップがつくれる
- 例:Map Input Records vs Duration
▶ ログ検索
▶ ヒートアップ
- HDFS、HBase…
- 評価軸は豊富に用意されている
▶ イベント
- 問題はログだけでは分からないことは多い
- 致命的な問題がでたときにはそれをイベントとして記録する、DBに
- ログと同様に検索可能
▶ レポート機能
- CSVやExcel形式でも取得可能
▶ Cluster Stats
- サポートと連携するための機能
- ユーザーはボタンひとつでクラスタの情報をzip形式で圧縮できる
- ユーザーはzip形式でもちろんダウンロード可能
(本番環境から直接インターネットに接続できなくても問題ない)
その他、質疑
- 既存の環境をCMに組み込むことが可能
- 作業のイメージ
- サービス全部おとす
- config 系を保存しておく
- CM側でロールを設定すると自動的にエージェントをインストールされていく(?)
- その後はCM側から再設定をしていく(?)
*
- ヘルスチェックのカスタマイズ
- ジョブなどの監視は一応は可能
(ホストのほうはできなさそう)
*
- Hueは裏で動いている
*
- 4つのDBが裏で動いている
- DBは冗長化は自分でする必要あり
*
- 管理DBバックアップからリカバリして過去の状態にもどす、ができるか?
- ???
*
- CMは管理ツールでしかないので、それが落ちたからといって CDH のクラスター群が停止してしまうことはない
- ただし、クラスターの停止・起動はできなくなる
*
- ジョブ比較
- 類似は何で判断してる?
- MRは名前??
- Hive/Pig はクエリ??
*
- Hue
- 実行をメインに
- 管理はCM に一本化
*
- ロードマップみたいなものは?
- あるにはあるが…
- 要望を聞きたい。内容によって検討はしたい。
- 実際使う場合はまずは検証した上で要望を出してもらいたい。
*
- 今まで使っていなかった人が使い始めるための移行支援があると嬉しい
*
- JDK 1.7
- 今年の11月(EOSL)までの対応はおそらく無理。
✔ こちらもあわせてどうぞ
*1:Enterprise Edition