hadoop 2.7 添加或删除datanode节点
1.测试环境
| ip | 主机名 | 角色 |
|---|---|---|
| 10.124.147.22 | hadoop1 | namenode |
| 10.124.147.23 | hadoop2 | namenode |
| 10.124.147.32 | hadoop3 | resourcemanager |
| 10.124.147.33 | hadoop4 | resourcemanager |
| 10.110.92.161 | hadoop5 | datanode/journalnode |
| 10.110.92.162 | hadoop6 | datanode |
| 10.122.147.37 | hadoop7 | datanode |
2.配置文件中必备参数
2.1 hdfs-site.xml参数
[hadoop@10-124-147-22 hadoop]$ grep dfs\.host -A10 /usr/local/hadoop/etc/hadoop/hdfs-site.xml
<!-- datanode踢除主机列表文件 -->
<name>dfs.hosts.exclude</name>
<value>/usr/local/hadoop/etc/hadoop/dfs_exclude</value>
</property>
<!-- datanode添加主机列表文件-->
<property>
<name>dfs.hosts</name>
<value>/usr/local/hadoop/etc/hadoop/slaves</value>
</property>
2.2 yarn-site.xml参数
[hadoop@10-124-147-22 hadoop]$ grep exclude-path -A10 /usr/local/hadoop/etc/hadoop/yarn-site.xml
<!-- datanode踢除主机列表文件 -->
<name>yarn.resourcemanager.nodes.exclude-path</name>
<value>/usr/local/hadoop/etc/hadoop/dfs_exclude</value>
</property>
<!-- datanode添加主机列表文件-->
<property>
<name>yarn.resourcemanager.nodes.include-path</name>
<value>/usr/local/hadoop/etc/hadoop/slaves</value>
</property>
3.踢除现有主机
1.在namenode主机中,将要踢除主机的ip添加到hdfs-site.xml配置文件dfs.hosts.exclude参数指定的文件dfs_exclude中
[hadoop@10-124-147-22 hadoop]$ cat /usr/local/hadoop/etc/hadoop/dfs_exclude
10.122.147.37
2.将其copy至hadoop其它主机
[hadoop@10-124-147-22 hadoop]$ for i in {2,3,4,5,6,7};do scp etc/hadoop/dfs_exclude hadoop$i:/usr/local/hadoop/etc/hadoop/;done
3.更新namenode信息
[hadoop@10-124-147-22 hadoop]$ hdfs dfsadmin -refreshNodes
Refresh nodes successful for hadoop1/10.124.147.22:9000
Refresh nodes successful for hadoop2/10.124.147.23:9000
4.查看namenode 状态信息
[hadoop@10-124-147-22 hadoop]$ hdfs dfsadmin -report
Configured Capacity: 1100228980736 (1.00 TB)
Present Capacity: 1087754866688 (1013.05 GB)
DFS Remaining: 1087752667136 (1013.05 GB)
DFS Used: 2199552 (2.10 MB)
DFS Used%: 0.00%
Under replicated blocks: 11
Blocks with corrupt replicas: 0
Missing blocks: 0
Missing blocks (with replication factor 1): 0
-------------------------------------------------
Live datanodes (3):
Name: 10.122.147.37:50010 (hadoop7)
Hostname: hadoop7
Decommission Status : Decommission in progress
Configured Capacity: 250831044608 (233.60 GB)
DFS Used: 733184 (716 KB)
Non DFS Used: 1235771392 (1.15 GB)
DFS Remaining: 249594540032 (232.45 GB)
DFS Used%: 0.00%
DFS Remaining%: 99.51%
Configured Cache Capacity: 0 (0 B)
Cache Used: 0 (0 B)
Cache Remaining: 0 (0 B)
Cache Used%: 100.00%
Cache Remaining%: 0.00%
Xceivers: 1
Last contact: Tue Jul 24 10:25:17 CST 2018
Name: 10.110.92.161:50010 (hadoop5)
Hostname: hadoop5
Decommission Status : Normal
以下略
可以看到被踢除主机10.122.147.37的状态变成Decommission in progress,表示集群对存放于该节点的副本正在进行转移。当其变成Decommissioned时,即代表已经结束,相当于已经踢除集群。
同时此状态可以在hdfs的web页面查看
5.更新resourcemananger信息
[hadoop@10-124-147-32 hadoop]$ yarn rmadmin -refreshNodes
更新之后,可以在resourcemanager的web页面查看到Active Nodes 的信息
或者使用命令查看
[hadoop@10-124-147-32 hadoop]$ yarn node -list
Total Nodes:2
Node-Id Node-State Node-Http-Address Number-of-Running-Containers
hadoop5:37438 RUNNING hadoop5:8042 0
hadoop6:9001 RUNNING hadoop6:8042 0
4.添加新主机至集群
1.将原hadoop配置文件copy新主机,并安装好java环境
2.在namenode中将新主机的ip添加于dfs.hosts参数指定的文件中
[hadoop@10-124-147-22 hadoop]$ cat /usr/local/hadoop/etc/hadoop/slaves
hadoop5
hadoop6
10.122.147.37
3.将该slaves文件同步到其它主机之上
[hadoop@10-124-147-22 hadoop]$ for i in {2,3,4,5,6,7};do scp etc/hadoop/slaves hadoop$i:/usr/local/hadoop/etc/hadoop/;done
4.启动新主机的datanode进程和nodemanager进程
[hadoop@10-122-147-37 hadoop]$ sbin/hadoop-daemon.sh start datanode
starting datanode, logging to /letv/hadoop-2.7.6/logs/hadoop-hadoop-datanode-10-122-147-37.out
[hadoop@10-122-147-37 hadoop]$ jps
3068 DataNode
6143 Jps
[hadoop@10-122-147-37 hadoop]$ sbin/yarn-daemon.sh start nodemanager
starting nodemanager, logging to /letv/hadoop-2.7.6/logs/yarn-hadoop-nodemanager-10-122-147-37.out
[hadoop@10-122-147-37 hadoop]$ jps
6211 NodeManager
6403 Jps
3068 DataNode
5.刷新namenode
[hadoop@10-124-147-22 hadoop]$ hdfs dfsadmin -refreshNodes
Refresh nodes successful for hadoop1/10.124.147.22:9000
Refresh nodes successful for hadoop2/10.124.147.23:9000
6.查看hdfs信息
[hadoop@10-124-147-22 hadoop]$ hdfs dfsadmin -refreshNodes
Refresh nodes successful for hadoop1/10.124.147.22:9000
Refresh nodes successful for hadoop2/10.124.147.23:9000
[hadoop@10-124-147-22 hadoop]$ hdfs dfsadmin -report
Configured Capacity: 1351059292160 (1.23 TB)
Present Capacity: 1337331367936 (1.22 TB)
DFS Remaining: 1337329156096 (1.22 TB)
DFS Used: 2211840 (2.11 MB)
DFS Used%: 0.00%
Under replicated blocks: 0
Blocks with corrupt replicas: 0
Missing blocks: 0
Missing blocks (with replication factor 1): 0
-------------------------------------------------
Live datanodes (3):
Name: 10.122.147.37:50010 (hadoop7)
Hostname: hadoop7
Decommission Status : Normal
Configured Capacity: 250831044608 (233.60 GB)
DFS Used: 737280 (720 KB)
Non DFS Used: 1240752128 (1.16 GB)
DFS Remaining: 249589555200 (232.45 GB)
DFS Used%: 0.00%
DFS Remaining%: 99.51%
Configured Cache Capacity: 0 (0 B)
Cache Used: 0 (0 B)
Cache Remaining: 0 (0 B)
Cache Used%: 100.00%
Cache Remaining%: 0.00%
Xceivers: 1
Last contact: Tue Jul 24 17:15:09 CST 2018
Name: 10.110.92.161:50010 (hadoop5)
Hostname: hadoop5
Decommission Status : Normal
Configured Capacity: 550114123776 (512.33 GB)
DFS Used: 737280 (720 KB)
Non DFS Used: 11195953152 (10.43 GB)
DFS Remaining: 538917433344 (501.91 GB)
DFS Used%: 0.00%
DFS Remaining%: 97.96%
Configured Cache Capacity: 0 (0 B)
Cache Used: 0 (0 B)
Cache Remaining: 0 (0 B)
Cache Used%: 100.00%
Cache Remaining%: 0.00%
Xceivers: 1
Last contact: Tue Jul 24 17:15:10 CST 2018
Name: 10.110.92.162:50010 (hadoop6)
Hostname: hadoop6
Decommission Status : Normal
Configured Capacity: 550114123776 (512.33 GB)
DFS Used: 737280 (720 KB)
Non DFS Used: 1291218944 (1.20 GB)
DFS Remaining: 548822167552 (511.13 GB)
DFS Used%: 0.00%
DFS Remaining%: 99.77%
Configured Cache Capacity: 0 (0 B)
Cache Used: 0 (0 B)
Cache Remaining: 0 (0 B)
Cache Used%: 100.00%
Cache Remaining%: 0.00%
Xceivers: 1
Last contact: Tue Jul 24 17:15:10 CST 2018
7.更新resourcemanager信息
[hadoop@10-124-147-32 hadoop]$ yarn rmadmin -refreshNodes
[hadoop@10-124-147-32 hadoop]$ yarn node -list
18/07/24 18:11:23 INFO client.ConfiguredRMFailoverProxyProvider: Failing over to rm2
Total Nodes:3
Node-Id Node-State Node-Http-Address Number-of-Running-Containers
hadoop7:3296 RUNNING hadoop7:8042
hadoop5:37438 RUNNING hadoop5:8042 0
hadoop6:9001 RUNNING hadoop6:8042 0
8.include与exclude对yarn和hdfs的影响
判断一个nodemanager能否连接到resourcemanager的条件是,该nodemanager出现在include文件且不出现exclude文件中
而hdfs规与yarn不太一样(hdfs中的include直接即为dfs.hosts),其规则如下表
| 是否在include | 是否在exclude | 是否可连接 |
|---|---|---|
| 否 | 否 | 无法连接 |
| 否 | 是 | 无法连接 |
| 是 | 否 | 可以连接 |
| 是 | 是 | 可连接,即将解除 |
如果未指定include或者include为空,即意味着所有节点都在include文件
5.遇到异常
在移除datanode中的,会遇到被移除datanode一直处于Decommission in progress状态,这是因为默认测试环境中,没有设置副本数量,在hadoop中的默认副本数为3,而本测试环境中,因为datanode总共只有3个节点,所以会出现该异常
将副本数量设置成小于datanode数量即可
[hadoop@10-124-147-22 hadoop]$ grep dfs\.replication -C3 /usr/local/hadoop/etc/hadoop/hdfs-site.xml
<!-- 副本复制数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
hadoop 2.7 添加或删除datanode节点的更多相关文章
- (转载) 添加或删除datanode节点
转载:https://www.cnblogs.com/marility/p/9362168.html 1.测试环境 ip 主机名 角色 10.124.147.22 hadoop1 namenode 1 ...
- Hadoop 2.6.3动态增加/删除DataNode节点
假设集群操作系统均为:CentOS 6.7 x64 Hadoop版本为:2.6.3 一.动态增加DataNode 1.准备新的DataNode节点机器,配置SSH互信,可以直接复制已有DataNode ...
- hadoop集群中动态添加新的DataNode节点
集群中现有的计算能力不足,须要另外加入新的节点时,使用例如以下方法就能动态添加新的节点: 1.在新的节点上安装hadoop程序,一定要控制好版本号,能够从集群上其它机器cp一份改动也行 2.把name ...
- Hadoop DataNode 节点的动态添加和动态删除
动态添加 DataNode 节点 hadoop环境是必须的 需要加入新的 DataNode 节点,前提是已经配置好 SSH 无密登录:直接复制已有DataNode中.ssh目录中的authorized ...
- Hadoop 添加删除数据节点(datanode)
前提条件: 添加机器安装jdk等,最好把环境都搞成一样,示例可做相应改动 实现目的: 在hadoop集群中添加一个新增数据节点. 1. 创建目录和用户 mkdir -p /app/hadoop gr ...
- Hadoop记录-Hadoop集群添加节点和删除节点
1.添加节点 A:新节点中添加账户,设置无密码登陆 B:Name节点中设置到新节点的无密码登陆 C:在Name节点slaves文件中添加新节点 D:在所有节点/etc/hosts文件中增加新节点(所有 ...
- Hadoop中正确地添加和移除节点
正确地添加和移除节点 添加节点 克隆 克隆一台全新的Linux(如有IP冲突,可右击VMware右下角网络图标断开连接) 打开/etc/hostname修改主机名 打开/etc/sysconfig/n ...
- adoop集群动态添加和删除节点
hadoop集群动态添加和删除节点说明 上篇博客我已经安装了Hadoop集群(hadoop集群的安装步骤和配置),现在写这个博客我将在之前的基础上进行节点的添加的删除. 首先将启动四台机器(一主三从) ...
- 【Hadoop故障处理】全分布下,DataNode进程正常启动,但是网页上不显示,并且DataNode节点为空
[故障背景] DataNode进程正常启动,但是网页上不显示,并且DataNode节点为空. /etc/hosts 的ip和hostname配置正常,各个机器之间能够ping通. [日志错误信息] ...
随机推荐
- SSH配置与修改
ssh文件路径:/etc/ssh/ ssh的日志文件:/var/log/secure 端口修改:./sshd_config 服务启停: service sshd start/stop/restart ...
- spring+springMVC+mybatis框架整合——配置文件说明
如下图 web.xml配置说明: spring配置文件说明-1: spring配置文件说明-2: spring配置助记: 扫注(base) 读配(loc) 数据源(和comb(使用c3p0数据源)) ...
- mybatis 动态Sql的模糊查询
where teacher.tname like concat(concat(#{tName}),'%') 2:distinct的使用 下面先来看看例子: table id name 1 ...
- click和blur冲突的问题
昨天在前端群里讨论到一个问题,大家平时做表单验证的时候一般都有个input框和删除按钮,然后习惯性在失去焦点的时候去验证输入的内容是否正确,做验证,发请求等等.这个时候,那个点击删除按钮往往也就触发了 ...
- Android中微信抢红包插件原理解析和开发实现
一.前言 自从去年中微信添加抢红包的功能,微信的电商之旅算是正式开始正式火爆起来.但是作为Android开发者来说,我们在抢红包的同时意识到了很多问题,就是手动去抢红包的速度慢了,当然这些有很多原因导 ...
- java 标准输入输出流,打印流,数据流
1 package stream; import static org.junit.Assert.assertNotNull; import java.io.BufferedReader; impor ...
- No orientation specified, and the default is horizontal.异常处理(转)
参考:http://blog.csdn.net/sky_monkey/article/details/21466975 整的错误提示信息为: No orientation specified, and ...
- bzoj 1026: [SCOI2009]windy数 & 数位DP算法笔记
数位DP入门题之一 也是我所做的第一道数位DP题目 (其实很久以前就遇到过 感觉实现太难没写) 数位DP题目貌似多半是问从L到R内有多少个数满足某些限制条件 只要出题人不刻意去卡多一个$log$什么的 ...
- 边缘节点 如何判断CDN的预热任务是否执行完成刷新 路由追踪 近期最少使用算法
阿里云内容分发网络(Content Delivery Network,简称CDN)是建立并覆盖在承载网之上,由分布在不同区域的边缘节点服务器群组成的分布式网络.阿里云CDN分担源站压力,避免网络拥塞, ...
- 用 Flask 来写个轻博客 (34) — 使用 Flask-RESTful 来构建 RESTful API 之三
目录 目录 前文列表 应用请求中的参数实现 API 分页 测试 前文列表 用 Flask 来写个轻博客 (1) - 创建项目 用 Flask 来写个轻博客 (2) - Hello World! 用 F ...