Cloudera Manager Advent Calendar 2015の20日目です。
「Cloudera Manager を使うと便利だけど、裏で何をやっているのかよくわからない」という意見を聞くことがある。
安心してほしい。Cloudera Manager は、CDHに対するあらゆる操作をLinuxのコマンドレベルで表示することができる。
Cloudera Manager と CDH は疎結合になっていて、CDH自体への操作はほとんどがシェルスクリプトなどによるコマンド実行で行われている。
よって、それらの操作を外部から閲覧することは非常に容易であり、またその操作を手動で再現することも可能である(普通このようなことを行う必要はないが)。
環境
- Cloudera Manager 5.5
本編
Cloudera Manager のホーム画面に 全ての最近のコマンド
というタブがある。これをクリックすると、最近実行したコマンド一覧を表示することができる。
ここでいうコマンドは Linux 上のコマンドではなく、あくまで Cloudera Manager 上での操作単位( 起動、停止など)であることに注意してほしい。
すべての最近のコマンド
すべての最近のコマンドのページには、文字通り最近実行されたコマンドがリスト表示されている。ここを閲覧すれば、「◯月×日△時にサービスを再起動した」などの作業記録を正確にたどることができる。
このページで表示されているコマンドは、更にいくつかのサブコマンドに分かれている。それぞれのコマンドのリンクをクリックすると、コマンドの詳細ページに移動することができる。
ここでは例として、 IMPALA-2 というサービスの 再起動 コマンドの詳細を調べることにする。
コマンド詳細ページ
Impalaの再起動コマンドの詳細はとてもシンプルで、 停止・開始の2つのコマンドから構成されている。
これらのコマンドもさらにドリルダウンすることができる。
ここでは例として、開始コマンドを展開してみる。
開始コマンドの中には、IMPALA-2サービスに属する各種ロールの開始コマンドが内包されている。
もちろん、これらのロール別の開始コマンドについても詳細を閲覧することが可能である。
ここではnightly55-6というサーバのImpala Daemonロールの詳細を見てみよう。
コマンドの実行ログ
Impala Daemonの開始コマンドを見ると、stdout・stderr・Role logの3つのログを閲覧することができる。
それぞれ以下のような内容が書かれている。
- stdout: コマンドを実行したシェルスクリプト自体の標準出力。
- stderr: コマンドを実行したシェルスクリプトの実行内容そのものの出力。
- Role log: 対象ロール自体の持つログファイル。この例では Impala Daemon が生成するログファイルのこと。
上記のスクリーンショットは stdout が表示されているが、 stderr、Role log タブをクリックするとそれぞれの直近数行のログを表示する。
まずは stderr のログである。
こちらは Role log の結果である。
この Cloudera Manager のページ上にはあくまで直近一部のログしか表示していない。
(画面を表示している間は、新しいログが生成され次第随時アップデートされ、新しいログに置き換わっていく)
ログを全て閲覧したいのであれば、 完全なログファイル をクリックすればいい。
例えば Role log の 完全なログファイル をクリックすると、ログ閲覧のページに遷移する。
まとめ
Cloudera Manager から実行したコマンドについて、履歴の閲覧とLinuxコマンドレベルでの詳細な実行結果についての閲覧が可能なことが分かった。
Linux ディストリビューション上での調査が必要な場合はもちろんのこと、Hadoopの運用などについてコマンドレベルで学びたい場合にも大いに役に立つことだろう。