2014年版 Hadoopを10分で試す(2) Cloudera Manager環境に移行する

Hadoop関連(全部俺) Advent Calendar 2014:8日目のブログです
昨日のブログでHadoopが動作している環境を手にしたわけですが、昨日も書いた通り、現バージョンのCloudera Quickstart VMは、デフォルトでは Cloudera Managerを使用しない環境になっています。

Cloudera Manager環境に移行する

このまま使い続けても良いのですが、Cloudera Managerを使いたい、使ってみたいという方もいるかもしれないので、Cloudera Manager環境に移行する方法を簡単に手順を紹介します。

Quickstart VMで動作しているサービス

この仮想マシンでは、デフォルトで下記のようなデーモンが実行されています。
[shell]
[cloudera@quickstart ~]$ sudo jps
2067 DataNode
2205 JournalNode
4015 Bootstrap
1979 QuorumPeerMain
3769 RunJar
46447 -- process information unavailable
2454 Launcher
4752 Bootstrap
2720 NodeManager
4940
4978
2477 RestMain
2578 Bootstrap
4036 HistoryServer
3607 RunJar
4920 Bootstrap
2289 NameNode
3502 ThriftServer
3909 RunJar
2974 ResourceManager
2624 JobHistoryServer
2416 SecondaryNameNode
3377 RESTServer
1858 JobServer
50835 Jps
4125 Master
[cloudera@quickstart ~]$ ps agxww |grep impala
4539 ? Sl 0:08 /usr/lib/impala/sbin/statestored -log_dir=/var/log/impala -state_store_port=24000
4940 ? Sl 0:15 /usr/lib/impala/sbin/catalogd -log_dir=/var/log/impala
4978 ? Sl 0:18 /usr/lib/impala/sbin/impalad -log_dir=/var/log/impala -catalog_service_host=127.0.0.1 -state_store_port=24000 -use_statestore -state_store_host=127.0.0.1 -be_port=22000
51186 pts/0 S+ 0:00 grep impala
[/shell]
1ノードで実行するにはこれは多すぎですね。メモリが足りないのもうなずけます。ざっと見て、

  • HDFS関連 (NameNode, DataNode, SecondaryNameNode)と、高可用性じゃないので何のためにあるのかわからないJournalNode
  • YARN/MapReduce関連 (ResourceManager, NodeManager, JobHistoryServer)、
  • Impala (impalalad, statestored, catalogd)、
  • Spark (Master, JobServer)
  • ZooKeeper (QuorumPeerMain)
  • ...

などが動作しています。(残りは割愛)
Cloudera Manager環境に移行する場合、移行後に不要なサービスは止めておいた方が良いでしょう。

Cloudera Manager環境に移行する

注意:仮想マシンをCloudera Manager環境に移行してしまうと、簡単に(非Cloudera Manager環境に)元に戻す方法がありません。元に戻さなければならない可能性がある場合は仮想マシンのスナップショットを取るなどしておきましょう。

デスクトップにあるアイコン(Launch Cloudera Manager)をクリックします。
cm_icon
が、以下のようなメッセージが出て、エラーになってしまいました。どうやら8GBのメモリがないと移行できないようです。
[shell]
WARNING: It is highly recommended that you run Cloudera Manager in a VM with at
least 8 GB of RAM.
You can override these checks by passing in the --force option,
e.g:
sudo /home/cloudera/cloudera-manager --force
Press [Enter] to exit..
[/shell]
手元の環境で仮想マシンに割り当てているメモリは4GBです。メモリ割り当てを増やして続行しても良いのですが、ここは男らしく(?)このまま続行することにします。
ターミナルを開いて、
[shell]
sudo /home/cloudera/cloudera-manager --force
[/shell]
を実行してみましょう。
[shell]
[cloudera@quickstart ~]$ sudo /home/cloudera/cloudera-manager --force
[QuickStart] Shutting down CDH services via init scripts...
JMX enabled by default
Using config: /etc/zookeeper/conf/zoo.cfg
/home/cloudera/cloudera-manager: line 109: kill: (52706) - No such process
[QuickStart] Disabling CDH services on boot...
[QuickStart] Starting Cloudera Manager services...
[QuickStart] Deploying client configuration...
[QuickStart] Starting CM Management services...
[QuickStart] Enabling CM services on boot...
[QuickStart] Killing Spark Job Server (conflicts with port 8090 used by Cloudera Manager Host Monitor)...
[QuickStart] Starting CDH services...
________________________________________________________________________________
Success! You can now log into Cloudera Manager from the QuickStart VM's browser:
http://quickstart.cloudera:7180
Username: cloudera
Password: cloudera
[cloudera@quickstart ~]$
[/shell]
コマンド自体は意外にあっさりと終わりました、、、
が、直後からいきなりCPUの負荷が激しくなり、ファンが猛烈に回り始めます。CPUの温度も一気に上昇し、やっちまった感がかなりありますw。しかし戻ることはできません(笑)

Cloudera Managerに移行後

気を取り直して画面のメッセージに従い、Firefoxを起動して下記のアドレスにアクセスします。

http://quickstart.cloudera:7180

ユーザー名とパスワードは cloudera/cloudera です。ログインしてみましょう。
cm_warningcm_login
はい、移行の確認ができました。移行すること自体は簡単ですね。
cm_top_defaultしかし、左側の画面に表示されているオレンジとグリーンはサービスが開始中(正常:グリーン、警告:オレンジ)ということを示しています。この脆弱な(?)環境でこれだけ同時にいろんなサービスが動いていると、CPUを食い過ぎてほとんど使いものになりません。
不要なサービスを止めれば何とか動作に耐えうる、、かもしれないので、興味のある方はチャレンジしてください。

Impalaでクエリする

ちなみに、手元の環境で、複数のサービスを停止して、Impalaを使って昨日のクエリを実行してみました。
クエリ実行結果 cm_impala_queryサービスの状態
cm_top_customizeImpalaのチャートが変化していますね。
このぐらいサービスを落としておけば、何とか検証できるかな、という感じでしょうか。是非興味のある方は(後悔しない程度に)試してみてください。
 

コメント