4

Ubuntu 14.04 に Hadoop 2.4 をインストールしましたが、現在、既存のクラスターに内部 sata HD を追加しようとしています。

新しい hd を /mnt/hadoop にマウントし、その所有権を hadoop ユーザーに割り当てました

次に、次のように構成ファイルに追加しようとしました。

<configuration>
   <property>
       <name>dfs.replication</name>
       <value>2</value>
   </property>

   <property>
       <name>dfs.name.dir</name>
       <value>file:///home/hadoop/hadoopdata/hdfs/namenode, file:///mnt/hadoop/hadoopdata/hdfs/namenode</value>
   </property>

   <property>
       <name>dfs.data.dir</name>
       <value>file:///home/hadoop/hadoopdata/hdfs/datanode, file:///mnt/hadoop/hadoopdata/hdfs/datanode</value>
   </property>
</configuration>

その後、hdfs を開始しました。

Starting namenodes on [localhost]
localhost: starting namenode, logging to /home/hadoop/hadoop/logs/hadoop-hadoop-namenode-hadoop-Datastore.out
localhost: starting datanode, logging to /home/hadoop/hadoop/logs/hadoop-hadoop-datanode-hadoop-Datastore.out
Starting secondary namenodes [0.0.0.0]
0.0.0.0: starting secondarynamenode, logging to /home/hadoop/hadoop/logs/hadoop-hadoop-secondarynamenode-hadoop-Datastore.out

2番目のhdを起動しないようです

これは私のcore-site.xmlです

<configuration>
   <property>
       <name>fs.default.name</name>
       <value>hdfs://localhost:9000</value>
   </property>
</configuration>

さらに、namenode を更新しようとしたところ、接続の問題が発生しました。

Refreshing namenode [localhost:9000]
refreshNodes: Call From hadoop-Datastore/127.0.1.1 to localhost:9000 failed on connection exception: java.net.ConnectException: Connection refused; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused
Error: refresh of namenodes failed, see error messages above.

さらに、Hadoop Web インターフェイスに接続できません。私は2つの関連する問題を抱えているようです:

 1) A connection problem
 2) I cannot connect to the new installed hd

これらの問題は関連していますか? これらの問題を解決するにはどうすればよいですか?

ありがとう

編集

localhost に ping を実行すると、localhost:50090/status.jsp にアクセスできます。

しかし、50030 と 50070 にアクセスできません。

4

2 に答える 2

7
<property>
   <name>dfs.name.dir</name>
   <value>file:///home/hadoop/hadoopdata/hdfs/namenode, file:///mnt/hadoop/hadoopdata/hdfs/namenode</value>
</property>

これは次のように文書化されています。

DFS ネーム ノードがネーム テーブル (fsimage) を格納するローカル ファイルシステム上の場所を決定します。これがディレクトリのカンマ区切りのリストである場合、名前テーブルは冗長性のためにすべてのディレクトリに複製されます。

本当にこれが必要ですか?冗長性のために、fsimage を両方の場所にコピーしますか? はいの場合、namenode を起動する前に新しい HDD に fsimage を実際にコピーしましたか? 新しい namenode データ ディレクトリを既存のクラスタに追加するを参照してください。

新しいデータ ディレクトリ ( dfs.data.dir) は問題ありません。データ ノードはそれを取得し、ブロックの配置に使用し始めます。

また、一般的なトラブルシューティングのアドバイスとして、namenode と datanode のログを調べて、より多くの手がかりを見つけてください。

于 2014-06-16T10:03:09.587 に答える
0

あなたのコメントについて:「sudo chown -R hadoop.hadoop /usr/local/hadoop_store.」所有者は hdfs ユーザーでなければなりません。試してください: sudo chown -R hdfs.hadoop /usr/local/hadoop_store.

于 2016-03-16T07:53:57.220 に答える