今天在搭Hadoop环境的时候,给三个节点起的名称中带有下划线_(car_nodex),Hadoop环境搭建好后,格式化namenode没问题,但是启动时无法启动,会出现以下问题
start-dfs.sh Starting namenodes on [car_node2] car_node2: ERROR: Cannot set priority of namenode process 50776 这里查看namenode日志文件,有如下问题。 ERROR org.apache.hadoop.hdfs.server.namenode.NameNode: Failed to start namenode. java.lang.IllegalArgumentException: Does not contain a valid host:port authority: car_node2:8020
问题原因:配置文件中使用了节点名称作为域名,我的节点名称中包含有下划线_,导致Hadoop无法解析路径,就出现了上述问题。
解决方法:修改主机名+修改域名解析+修改Hadoop配置文件,将所有与下划线有关的域名进行修改,去掉下划线。
上述修改方法较为麻烦
可以直接修改域名解析文件/etc/hosts,将解析文件中需要用到的带有下划线的域名,删除下划线,再对Hadoop的配置文件进行一下修改即可。修改后建议重新格式化一下namenode,以防后续出现其他问题。