问题描述:
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来保证一致性
如对本文有疑问, 点击进行留言回复!!
linux下文本编辑器vim的使用方法(复制、粘贴、替换、行号、撤销、多文件操作)
网友评论