hadoop启动namenode失败

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/shuideyidi/article/details/40828635

启动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进程。

猜你喜欢

转载自blog.csdn.net/shuideyidi/article/details/40828635