添加节点
1.修改host
和普通的datanode一样。添加namenode的ip
2.修改namenode的配置文件conf/slaves
添加新增节点的ip或host
3.在新节点的机器上,启动服务
1
2
|
[root@slave-004 hadoop] # ./bin/hadoop-daemon.sh start datanode
[root@slave-004 hadoop] # ./bin/hadoop-daemon.sh start tasktracker
|
4.均衡block
1
|
[root@slave-004 hadoop] # ./bin/start-balancer.sh
|
1)如果不balance,那么cluster会把新的数据都存放在新的node上,这样会降低mapred的工作效率
2)设置平衡阈值,默认是10%,值越低各节点越平衡,但消耗时间也更长
1
|
[root@slave-004 hadoop] # ./bin/start-balancer.sh -threshold 5
|
3)设置balance的带宽,默认只有1M/s
1
2
3
4
5
6
7
8
9
|
<property> <name>dfs.balance.bandwidthPerSec< /name >
<value>1048576< /value >
<description>
Specifies the maximum amount of bandwidth that each datanode
can utilize for the balancing purpose in term of
the number of bytes per second.
< /description >
< /property >
|
注意:
1. 必须确保slave的firewall已关闭;
2. 确保新的slave的ip已经添加到master及其他slaves的/etc/hosts中,反之也要将master及其他slave的ip添加到新的slave的/etc/hosts中
删除节点
1.集群配置
修改conf/hdfs-site.xml文件
1
2
3
4
5
6
7
8
|
<property> <name>dfs.hosts.exclude< /name >
<value> /data/soft/hadoop/conf/excludes < /value >
<description>Names a file that contains a list of hosts that are
not permitted to connect to the namenode. The full pathname of the file must be specified. If the value is empty, no hosts are
excluded.< /description >
< /property >
|
2确定要下架的机器
dfs.hosts.exclude定义的文件内容为,每个需要下线的机器,一行一个。这个将阻止他们去连接Namenode。如:
slave-003
slave-004
3.强制重新加载配置
[root@master hadoop]# ./bin/hadoop dfsadmin -refreshNodes
它会在后台进行Block块的移动
4.关闭节点
等待刚刚的操作结束后,需要下架的机器就可以安全的关闭了。
[root@master hadoop]# ./bin/ hadoop dfsadmin -report
可以查看到现在集群上连接的节点
正在执行Decommission,会显示:
Decommission Status : Decommission in progress
执行完毕后,会显示:
Decommission Status : Decommissioned
5.再次编辑excludes文件
一旦完成了机器下架,它们就可以从excludes文件移除了
登录要下架的机器,会发现DataNode进程没有了,但是TaskTracker依然存在,需要手工处理一下
相关推荐
Hadoop动态增加节点与删除节点,本人自己整理。。
上一篇文章中我们介绍了Hadoop编程基于MR程序实现倒排索引示例的有关内容,这里我们看看如何在Hadoop中动态地增加和删除节点(DataNode)。 假设集群操作系统均为:CentOS 6.7 x64 Hadoop版本为:2.6.3 一、动态...
1. 添加节点:在新节点上完成HBase的安装和配置,然后将该节点加入到Hadoop集群中。更新HBase的`regionservers`文件,添加新节点的主机名。重启HMaster服务,HBase会自动分配工作负载到新节点。 2. 移除节点:在...
可以通过添加或修改`HADOOP_NAMENODE_ID`变量来实现这一点。 3. **更新配置并重启**:保存更改后,需要重启Hadoop服务以使新的ID生效。确保所有节点都进行了相应的配置更新,并重新启动服务。 #### 四、总结 ...
1、Hadoop2.0高阶运维,包括Hadoop节点增加删除、HDFS和YARN的HA实现, HDFS Federation实现等 2、搭建本地Yum部署CDH5的重要组件和优化配置 3、Impala、Oozie和Hue的部署、使用操作及调优 4、Hadoop安全认证及授权...
`HADOOP_HOME`指向你的Hadoop安装目录,`PATH`中添加`%HADOOP_HOME%\bin`,确保能直接运行bin目录下的命令,`JAVA_HOME`则是指向Java运行环境的路径,因为Hadoop是基于Java开发的。 对于Hadoop的本地模式(Local ...
- **可扩展性**:支持动态添加或删除节点,以适应不同规模的数据处理需求。 - **高吞吐量**:适用于大数据的批量处理,提供了高效的读写性能。 - **支持流式数据访问**:非常适合处理大规模数据集,支持高速流式数据...
- 如果不再需要该节点,可以将其从网络中移除,并从Master节点上的`slaves`文件中删除相应的主机名或IP地址。 #### 总结 通过以上步骤,我们可以有效地在Hadoop集群中动态地增加或减少机器,从而适应不断变化的...
2. 删除节点的Datanode服务。 二、 启动自动Balancer 自动Balancer是Hadoop集群中的一种负载均衡机制,可以根据集群中的数据分布情况,自动地将数据重新分布到不同的节点上,以提高集群的性能和可靠性。 启动...
- 删除`/home/hadoop/tmp`文件夹。 - 在Master节点上格式化NameNode。 - 启动Hadoop服务,检查服务状态。 **14. 验证集群状态:** - 在Master节点上查看Hadoop集群的状态。 - 重复运行WordCount程序测试。 #### ...
本文档旨在为 Hadoop 集群维护提供详细的操作指南,从集群启动和停止到数据平衡、节点添加、副本系数设置、平衡阈值调整、Hadoop 升级等多个方面,提供了实践操作步骤和注意事项。 一、集群启动和停止 Hadoop 集群...
java.io.IOException: Could not obtain block 是 Hadoop 中的常见问题,主要是由于结点断了,没有连接上。解决方法是检查网络连接,确保结点之间的连接是正确的。 java.lang.OutOfMemoryError: Java heap space ...
同时,可以修改conf/hadoop-env.sh文件,增加export HADOOP_HEAPSIZE=4000参数。 问题4:无法访问DataNode 问题描述:无法访问DataNode,且无法结束错误。 解决办法:该问题是由于dfs.name.dir路径已经被使用过所...
本章旨在帮助读者深入了解并掌握Hadoop的管理技巧,包括但不限于HDFS命令行工具的使用方法、如何有效地添加或删除节点、使用Ganglia进行集群性能监控以及利用Sqoop实现数据导入与导出等功能。 #### HDFS命令行工具 ...
HBase的jar包则包含了HBase Server、HBase Client、Zookeeper等相关组件,使得开发者可以与HBase集群进行交互,执行CRUD(创建、读取、更新、删除)操作。 在实际使用中,开发者可能需要将这些jar包添加到类路径...
2. 在 Hadoop Namenode 的配置文件中添加新节点的主机名。 3. 执行 bin/start-all.sh 命令启动集群。 4. 等待数据平衡完成。 三、数据平衡 数据平衡是 Hadoop 集群维护的重要一步骤。可以使用 start-balancer.sh ...
解决方法是:修改 conf/hadoop-env.sh 文件,增加 export HADOOP_HEAPSIZE=4000,这样可以增加 Hadoop 的堆大小,提高处理速度。 四、能够启动 datanode,但无法访问,也无法结束的错误 这个问题是由于 NameNode ...
10. 集群扩展:Hadoop 2.7.4支持动态添加或删除节点,方便集群规模的灵活扩展,以适应不同规模的大数据处理需求。 总的来说,Hadoop 2.7.4是一个功能强大且稳定的分布式计算框架,对于理解大数据处理原理、学习...
这是为了确保Hadoop节点之间能够正常通信。 ### 3. Java环境配置 - **创建Java目录**:使用**`sudomkdir jvm`**命令创建存放Java环境的目录。 - **移动Java库**:使用**`mv jdk1.8.0_144 //lib/jvm`**将JDK安装到/...