_服役新节点,退役旧节点,多目录配置。+_HDFS2.x的新特性

服役新的节点

1、首先克隆一个新的虚拟机,里面的hadoop等环境都配好了

之后修改ip通过 root进行登录,在原本好的虚拟机上进行分发操作_服役新节点,退役旧节点,多目录配置。+_HDFS2.x的新特性

 之后再发java

_服役新节点,退役旧节点,多目录配置。+_HDFS2.x的新特性

发环境变量

_服役新节点,退役旧节点,多目录配置。+_HDFS2.x的新特性

 在新的虚拟机上进行:

_服役新节点,退役旧节点,多目录配置。+_HDFS2.x的新特性这是重新运行环境变量

之后进入hadoop删除data和logs让他变成一个全新的机器

就会发现

_服役新节点,退役旧节点,多目录配置。+_HDFS2.x的新特性

 datanode会主动Namenode请求。这样服役新的节点就做完了

然后就是退役旧的节点:(一下的名字可以改成whitelist和blacklist)

6.5.1 添加白名单

添加到白名单的主机节点都允许访问NameNode不在白名单的主机节点,都会退出。

配置白名单的具体步骤如下:

1)在NameNode/opt/module/hadoop-2.7.2/etc/hadoop目录创建dfs.hosts文件

[ hadoop]$ pwd

/opt/module/hadoop-2.7.2/etc/hadoop

[ hadoop]$ touch dfs.hosts

[ hadoop]$ vi dfs.hosts

添加如下主机名称(不添加hadoop105)

hadoop102

hadoop103

hadoop104

2)在NameNodehdfs-site.xml配置文件中增加dfs.hosts属性

<property>

<name>dfs.hosts</name>

<value>/opt/module/hadoop-2.7.2/etc/hadoop/dfs.hosts</value>

</property>

(3)配置文件分发

[ hadoop]$ xsync hdfs-site.xml

(4)刷新NameNode

[ hadoop-2.7.2]$ hdfs dfsadmin -refreshNodes

Refresh nodes successful

(5)更新ResourceManager节点

[ hadoop-2.7.2]$ yarn rmadmin -refreshNodes

17/06/24 14:17:11 INFO client.RMProxy: Connecting to ResourceManager at hadoop103/192.168.1.103:8033

(6)在web浏览器上查看

 _服役新节点,退役旧节点,多目录配置。+_HDFS2.x的新特性

4. 如果数据不均衡,可以用命令实现集群的再平衡

[ sbin]$ ./start-balancer.sh

starting balancer, logging to /opt/module/hadoop-2.7.2/logs/hadoop-atguigu-balancer-hadoop102.out

Time Stamp               Iteration#  Bytes Already Moved  Bytes Left To Move  Bytes Being Moved

6.5.2 黑名单退役

黑名单上面的主机都会被强制退出。

1.NameNode的/opt/module/hadoop-2.7.2/etc/hadoop目录创建dfs.hosts.exclude文件

[ hadoop]$ pwd

/opt/module/hadoop-2.7.2/etc/hadoop

[ hadoop]$ touch dfs.hosts.exclude

[ hadoop]$ vi dfs.hosts.exclude

添加如下主机名称(要退役的节点)

hadoop105

2.在NameNodehdfs-site.xml配置文件中增加dfs.hosts.exclude属性

<property>

<name>dfs.hosts.exclude</name>

      <value>/opt/module/hadoop-2.7.2/etc/hadoop/dfs.hosts.exclude</value>

</property>

3.刷新NameNode、刷新ResourceManager

[ hadoop-2.7.2]$ hdfs dfsadmin -refreshNodes

Refresh nodes successful

[ hadoop-2.7.2]$ yarn rmadmin -refreshNodes

17/06/24 14:55:56 INFO client.RMProxy: Connecting to ResourceManager at hadoop103/192.168.1.103:8033

4. 检查Web浏览器,退役节点的状态为decommission in progress(退役),说明数据节点正在复制块到其他节点,如图3-17所示

 _服役新节点,退役旧节点,多目录配置。+_HDFS2.x的新特性

3-17  退役中

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

_服役新节点,退役旧节点,多目录配置。+_HDFS2.x的新特性

3-18 已退役

[ hadoop-2.7.2]$ sbin/hadoop-daemon.sh stop datanode

stopping datanode

[ hadoop-2.7.2]$ sbin/yarn-daemon.sh stop nodemanager

stopping nodemanager

6. 如果数据不均衡,可以用命令实现集群的再平衡

[ hadoop-2.7.2]$ sbin/start-balancer.sh

starting balancer, logging to /opt/module/hadoop-2.7.2/logs/hadoop-atguigu-balancer-hadoop102.out

Time Stamp               Iteration#  Bytes Already Moved  Bytes Left To Move  Bytes Being Moved

注意不允许白名单和黑名单同时出现同一个主机名称

 HDFS2的新特性:

小文件的归档操作:

_服役新节点,退役旧节点,多目录配置。+_HDFS2.x的新特性

3.案例实操

1需要启动YARN进程

[ hadoop-2.7.2]$ start-yarn.sh

2归档文件

把/user/atguigu/input目录里面的所有文件归档成一个叫input.har的归档文件,并把归档后文件存储到/user/atguigu/output路径下。

[ hadoop-2.7.2]$ bin/hadoop archive -archiveName input.har –p  /user/atguigu/input   /user/atguigu/output

3)查看归档

[ hadoop-2.7.2]$ hadoop fs -lsr /user/atguigu/output/input.har

[ hadoop-2.7.2]$ hadoop fs -lsr har:///user/atguigu/output/input.har

4)解归档文件

[ hadoop-2.7.2]$ hadoop fs -cp har:/// user/atguigu/output/input.har/*    /user/atguigu

相关推荐