记录hadoop namenode Port in use: node2:9870

记录hadoop namenode死活起不来,各种方法试遍了,简直要奔溃,

MD!!!  生气!!

言归正传 说问题

配置 etc/hadoop/hdfs-site.xml 


<configuration>
<!-- nn web端访问地址-->
        <property>
                <name>dfs.namenode.http-address</name>
                <value>node2:9870</value>
        </property>
        <!-- 2nn web端访问地址-->
        <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>node1:9868</value>
        </property>

</configuration>

配置etc/hadoop/core-site.xml 

<configuration>
 <!-- 指定NameNode的地址 -->
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://node2:8020</value>
        </property>

    <!-- 指定hadoop数据的存储目录 -->
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/soft/hadoop/hadoop/data</value>
        </property>
<!-- 配置HDFS网页登录使用的静态用户为hadoop -->
    <property>
        <name>hadoop.http.staticuser.user</name>
        <value>hadoop</value>
    </property>
</configuration>

namenode初始化。

hdfs namenode -format

启动。

sbin/start-dfs.sh 

在node2服务器 jps 查看 : datanode 已经起来了。但是没有namenode

查看logs下面的namenode.log

显示namenode端口被占用

namenode Port in use: node2:9870

这时候去排查9870端口占用情况 

发现并没有

……

再次格式化NameNode

这时会产生新的集群id导致NameNode和DataNode的集群id不一致,集群不到已数据。如果集群在运行过程中报错,需要重新格式化NameNode的话,一定要停止namenode和datanode进程,并且要删除所有机器的datalogs目录,然后再进行格式化。

这个问题卡了我三天

 解决办法

修改namenode所在服务器的hosts 我的是在node2上

vim /etc/hosts

把hosts 里面的 node2公网ip 换成私网ip

换完后。启动

sbin/start-dfs.sh 

问题解决

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值