Hadoop启动dataNode失败,却没有任何报错

问题描述:

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

 

经过搜索,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来保证一致性


posted @ 2019-04-02 15:28  励志一根草  阅读(1258)  评论(0)    收藏  举报