写在前面的话
Hdfs采用分布式架构,为上层的应用和用户提供可扩展、高吞吐、高可靠的数据存储服务。在整个Hadoop生态系统中,hdfs处于最底层,也是最无可替代的一个基础设施。从2008年hadoop-0.10.1版本开始到现在的hadoop-3.0.0-beta1,hdfs已经走过了近10个年头,其架构和功能特性也发生了巨大的变化。特别是hdfs3.0.0系列,和hdfs2.x相比,增加了基于纠删码(erasure encoding)的容错方式,与传统的副本方式相比,在同等可用性的情况下, 能大幅节省一半以上的空间,这也是自hdfs诞生近这十年来,数据可靠性机制上的一个重大变化(之前一直都是副本容错方式)。此外hdfs3.0.0还增加了其它的一些特性,例如在Namenode HA中支持3个Namenode,可以容忍2个Namenode失效,而hdfs2.x只能容忍1个Namenode失效。
本文以连载的方式,在“大数据学习网”上记录自己使用hadoop-3.0.0-beta1的hdfs的点点滴滴,包括从零开始搭建分布式hdfs3.0,如何动态扩展hdfs节点、如何使用hdfs3.0的纠删码容错等等。不当之处,请大家发邮件aishuc@126com给艾叔,谢谢!
本节我们在不停止hdfs3.0集群的情况下,将hdfs3.0集群的datanode由1个扩展到2个。
5.1 复制datanode节点
Nn1关机
[root@nn1 hadoop-3.0.0-beta1]# shutdown -h now
在Vmware workstation面板上,将nn1叉掉
5-1 Vmware workstation控制面板
复制nn1,重命名为dn1
5-2 Vmware workstation虚拟机镜像存储目录
虚拟机File菜单Open
5-3 Vmware workstation打开虚拟机菜单
分别打开nn1和dn1(注意:是打开,不是启动)
打开dn1后,修改dn1在vmware workstation面板上的名字,点击VM->Settings
5-4 Vmware workstation设置菜单
点击Options,将nn1修改为dn1
5-5 Vmware workstation名字修改界面
修改如下
5-6 Vmware workstation名字修改界面
5.2 启动dn1,并修改其配置
启动时,vmware workstation会弹出对话框,选择I Copied it
5-7 Vmware workstation虚拟机启动对话框
Root登录,修改主机名为dn1
5-8 CentOS7主机名配置文件
将里面的nn1修改为dn1,保存退出
5-9 CentOS7主机名配置文件新内容
修改IP,由于dn1使用的是原来nn1的网络配置,因此要先停止网络
5-10 CentOS7关闭虚拟机网络
编辑网络配置文件
5-11 CentOS7网络配置文件
将IP修改为192.168.182.12
5-12 CentOS7网络配置内容
启动网络
5-13 CentOS7网络启动
如果IP已经修改为192.168.182.12,则说明设置成功。
5-14 CentOS7显示网络配置信息
添加hosts
5-15 CentOS7主机名解析文件
新增红圈内容
5-16 CentOS7主机名解析文件增添内容
注意:后续在nn1的hosts里,也要添加这一行
dn1重启,验证
1. 登录的主机名变成dn1,说明主机名修改成功
5-17 CentOS7新主机验证
2. ping dn1,如果dn1能够解析为192.168.182.12,并且能够ping通的话,说明hosts和网络设置都成功
5-18 CentOS7主机名以及网络验证
5.2 清除dn1上原nn1的hdfs数据(重要)
进入dn1上datanode数据存储目录,删除原来nn1上存储的内容
[user@dn1 ~]$ cd ~/dfs/share/datanode/
[user@dn1 datanode]$ rm -rf *
注意:一定要检查当前目录是否正确,rm是不可逆的。
这一步清除操作必须要做,要保证新接入的datanode是干净,否则接入时,会和原来的nn1(nn1上也有一个datanode)。
上一篇:《hadoop-3.0.0-beta1运维手册(008):hdfs3.0.0基本操作-hdfs查看文件系统、hdfs查找文件、显示文本文件》
原创文章,转载请注明: 转载自大数据学习网,作者:艾叔