学习Hadoop不久,在一台新机器上建了个虚拟机搭建Hadoop伪分布式环境,一开始Linux的hostname是默认的CentOS,Hadoop搭建的很顺利,跑了一下examples里面的wordcount列子也能正常完成。
后面想尝试搭建一下真正的分布式,觉得默认的hostname不好区分各服务器,所以就把hostname改成hadoop_m,标志这台服务器是master服务器,更改了host和network文件里面的hostname之后,发现原本正常的Hadoop环境运行任何jar都报空指针异常。。。。。
后面才发现Hadoop对于访问的节点hostname,不能带有下划线"_",否则无法识别对应的节点。把hadoop_m修改成hadoop-m,问题解决!