HDFS添加删除节点并进行hdfs balance
方式1:静态添加datanode,停止namenode方式
1.停止namenode
2.修改slaves文件,并更新到各个节点
3.启动namenode
4.执行hadoop balance命令。(此项为balance集群使用,如果只是添加节点,则此步骤不需要)
-----------------------------------------
方式2:动态添加datanode,不停namenode方式
1.修改slaves文件,添加需要增加的节点host或者ip,并将其更新到各个节点
2.在datanode中启动执行启动datanode命令。命令:sh hadoop-daemon.sh start datanode
3.可以通过web界面查看节点添加情况。或使用命令:sh hadoop dfsadmin -report
4.执行hadoop balance命令。(此项为balance集群使用,如果只是添加节点,则此步骤不需要)
------------------------
针对第4点,start-balancer.sh可以执行-threshold参数。
-threshold参数是指定平衡的阈值。
-threshold的默认是10,即每个datanode节点的实际hdfs存储使用量/集群hdfs存储量
举例:
datanode hdfs使用量1.2G;
集群总hdfs存储量10T即10000G;
则t值为1.2/10000 = 0.00012;
当执行balance的-t参数小于0.00012时,集群进行balance;
命令为:start-balancer.sh -threshold 0.0001
注:
1. balance命令可以在namenode或者datanode上启动;
可以随时停止balance命令。
balance的默认带宽是1M/s。
2. slave文件是用于重启时使用。集群的start和stop需要读取slave文件。
启用datanode时只要在hdfs-site中配置了namenode位置,就可以将信息push给namenode。
查看namenode的http管理界面,可查看节点添加情况。
---------------------------------------------------------------
************************************************************************************
HDFS删除节点
方式1:通过dead方式(namenode上):
1. sh hadoop dfsadmin -refreshServiceAcl
说明:dead方式并未修改slave文件和hdfs-site文件。
所以在集群重启时,该节点不会被添加到namenode的管理中。
此次在namenode上进行,其他节点可另行实验。,该命令会将该节点状态置为dead。
----------------------------------------------------------------
方式2:通过decommission方式:
a) 修改hdfs-site,添加exclude字段中的排除的节点。
b) 执行sh hadoop dfsadmin -refreshNodes,强制刷新。
c) 查看节点状态,该节点的状态为decommission。
说明:decommission方式修改了hdfs-site文件,未修改slave文件。
所以集群重启时,该节点虽然会被启动为datanode,但是由于添加了exclude,所以namenode会将该节点置为decommission。
此时namenode不会与该节点进行hdfs相关通信。也即exclude起到了一个防火墙的作用。
注:
1. 如果在某个节点单独停止datanode,那么在namenode的统计中仍会出现该节点的datanode信息。
此时可通过dead或者decommission(退役)方式下线机器。
---------------------------------------------------------------
分享到:
相关推荐
这两个端口是Hadoop集群中非常重要的组成部分,它们使得插件能够与HDFS系统进行通信。 在安装完成后,无需进行繁琐的测试,只需直接点击“应用”,插件就能立即生效。这一特性极大地减少了设置时间,使开发者可以...
- **可扩展性**:支持动态添加或删除节点,以适应不同规模的数据处理需求。 - **高吞吐量**:适用于大数据的批量处理,提供了高效的读写性能。 - **支持流式数据访问**:非常适合处理大规模数据集,支持高速流式数据...
Hadoop 0.21版本是Hadoop发展过程中的一个重要里程碑,它在HDFS上进行了一系列的功能改进和优化,为大数据处理提供了更高效、更稳定的基础。本文将深入探讨基于Hadoop 0.21版本的HDFS功能修改,以帮助读者更好地理解...
5. **删除文件或目录**:`hadoop fs -rm hdfs://namenode:port/path`删除文件,`hadoop fs -rm -r hdfs://namenode:port/path`删除目录及其所有内容。 6. **重命名**:`hadoop fs -mv hdfs://namenode:port/oldpath...
为了充分利用Hadoop和HDFS,开发者和管理员需要掌握如何规划集群、监控系统状态、进行故障排查,以及如何通过MapReduce或Spark等工具进行数据处理。总的来说,这个压缩包提供的资源将帮助你深入了解并实践Hadoop ...
《Hadoop源码分析——HDFS部分》 Hadoop,作为开源大数据处理的基石,其核心组件之一就是HDFS(Hadoop Distributed File System),这是一个高度容错性的分布式文件系统,设计用于运行在廉价硬件上,能够处理大规模...
HDFS 中 NameNode 节点的配置、备份和恢复 ...HDFS 中 NameNode 节点的配置、备份和恢复是非常重要的, SecondaryNameNode 节点的配置和备份策略可以有效地减少 NameNode 节点的启动时间,并确保 HDFS 集群的高可用性。
* DataNode(数据节点)是 HDFS 实例中在单独机器上运行的软件,Hadoop 集群包含一个 NameNode 和大量的 DataNode。 HDFS 数据读写流程 HDFS 数据读写流程主要包括以下几个步骤: 1. 客户端向 NameNode 请求文件...
《Hadoop技术内幕:深入解析HADOOP COMMON和HDFS架构设计与实现原理》这本书是IT领域的经典之作,专门探讨了Hadoop的核心组件——Hadoop Common和HDFS(Hadoop Distributed File System)的设计理念、架构及其背后的...
HDFS 采用块复制的概念,让数据在集群的节点间进行复制,实现了高吞吐量的数据访问。 MapReduce 是一个高效的计算方法,能够处理 PB 级乃至 ZB 级的数据。它将计算任务分解成多个小任务,分布式执行在多个节点上,...
3. 解压并配置环境变量:将下载的Hadoop解压到指定目录,并在环境变量`PATH`中添加Hadoop的bin目录。 4. 配置Hadoop:修改`etc/hadoop`目录下的配置文件,如`hadoop-env.sh`、`core-site.xml`、`hdfs-site.xml`等,...
Hadoop分布式文件系统(Hadoop Distributed File System, HDFS)作为Hadoop项目的核心组成部分之一,专为在大规模集群环境中高效存储与处理海量数据而设计。它采用了主从架构模型,并且通过一系列组件实现了高度可靠...
首先,确保你已经了解了CDH(Cloudera Distribution Including Apache Hadoop)的基础知识,它是一个企业级的大数据平台,提供了Hadoop生态系统的一系列组件,如HDFS、YARN、MapReduce、Hive、HBase等。CDH5.9.0是...
### 详解Hadoop核心架构HDFS #### HDFS体系架构概览 Hadoop作为一个领先的开源分布式计算框架,其核心组成部分之一便是Hadoop Distributed File System(HDFS),它为大规模数据处理提供了高效、可靠且可扩展的...
HDFS设计的目标是处理PB级别的数据,通过将大文件分割成块并在集群中的多台机器上进行分布式存储,实现了高可用性和容错性。每个数据块都有多个副本,即使部分节点故障,也能保证数据的完整性。HDFS的API允许开发者...
《Hadoop技术内幕:深入解析HADOOP COMMON和HDFS架构设计与实现原理》这本书是Hadoop技术领域的一本深入解析之作,它详尽地探讨了Hadoop的两大核心组件——HADOOP COMMON和HDFS(Hadoop Distributed File System)的...
5. **集群的线性水平可扩展性**:随着需求的增长,可以通过简单地添加更多的节点来扩展HDFS集群。 6. **一次写入,多次读取模型**:一旦文件创建完成,它们通常不会再被修改。 7. **支持可移植性**:HDFS不仅支持...
配置Hadoop HA集群需要对这些文件进行精确调整,以实现命名节点的自动故障切换、保证数据的安全性和一致性,以及优化资源分配和任务调度。在实际操作中,还需要关注其他配置,比如Zookeeper的设置(用于协调NN的故障...