hadoop-3.0.0-beta1运维手册(010):hdfs3.0.0动态添加节点(2)
写在前面的话
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的纠删码容错等等。不当之处,请大家发邮件[email protected]给艾叔,谢谢!
5.3 启动hdfs3.0
启动nn1,运行下面的命令。
[[email protected] ~]$ cd ~/hadoop-3.0.0-beta1
[[email protected] hadoop-3.0.0-beta1]$ sbin/start-dfs.sh
输出如下
Starting namenodes on [nn1]
Starting datanodes
Starting secondary namenodes [nn1]
使用hdfs命令验证
[[email protected] hadoop-3.0.0-beta1]$ hdfs dfsadmin -report
如果我们可以看到下面的信息,则说明hdfs3.0启动成功,并且只有1个datanode。
-------------------------------------------------
Live datanodes (1):
Name: 192.168.182.11:9866 (nn1)
Hostname: nn1
下面我们就要动态加入datanode节点了。
在nn1上添加host解析
[[email protected] user]# vi /etc/hosts
内容如下,添加绿色的部分
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.182.11 nn1
192.168.182.12 dn1
测试,如果能够ping通,则说明host解析设置成功
[[email protected] ~]$ ping dn1
PING dn1 (192.168.182.12) 56(84) bytes of data.
测试nn1到dn1的无密码登录,应该是可以直接登录的。
[[email protected] ~]$ ssh dn1
The authenticity of host 'dn1 (192.168.182.12)' can't be established.
ECDSA key fingerprint is 02:18:29:20:9d:55:88:d6:b2:e6:84:d2:16:10:80:a7.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'dn1,192.168.182.12' (ECDSA) to the list of known hosts.
Last login: Thu Nov 30 03:57:52 2017 from 192.168.182.1
5.4 动态加入dn1
在dn1上,启动datanode
[[email protected] hadoop-3.0.0-beta1]$ hdfs --daemon start datanode
注意:使用上面的命令启动datanode,原来的hadoop-deamon.sh启动方法已经不用了。
Jps验证,如果能够看到DataNode,则说明正常。
[[email protected] hadoop-3.0.0-beta1]$ jps
3272 Jps
3215 DataNode
在nn1上查看节点是否加入成功
[[email protected] hadoop-3.0.0-beta1]$ hdfs dfsadmin -report
显示
-------------------------------------------------
Live datanodes (2):
则说明加入成功
注意:以上是在原有的hdfs3.0集群不停机的情况下,加入dn1的。
为了便于后续管理,编辑hadoop的workers文件,加入dn1
[[email protected] ~]$ cd hadoop-3.0.0-beta1
[[email protected] hadoop-3.0.0-beta1]$ vi etc/hadoop/workers
内容如下,其中dn1是新添加的
nn1
dn1
5.5 查看dn1后副本的分布
在web中可以看到,profile的副本数是3,由于之前datanode只有1个,因此,实际只存储了1个副本。
现在加入了一个dn1,下面我们可以看到profile的Block0的副本又增加一个存储节点dn1,这是自动进行的。
5-19 hdfs3.0web界面查看Block分布
上一篇:《hadoop-3.0.0-beta1运维手册(009):hdfs3.0.0基本操作-hdfs动态加入节点(1)》
原创文章,转载请注明: 转载自大数据学习网,作者:艾叔