スタンドアローンと擬似分散はこちらから。
ここでの完全分散モードでは事前にHadoopのインストールが終わっていることを前提としています。そのため、上のリンクからmasterのみにインストールしておいてください。
masterではhadoopというユーザで環境を構築してください。
また、slaveにはhadoopというユーザを追加しておいてください。
完全分散ではmasterとslave用のサーバーとして最低でも2台のLAN接続されたPCが必要です。
今回の設定では、
master:1
slave:1
を例として取り上げます。最後のほうにslaveを増やした時の設定も設定方法も少し載せています。
実行環境
Ubuntu 14.04Hadoop 2.6.0
sshキーの交換
masterからslaveにアクセスするために、masterの公開鍵をslaveに渡してやります。ここでは、簡単に紹介しますが、もう少し詳しい内容はUbuntu14.04どうしをsshでリモート接続するで紹介しています。
まずは、masterのhostsにslaveのIPアドレスとホスト名を追加し、接続できるか確認します。
sshの登録
masterからslaveへの通信が確認できたら、masterで鍵を作成しslaveに渡します。
slave側で確認
接続してみる
各ファイルの設定
master側の設定master上でファイルの設定が終わったので、これらをslaveに渡してやります。
slaveの設定
.bashrcはmasterと同じように書いておく。
slaveはnanenodeではなくdatanodeになるのでhdfs-site.xmlで設定を書き換える。
起動
まずは、フォーマットしてから起動。master側で、Namenode,ResourceManeger
slave側で、DataNode,NodeManager
が起動していたらok
うまく出てない方は記事の下を参考に
コマンドによる確認
Webで確認
アドレスバーに192.168.XXX:50070
でアクセスするとHadoopの状態やdatanodeつまりslaveの状態が確認できる
サンプルの実行
slaveを増やす
slaveを増やすときはslaveファイルにslaveの名前を追加し、すべてのslaveの設定ファイルを同じにする。また、hadoop/tmpフォルダはすべて削除した上でフォーマットする。
トラブルシューティング
- Datanodeが起動しない master,slaveともに、/usr/local/hadoopフォルダに/tmpがあったらそれをけ消してからもう一度フォーマットしてみる。 JAVA_HOMEのパスが通っているか確認する。
- 起動してもslaveが全然起動しない .bashrcやJAVA_HOMEのパスがきちんと通っているか。 sshで繋げれるか。 設定ファイルはあっているか。 slaveファイルに記述しているか。
0 件のコメント :
コメントを投稿