Loading [MathJax]/jax/input/TeX/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >HDFS服役新数据节点与退役旧数据节点

HDFS服役新数据节点与退役旧数据节点

作者头像
用户4870038
发布于 2021-02-05 03:37:30
发布于 2021-02-05 03:37:30
74200
代码可运行
举报
运行总次数:0
代码可运行

文章目录

为什么要让新数据节点服役于原有的集群?

随着公司业务的增长,数据量越来越大,原有的数据节点的容量已经不能满足存储数据的需求,需要在原有集群基础上动态添加新的数据节点。

准备新的节点

修改mac地址以及IP地址

修改mac地址命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vim /etc/udev/rules.d/70-persistent-net.rules

修改ip地址命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vim /etc/sysconfig/network-scripts/ifcfg-eth0

关闭防火墙,开机不自启

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
service iptables stop
chkconfig iptables off

关闭selinux

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vi /etc/selinux/config

ssh免密码登录

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ssh-keygen -t rsa
ssh-copy-id node01

修改主机名

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vi /etc/sysconfig/network

设置主机名和IP的对应关系

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
vi /etc/hosts

在hosts内写入一下内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
192.168.100.11 node01
192.168.100.12 node02
192.168.100.13 node03
192.168.100.14 node04

远程拷贝:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
scp /etc/hosts node02:/etc/

安装jdk

在node01,将jdk解压后的包拷贝到node04上

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /export/servers/
scp -r jdk1.8.0_144/ node04:$PWD

在node01上,将jdk的配置文件也拷贝到node04上

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /etc/profile.d/
scp java.sh node04:$PWD

安装Hadoop

在node01,将Hadoop解压后的包拷贝到node04上

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@node01 hadoop]# cd /export/servers/
[root@node01 servers]# scp hadoop-2.6.0-cdh5.14.0/ node04:$PWD

在node01上,将Hadoop的配置文件也拷贝到node04上

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /etc/profile.d/
scp hadoop.sh node04:$PWD

服役新节点具体步骤

创建 dfs.hosts 文件

在 node01 也就是namenode 所在的机器的 /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop目录下创建dfs.hosts文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
vim dfs.hosts

添加如下主机名称(包含新服役的节点)

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
node01
node02
node03
node04

node01编辑 hdfs-site.xml 添加以下配置

在namenode的hdfs-site.xml配置文件中增加dfs.hosts属性 node01执行以下命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
vim hdfs-site.xml

在hdfs-site.xml内写入一下内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<property>
	<name>dfs.hosts</name>
	<value>/export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop/dfs.hosts</value>
</property>

刷新 namenode

node01执行一下命令刷新namenode

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
hdfs dfsadmin -refreshNodes

出现Refresh nodes successful代表刷新成功

更新resourceManager节点

node01执行一下命令刷新resourceManager

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn rmadmin -refreshNodes

出现19/11/08 03:52:37 INFO client.RMProxy: Connecting to ResourceManager at node01/192.168.100.11:8033代表刷新成功

namenode的slaves文件增加新服务节点主机名称

node01编辑slaves文件,并添加新增节点的主机,更改完后,slaves文件不需要分发到其他机器上面去 node01执行以下命令编辑slaves文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
vi slaves

在slaves内写入一下内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
node01
node02
node03
node04

单独启动新增节点

node04服务器执行以下命令,启动datanode和nodemanager

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /export/servers/hadoop-2.6.0-cdh5.14.0/
sbin/hadoop-daemon.sh start datanode
sbin/yarn-daemon.sh start nodemanager

浏览器查看

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
http://node01:50070/dfshealth.html#tab-overview
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
http://node01:8088/cluster

使用负载均衡命令,让数据均衡负载所有机器

node01执行以下命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /export/servers/hadoop-2.6.0-cdh5.14.0/
sbin/start-balancer.sh

退役旧数据节点

创建dfs.hosts.exclude配置文件

在namenod的cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop目录下创建dfs.hosts.exclude文件,并添加需要退役的主机名称 node01执行以下命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
vim dfs.hosts.exclude

在 dfs.hosts.exclude 添加以下内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
node04

编辑namenode所在机器的hdfs-site.xml

编辑namenode所在的机器的hdfs-site.xml配置文件,添加以下配置 node01执行以下命令

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
vim hdfs-site.xml

在 hdfs-site.xml 添加以下内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<property>
	<name>dfs.hosts.exclude</name>
    <value>/export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop/dfs.hosts.exclude</value>
</property>

刷新 namenode

node01执行一下命令刷新namenode

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
hdfs dfsadmin -refreshNodes

出现Refresh nodes successful代表刷新成功

更新resourceManager节点

node01执行一下命令刷新resourceManager

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
yarn rmadmin -refreshNodes

出现19/11/08 03:52:37 INFO client.RMProxy: Connecting to ResourceManager at node01/192.168.100.11:8033代表刷新成功

查看web浏览界面

浏览器访问

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
http://node01:50070

节点退役完成,停止该节点进程

等待退役节点状态为decommissioned(所有块已经复制完成),停止该节点及节点资源管理器。注意:如果副本数是3,服役的节点小于等于3,是不能退役成功的,需要修改副本数后才能退役。

node01执行以下命令,停止该节点进程

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /export/servers/hadoop-2.6.0-cdh5.14.0
sbin/hadoop-daemon.sh stop datanode
sbin/yarn-daemon.sh stop nodemanager

从include文件中删除退役节点

namenode所在节点也就是node01执行以下命令删除退役节点

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
vim dfs.hosts

在 dfs.hosts 添加以下内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
node01
node02
node03

namenode所在节点也就是node01执行以下命令刷新namenode和resourceManager

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
hdfs dfsadmin -refreshNodes
yarn rmadmin -refreshNodes

从namenode的slave文件中删除退役节点

namenode所在机器也就是node01执行以下命令从slaves文件中删除退役节点

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop
vim slaves

在 slaves 添加以下内容

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
node01
node02
node03

如果数据负载不均衡,执行以下命令进行均衡负载

node01执行以下命令进行均衡负载

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /export/servers/hadoop-2.6.0-cdh5.14.0/
sbin/start-balancer.sh
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/11/07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
HDFS新增节点与删除节点(9)
随着公司业务的增长,数据量越来越大,原有的数据节点的容量已经不能满足存储数据的需求,需要在原有集群基础上动态添加新的数据节点。因此,本篇博客小菌为大家带来的是HDFS新增节点与删除节点的内容。
大数据梦想家
2021/01/22
2.5K0
HDFS新增节点与删除节点(9)
大数据成长之路-- hadoop集群的部署(4)
在namenod的cd /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop目录下创建dfs.hosts.exclude文件,并添加需要退役的主机名称 node01执行以下命令
Maynor
2021/04/09
4980
大数据成长之路-- hadoop集群的部署(3)
第六步:node04服务器关机重启并生成公钥与私钥 node04执行以下命令关机重启
Maynor
2021/04/09
3450
【史上最全】Hadoop 核心 - HDFS 分布式文件系统详解(上万字建议收藏)
Hadoop 分布式系统框架中,首要的基础功能就是文件系统,在 Hadoop 中使用 FileSystem 这个抽象类来表示我们的文件系统,这个抽象类下面有很多子实现类,究竟使用哪一种,需要看我们具体的实现类,在我们实际工作中,用到的最多的就是HDFS(分布式文件系统)以及LocalFileSystem(本地文件系统)了。
五分钟学大数据
2021/02/08
2.3K0
【史上最全】Hadoop 核心 - HDFS 分布式文件系统详解(上万字建议收藏)
Hadoop(CDH)分布式环境搭建(简单易懂,绝对有效)
本文是由alice菌发表在:https://blog.csdn.net/weixin_44318830/article/details/102846055
王知无-import_bigdata
2020/05/08
1.7K0
Hadoop(CDH)分布式环境搭建(简单易懂,绝对有效)
安装Hadoop集群
。。。 查看之前的这篇安装jdk: https://mp.csdn.net/mdeditor/102639879# 保证至少有三个虚拟机,每个虚拟机完成上面操作
用户4870038
2021/02/05
2.1K0
安装Hadoop集群
hadoop-hdfs安装部署
上传到指定目录输入命令rz (如果没有这个命令 需要安装lrzsz插件 命令 yum -y install lrzsz)
云缓缓知我意
2021/04/15
1.3K0
hadoop-hdfs安装部署
带你快速搭建Hadoop的HA集群!
相信在看了上一篇博客《带你快速认识NamenodeHA和Yarn HA,为搭建HadoopHA集群打下基础!》后,大家一定对于如何搭建HA集群非常期待٩(๑❛ᴗ❛๑)۶不要慌,本篇博客即将为大家带来搭建HA集群的详细教程!
大数据梦想家
2021/01/27
8780
带你快速搭建Hadoop的HA集群!
五万字 | 耗时一个月,整理出这份Hadoop吐血宝典
一、HDFS 二、MapReduce 三、Yarn 四、Hadoop3.x 新特性 五、Hadoop 大厂面试真题解析
五分钟学大数据
2021/10/26
1.6K0
大数据成长之路------hadoop集群的部署(2)
7、启动集群 a)格式化集群 在第一个节点执行 hadoop namenode -format
Maynor
2021/04/09
3130
快速带你搭建Hadoop的HA集群!(确定不来看看吗?)
相信大家在看了前面一篇《Hadoop High Availability (高可用)详细讲解》之后,大家一定在想怎么搭建Hadoop HA的集群呢? 不要着急 ,小生接下来就带大家快速搭建一下(#.#)。
刘浩的BigDataPath
2021/04/13
4810
快速带你搭建Hadoop的HA集群!(确定不来看看吗?)
HDFS权限问题以及伪造用户(11)
之前在谈到HDFS常用命令的时候,说过hdfs的文件权限验证与linux系统的类似,但hdfs的文件权限需要开启之后才生效,否则在HDFS中设置权限将不具有任何意义!而在设置了权限之后,正常的HDFS操作可能受阻,这种情况下我们就需要伪造用户!本篇博客,小菌将为大家带来关于HDFS权限问题以及伪造用户的相关内容!
大数据梦想家
2021/01/22
6620
HDFS权限问题以及伪造用户(11)
HDSF集群扩容
1、关闭防火墙 2、关闭selinux 3、修改主机名 4、主机名与IP的对应关系 5、SSH免密码登录 6、安装JDK
云缓缓知我意
2021/04/15
3300
impala的安装部署
hive安装包scp在所有需要安装impala的节点上,因为impala需要引用hive的依赖包。
用户4870038
2021/02/05
2.8K0
impala的安装部署
HDFS中namenode故障恢复(8)
secondaryNamenode对namenode当中的fsimage和edits进行合并时,每次都会先将namenode的fsimage与edits文件拷贝一份过来,所以fsimage与edits文件在secondarNamendoe当中也会保存有一份,如果namenode的fsimage与edits文件损坏,那么我们可以将secondaryNamenode当中的fsimage与edits拷贝过去给namenode继续使用,只不过有可能会丢失一部分数据。 这里涉及到几个配置选项:
大数据梦想家
2021/01/22
4190
HDFS中namenode故障恢复(8)
如何在集群里服役新节点、退役旧节点(DataNode)
①准备机器,配置好JDK、hadoop的环境变量,在hdfs-site.xml和yarn-site.xml文件中分别配置NameNode和ResourceManager所在主机名 ②待服役成功后,启动datanode和nodemanager进程即可 ③服役了新的DN节点后,可以执行再平衡的命令,这个命令可以将集群中块进行重新平衡分配,实现负载均衡: ./start-balancer.sh
孙晨c
2020/07/14
8340
Hue集成HDFS
相信大家在看了《Hue的安装,配置,编译》之后,都已经成功把Hue安装好了。
大数据梦想家
2021/01/26
1.3K0
Hue集成HDFS
MapReduce的jobHistory介绍
接下来小菌将分享如何在CDH集群环境下开启jobHistory服务。(不清楚集群环境搭建的小伙伴们可以参考小菌之前的博客哦(Hadoop(CDH)分布式环境搭建)
大数据梦想家
2021/01/22
8780
MapReduce的jobHistory介绍
大数据重点技术----数据丢失还原
故障恢复步骤 第一步:杀死namenode进程 使用jps查看namenode进程号,然后直接使用kill -9 进程号杀死namenode进程
Maynor
2021/04/09
7170
HBase安装部署
注意事项:HBase强依赖zookeeper和hadoop,安装HBase之前一定要保证zookeeper和hadoop启动成功,且服务正常运行
用户4870038
2021/02/05
7320
推荐阅读
相关推荐
HDFS新增节点与删除节点(9)
更多 >
LV.1
这个人很懒,什么都没有留下~
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验