在安装hadoop时一直无法开启namenode和secondarynode,主机名ip映射也排查过,还是无法解决,查看日志一直报The value of property bind.address must not be null 可以看出是ip和端口号的问题,排查端口号发现没有被占用。试了无数次还是无法开启,最后在hdfs-site.xml中添加dfs.http.address属性,发现可以开启namenode但无法开启secondarynamenode。由此可确定是端口号的问题。
需要在hdfs-site.xml中分别设置端口号
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/data/hadoop_repo/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/data/hadoop_repo/dfs/data</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
<property>
<name>dfs.namenode.http-address</name>
<value>127.0.0.1:50070</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>127.0.0.1:50090</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
<description>to enable webhdfs</description>
<final>true</final>
</property>
</configuration>