无法启动CDH4辅助名称节点:NameNode地址的URI无效

Ili*_*ion 6 hadoop cloudera

我一直在尝试设置hadoop的CDH4安装.我有12台机器,标记为hadoop01 - hadoop12,并且namenode,作业跟踪器和所有数据节点都已启动.我能够查看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)
Run Code Online (Sandbox Code Playgroud)

这是辅助名称节点上的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>
Run Code Online (Sandbox Code Playgroud)

dfs.namenode.http-address的值似乎有问题,但我不确定是什么.它应该以http://或hdfs://开头吗?我尝试在lynx中调用10.100.20.168:50070并显示一个页面.有任何想法吗?

Ili*_*ion 7

看起来我在辅助名称节点上缺少core-site.xml配置.添加了该过程并且该过程正确启动.

核心-site.xml中:

<configuration>
 <property>
  <name>fs.defaultFS</name>
  <value>hdfs://10.100.20.168/</value>
 </property>
</configuration>
Run Code Online (Sandbox Code Playgroud)

  • 如果我在独立模式下遇到同样的错误(整个东西用完我的笔记本电脑怎么办?我的core-site.xml有这个条目:`<property> <name> fs.default.name </ name> < value> hdfs:// localhost:8020 </ value> </ property>` (5认同)