【Hadoop】完全分布式添加新节点
添加节点常规步骤:
1.新节点运行环境与用户环境配置
和其他datanode一样,确保关闭firewall, 新增hadoop用户;
配置ssh使用户hadoop从namenode免密码登录新节点,也可以从新节点登录倒namenode;
配置与namenode一致的jdk环境;
添加namenode的ip(在/etc/hosts文件中定义ip与hostname的映射)。
2.修改namenode的配置文件conf/slaves
/etc/hosts添加新节点的ip与host映射;conf/slaves文件增加新节点ip或hostname;
/etc/hosts应当拷贝到目前所有datanode上,使得每个节点间以hostname可以互访。
3.将namenode中的配置拷贝到datanode
namenode配置文件增加新节点的信息(slaves中增加新节点host或ip),整个配置可拷贝到所有datanode以完成更新;
另外,新节点的hdfs目录(hgfs.tmp.dir指定的目录)需设置为用户hadoop所有。
hadoop@hadoop5:~/hadoop$ ./bin/hadoop-daemon.sh start datanode
hadoop@hadoop5:~/hadoop$ ./bin/hadoop-daemon.sh start tasktracker
5.检验新datanode是否已添加成功
浏览器打开http://localhost:50030/jobtracker.jsp,在Cluster Summary中查看是否有新加入节点的信息。如果有,表示已添加成功。
6.考虑均衡数据, 在namenode上执行balancer
hadoop@hadoop1:~/hadoop$ hadoop balancer
均衡的好处时使得所有的节点数据和负载能处于一个相对平均的状态,从而避免由于新节点的加入而效率降低(如果不进行balance,新数据一般会被插入到新节点中).