增加Hadoop新节点:
向一个正在运行的Hadoop集群中增加几个新的Nodes
1. 新节点上部署java/hadoop程序,配置相应的环境变量
2. 新节点上增加用户,从master上拷贝id_rsa.pub并配置authorized_keys
3. 新节点上设置/etc/hosts,只要有本机和master的host即可
/etc/hosts
127.0.0.1 localhost
10.10.10.101 node1
10.10.10.102 node2
10.10.10.103 node3
10.10.10.104 node4
4. 新节点上建立相关的目录,并修改属主,将Node4之中 ~/tmp目录下的内容都删除掉,否则会被认为已经创建的节点。
5. master的slaves文件中增加上相的节点(* 注意:只在NameNode之上配置就可以)
/etc/masters
node1
/etc/slaves
node2
node3
node4
6. 在新节点上启动datanode和tasktracker
localadmin@node4:~/hadoop-0.20.2/bin$ hadoop-daemon.sh start datanode
localadmin@node4:~/hadoop-0.20.2/bin$ hadoop-daemon.sh start tasktracker
使用'Jps'进行检查。
7. 进行block块的均衡
在hdfs-site.xml中增加设置balance的带宽,默认只有1M:
<property>
<name>dfs.balance.bandwidthPerSec</name>
<value>10485760</value>
<description>
Specifies the maximum bandwidth that each datanode can utilize for the balancing purpose in term of the number of bytes per second.
</description>
</property>
运行以下命令:
hadoop/bin/start-balancer.sh -threshold 3
均衡10个节点,移动400G数据,大概花费了3个小时
The cluster is balanced. Exiting…
Balancing took 2.9950980555555557 hours
============================================================
Hadoop提供了Decommission的特性,可以按照以下步骤来操作:
1. 在hadoop的conf目录下生成一个excludes的文件 /etc/nn-excluded-list,写上需要remove的节点
一个节点一行,如:
node4
2. 在hdfs-site.xml中增加配置:
<property>
<name>dfs.hosts.exclude</name>
<value>/etc/nn-excluded-list</value>
</property>
3. 复制文件到集群各节点上
4. 执行hadoop dfsadmin -refreshNodes命令,它会在后台进行Block块的移动
从移出的Nodes上移动到其它的Nodes上面
5. 通过以下2种方式查看Decommission的状态:
hadoop dfsadmin -report
http://10.10.10.101:50070/dfsnodelist.jsp
正在执行Decommission,会显示:
Decommission Status : Decommission in progress
执行完毕后,会显示:
Decommission Status : Decommissioned
分享到:
相关推荐
hadoop 源码解析-DataNode
1. Hadoop 2.0 2. 部署在2个Ubuntu上 3. 2个namenode 2个datanode
Hadoop datanode启动失败:Hadoop安装目录权限的问题
分别取对应的文件夹下解压,之后将这两个文件替换到 hadoop-2.*.*/bin目录下即可 winutils.exe、hadoop.dll
Hadoop datanode重新加载失败无法启动解决.docx
启动Hadoop后 没有DataNode进程 的解决方法。 一篇文章带你快速了解!
因业务需要搭建一个新hadoop集群,并将老的hadoop集群中的数据迁移至新的hadoop集群,而且datanode节点不能全部上线,其中还可能会出现节点上线或下线的情况,这个时候就很容易出现机器与机器之间磁盘的均衡的情况,...
hadoop-cluster-docker, 在 Docker 容器中运行 Hadoop 在 Docker 容器内运行Hadoop集群博客:在 Docker 更新中运行Hadoop集群。博客:基于Docker搭建Hadoop集群之升级版 3节点Hadoop集群 1.拉 Docker 图像sudo do
hudi-hadoop-mr-bundle-0.11.0.jar 配合文档
Hadoop动态增加节点与删除节点,本人自己整理。。
hadoop基于linux开发和布署运行,故不能将hadoop环境原始运行在windows上。 操作系统环境差异说明 因为模拟linux环境,所以在linux原生环境中就不需要他了 在windows环境中需要配置 如何配置: 配置到运行环境当前目录...
Hadoop集群中动态增加和减少机器 Hadoop集群中动态增加和减少机器
NULL 博文链接:https://zqhxuyuan.iteye.com/blog/1879292
*****1.如何实现wordcount ***2.hadoop1.0和hadoop2.0的区别 ***3.搭建hadoop伪分布式/完全分布式集群的步骤
Eclipse中编译运行Hadoop-0.20.1源码, 便于阅读源代码,
包含配置hadoop过程中遇到的一些问题的解决办法和成功运行wordcount实例的步骤
python成功运行hadoop