当前位置: > Linux集群 > Hadoop >

hadoop启动namenode失败

时间:2016-04-08 01:03来源:linux.it.net.cn 作者:IT

启动hadoop的namenode时,报错:

ERRORorg apache. Hadoop. HDFS. Server. The namenode. The namenode: Java. Lang. IllegalArgumentException: Does not contain a valid host: port authority: HDFS: / / hadoop_forged: 9000
 
原因分析:
 
一般都是配置文件错误,访问的地址或者端口号不正确
 
所以查看$HADOOP_HOME/conf/core-site.xml文件
--------------------------------------------------------------
<?xml version="1.0"?>
< ?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

< !-- Put site-specific property overrides in this file. -->

< configuration>
    <property>
        <name>fs.default.name</name>
        <value>hdfs://hadoop_forged:9000</value>
        <description>change your own hostname</description>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/local/hadoop/tmp</value>
    </property>
< /configuration>
--------------------------------------------------------------
 
以及$HADOOP_HOME/conf/mapred-site.xml文件
--------------------------------------------------------------
<?xml version="1.0"?>
< ?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

< !-- Put site-specific property overrides in this file. -->

< configuration>
    <property>
        <name>mapred.job.tracker</name>
        <value>hadoop_forged:9001</value>
        <description>change your own hostname</description>
    </property>
< /configuration>
--------------------------------------------------------------
 
以及/etc/hosts文件
--------------------------------------------------------------
192.168.1.99 hadoop_forged
--------------------------------------------------------------
 
许多错误的原因都是这些文件不是一致的,也就是说xml文件中设置的主机名不正确。
但是三个文件都是一致的,所以我的错误不是这个问题。
 
于是我将mapred-site.xml以及core-site.xml中hadoop_forged都修改成localhost,发现start-all.sh可以成功启动namenode。
我恍然大悟,刚才我修改过主机名,之前的主机名不是hadoop_forged。
 
我的/etc/sysconfig/network文件
--------------------------------------------------------------
NETWORKING=yes
HOSTNAME=hadoop_forged
--------------------------------------------------------------
 
所以将xml中文件localhost修改为hadoop_forged重启了一下linux系统,再执行start-all.sh,没有报错,并且执行jps可以查看到namenode以及其他相关java进程。

 

(责任编辑:IT)
------分隔线----------------------------