Chinaunix首页 | 论坛 | 博客
  • 博客访问: 30787
  • 博文数量: 11
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 140
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-10 14:34
文章分类

全部博文(11)

文章存档

2017年(11)

我的朋友

分类: 大数据

2017-12-06 20:01:02

写在前面的话

Hdfs采用分布式架构,为上层的应用和用户提供可扩展、高吞吐、高可靠的数据存储服务。在整个Hadoop生态系统中,hdfs处于最底层,也是最无可替代的一个基础设施。从2008hadoop-0.10.1版本开始到现在的hadoop-3.0.0-beta1hdfs已经走过了近10个年头,其架构和功能特性也发生了巨大的变化。特别是hdfs3.0.0系列,和hdfs2.x相比,增加了基于纠删码(erasure encoding)的容错方式,与传统的副本方式相比,在同等可用性的情况下, 能大幅节省一半以上的空间,这也是自hdfs诞生近这十年来,数据可靠性机制上的一个重大变化(之前一直都是副本容错方式)。此外hdfs3.0.0还增加了其它的一些特性,例如在Namenode HA中支持3Namenode,可以容忍2Namenode失效,而hdfs2.x只能容忍1Namenode失效。

本文以连载的方式,在大数据学习网”上记录自己使用hadoop-3.0.0-beta1hdfs的点点滴滴,包括从零开始搭建分布式hdfs3.0,如何动态扩展hdfs节点、如何使用hdfs3.0的纠删码容错等等。不当之处,请大家发邮件aishuc@126com给艾叔,谢谢!



5.3 启动hdfs3.0

启动nn1,运行下面的命令。

[user@nn1 ~]$ cd ~/hadoop-3.0.0-beta1

[user@nn1 hadoop-3.0.0-beta1]$ sbin/start-dfs.sh

输出如下

Starting namenodes on [nn1]

Starting datanodes

Starting secondary namenodes [nn1]

使用hdfs命令验证

[user@nn1 hadoop-3.0.0-beta1]$ hdfs dfsadmin -report

如果我们可以看到下面的信息,则说明hdfs3.0启动成功,并且只有1datanode

-------------------------------------------------

Live datanodes (1):


Name: 192.168.182.11:9866 (nn1)

Hostname: nn1

下面我们就要动态加入datanode节点了。


nn1上添加host解析

[root@nn1 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解析设置成功

[user@nn1 ~]$ ping dn1

PING dn1 (192.168.182.12) 56(84) bytes of data.


测试nn1dn1的无密码登录,应该是可以直接登录的。

[user@nn1 ~]$ 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

[user@dn1 hadoop-3.0.0-beta1]$ hdfs --daemon start datanode

注意:使用上面的命令启动datanode,原来的hadoop-deamon.sh启动方法已经不用了。

Jps验证,如果能够看到DataNode,则说明正常。

[user@dn1 hadoop-3.0.0-beta1]$ jps

3272 Jps

3215 DataNode

nn1上查看节点是否加入成功

[user@nn1 hadoop-3.0.0-beta1]$ hdfs dfsadmin -report

显示

-------------------------------------------------

Live datanodes (2):

则说明加入成功

注意:以上是在原有的hdfs3.0集群不停机的情况下,加入dn1的。

为了便于后续管理,编辑hadoopworkers文件,加入dn1

[user@nn1 ~]$ cd hadoop-3.0.0-beta1

[user@nn1 hadoop-3.0.0-beta1]$ vi etc/hadoop/workers

内容如下,其中dn1是新添加的

nn1

dn1


5.5 查看dn1后副本的分布

web中可以看到,profile的副本数是3,由于之前datanode只有1个,因此,实际只存储了1个副本。


现在加入了一个dn1,下面我们可以看到profileBlock0的副本又增加一个存储节点dn1,这是自动进行的。


 

5-19 hdfs3.0web界面查看Block分布


上一篇:hadoop-3.0.0-beta1运维手册(009):hdfs3.0.0基本操作-hdfs动态加入节点(1)》

原创文章,转载请注明: 转载自大数据学习网,作者:艾叔

本文链接地址

阅读(1280) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~