问题描述:

centos7,伪分布模式下,启动datanode后,通过JPS查看发现没有相关进程,在日志文件里也没有任何提示。通过百度,网上一堆说什么vesion 的ID不一致,不能解决我的问题。

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

 

经过搜索,https://community.hortonworks.com/questions/69227/data-node-not-starting-and-not-showing-any-error-l.html

通过以下两行命令

 

export HADOOP_ROOT_LOGGER=DEBUG,console

hdfs datanode

 

手动启动datanode来进行debug,直到发现错误信息:java.lang.IllegalArgumentException: Does not contain a valid host:port authority


原来是我的hostname不合法,修改为不包含着‘.’ '/' '_'等非法字符。


再次启动,解决问题。



PS:网上的问题大多都是因为频繁格式化namenode造成的
格式化NameNode,会产生新的集群id,导致NameNode和DataNode的集群id不一致,集群找不到已往数据。所以,格式NameNode时,一定要先删除data数据和log日志,然后再格式化NameNode。
如果想保留数据的话,可考虑通过修改集群ID来保证一致性


扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄