Hadoop启动dataNode失败,却没有任何报错
程序员文章站
2022-04-02 23:08:57
问题描述: centos7,伪分布模式下,启动datanode后,通过JPS查看发现没有相关进程,在日志文件里也没有任何提示。通过百度,网上一堆说什么vesion 的ID不一致,不能解决我的问题。 经过搜索,https://community.hortonworks.com/questions/69 ......
问题描述:
centos7,伪分布模式下,启动datanode后,通过jps查看发现没有相关进程,在日志文件里也没有任何提示。通过百度,网上一堆说什么vesion 的id不一致,不能解决我的问题。
经过搜索,
通过以下两行命令
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来保证一致性