Hadoop的datanode 服役(上线)和退役(下线)

Hadoop集群中管理员经常需要向集群中添加节点,或从集群中移除节点,例如:为了扩大存储容量,需要上线一个境界点,相反的,如果想要缩小集群规模,则需要解除节点,如果某些节点出现反常,例如故障率过高或者性能过于低下,则需要下线节点,在上线新节点(而且保证不关闭集群和不损害集群中某一天机器的数据节点数据块丢失情况下),我们需要采用以下方式来解决这些问题

1,服役(上线)datanode(nodemanager)新节点

我们先把步骤规划出来,在进行操作

(1)将新节点到网络地址添加到include文件中
(2)运行以下指令,经过审核的一系列datanode集合更新至namenode信息:
     hadoop  dfsadmin -refreshNodes 
(3)运行以下指令,将经过审核的一系列nodemanager信息更新至resourceManager:
     hadoop  mardmin   -refreshNodes
(4)以新节点更新 slaves文件
(5)启动新的datanode和nodemanager
(6)检查新的datanode和nodemanger是否成功出现在webui里
(7)启动均衡器

2,操作服役实战

     0,首先准备一台和其他机器一样的配置的服务器或者克隆一台都行,不过ip,主机名,主机映射都要提前弄好

     1,配置文件

           这个配置决定数据节点能否连接namenode/nodemanager,默认是关闭的,他会提取slaves文件的主机,但一旦你开启了他就会默认从这个配置来获取datanode/nodemanager的主机。

[hdfs-site.xml]	
    <property>
		<!-- 指定一个文件的完整路径,没有指定,说明说有节点都可连接 -->		
		<name>dfs.hosts</name>
		<value>/opt/modules/hadoop/etc/hadoop/datanodes.host</value>
	</property>
[yarn-seit.xml]
    <property>
        <!--配置nodemanager -->
		<name>yarn.resourcemanager.nodes.include-path</name>
		<value>/opt/modules/hadoop/etc/hadoop/nodemanagers.host</value>
	</property>

   2,在刚才两个配置的文件的路径创建出来(注意我们配置文件的信息和创建的文件都要在namenode和resourceMangerj节点上,因为这两个节点我都放在了一台机器上,所以不需要分发)

     $>touch /opt/modules/hadoop/etc/hadoop/datanodes.host

     $>touch /opt/modules/hadoop/etc/hadoop/nodemanagers.host

 3,编辑datanodes.host和nodemanagers.host(按自己现有的机器继续编辑)

t125
t126
t127
t128
t129(新加的节点)

 4,更新hdfs和yarn

    $>hdfs dfsadmin -refreshNodes    //更新hdfs

    $>yarn rmadmin -refreshNodes   //更新yarn

    $>yarn node -list   //刷新yarn节点个数

5,使用均衡器来分配资源

    $>start-balancer.sh

6,查看web ui

现在就是服役成功了 

 1,退役(下线)datanode(nodemanager)节点

 1,配置文件

[hdfs-site.xml]	
	<property>
		<!-- 指定一个文件的完整路径,不可连接的节点名称 -->		
		<name>dfs.hosts.exclude</name>
		<value>/opt/modules/hadoop/etc/hadoop/datanodes.exclude.host</value>
	</property>

[yarn-site.xml]
	<property>
		<!-- 指定一个文件的完整路径,不可连接的节点名称 -->		
		<name>yarn.resourcemanager.nodes.exclude-path</name>
		<value>/opt/modules/hadoop/etc/hadoop/nms.exclude.host</value>
	</property>

   2,在刚才两个配置的文件的路径创建出来(注意我们配置文件的信息和创建的文件都要在namenode和resourceMangerj节点上,因为这两个节点我都放在了一台机器上,所以不需要分发)

     $>touch /opt/modules/hadoop/etc/hadoop/datanodes.exclude.host

     $>touch /opt/modules/hadoop/etc/hadoop/nms.exclude.host

 3,编辑datanodes.exclude.hostt和datanodes.exclude.host(按自己现有的机器继续编辑)


t129(退役的节点)

 4,更新hdfs和yarn

    $>hdfs dfsadmin -refreshNodes    //更新hdfs

    $>yarn rmadmin -refreshNodes   //更新yarn

5,使用均衡器来分配资源

    $>start-balancer.sh

6,查看web ui

 include和exclude的优先级
------------------------------
    include            exclude            
    no                no            //不能连接
    no                yes            //不能连接
    yes                no            //可连接
    yes                yes            //可连但退役状态.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值