6

私はhadoopのCDH4インストールをセットアップしようとしています。私は12台のマシンを持っており、hadoop01〜hadoop12とラベル付けされており、namenode、job tracker、およびすべてのデータノードが正常に起動しています。dfshealth.jspを表示して、すべてのデータノードが見つかったことを確認できます。

ただし、セカンダリ名ノードを起動しようとすると、例外が発生します。

Starting Hadoop secondarynamenode:                         [  OK  ]
starting secondarynamenode, logging to /var/log/hadoop-hdfs/hadoop-hdfs-secondarynamenode-hadoop02.dev.terapeak.com.out
Exception in thread "main" java.lang.IllegalArgumentException: Invalid URI for NameNode address (check fs.defaultFS): file:/// has no authority.
        at org.apache.hadoop.hdfs.server.namenode.NameNode.getAddress(NameNode.java:324)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.getAddress(NameNode.java:312)
        at org.apache.hadoop.hdfs.server.namenode.NameNode.getServiceAddress(NameNode.java:305)
        at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.initialize(SecondaryNameNode.java:222)
        at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.<init>(SecondaryNameNode.java:186)
        at org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode.main(SecondaryNameNode.java:578)

これは、セカンダリネームノードのhdfs-site.xmlファイルです。

<configuration>
  <property>
    <name>dfs.name.dir</name>
    <value>/data/1/dfs/nn</value>
  </property>
  <property>
    <name>dfs.namenode.http-address</name>
    <value>10.100.20.168:50070</value>
    <description>
      The address and the base port on which the dfs NameNode Web UI will listen.
      If the port is 0, the server will start on a free port.
    </description>
  </property>
  <property>
    <name>dfs.namenode.checkpoint.check.period</name>
    <value>3600</value>
  </property>
  <property>
    <name>dfs.namenode.checkpoint.txns</name>
    <value>40000</value>
  </property>
  <property>
    <name>dfs.namenode.checkpoint.dir</name>
    <value>/var/lib/hadoop-hdfs/cache</value>
  </property>
  <property>
    <name>dfs.namenode.checkpoint.edits.dir</name>
    <value>/var/lib/hadoop-hdfs/cache</value>
 </property>
 <property>
    <name>dfs.namenode.num.checkpoints.retained</name>
    <value>1</value>
  </property>
 <property>
    <name>mapreduce.jobtracker.restart.recover</name>
    <value>true</value>
  </property>

</configuration>

dfs.namenode.http-addressに指定された値に問題があるように見えますが、何が原因かわかりません。http://またはhdfs://で始める必要がありますか?lynxで10.100.20.168:50070を呼び出してみたところ、ページが表示されました。何か案は?

4

2 に答える 2

7

セカンダリ ネーム ノードで core-site.xml 構成が欠落していたようです。それを追加すると、プロセスは適切に開始されました。

core-site.xml:

<configuration>
 <property>
  <name>fs.defaultFS</name>
  <value>hdfs://10.100.20.168/</value>
 </property>
</configuration>
于 2012-12-06T23:55:10.517 に答える
1

単一ノード クラスタを実行している場合は、次のリンクに示されているように HADOOP_PREFIX 変数が正しく設定されていることを確認してください: http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/SingleCluster .html

私もあなたと同じ問題に直面しましたが、この変数を設定することで修正されました

于 2014-08-26T08:52:21.073 に答える