写在前面的话

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给艾叔,谢谢!

 

3.10 启动hdfs3.0

普通用户,进入hadoop目录

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

格式化,非常重要!!!

[user@nn1 hadoop-3.0.0-beta1]$ bin/hdfs namenode -format

启动

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

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

Starting namenodes on [nn1]

nn1: WARNING: /home/user/hadoop-3.0.0-beta1/logs does not exist. Creating.

Starting datanodes

Starting secondary namenodes [nn1]

Jps查看所有的java进程,如果能看到下面绿色的部分,说明正常启动。

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

5025 SecondaryNameNode

5143 Jps

4809 DataNode

4698 NameNode

命令行查看hdfs状态

[user@nn1 hadoop-3.0.0-beta1]$ bin/hdfs dfsadmin -fs hdfs://nn1:9001 -report

注意:下面三者的顺序不能变

dfsadmin -fs hdfs://nn1:9001 -report

如果我们能看到下面的状态信息,则说明正常

Configured Capacity: 18746441728 (17.46 GB)

Present Capacity: 16173752320 (15.06 GB)

DFS Remaining: 16173748224 (15.06 GB)

DFS Used: 4096 (4 KB)

DFS Used%: 0.00%

Replicated Blocks:

        Under replicated blocks: 0

        Blocks with corrupt replicas: 0

        Missing blocks: 0

        Missing blocks (with replication factor 1): 0

        Pending deletion blocks: 0

Erasure Coded Block Groups:

        Low redundancy block groups: 0

        Block groups with corrupt internal blocks: 0

        Missing block groups: 0

        Pending deletion blocks: 0

 

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

Live datanodes (1):

 

Name: 192.168.182.11:9866 (nn1)

Hostname: nn1

Decommission Status : Normal

Configured Capacity: 18746441728 (17.46 GB)

DFS Used: 4096 (4 KB)

Non DFS Used: 2572689408 (2.40 GB)

DFS Remaining: 16173748224 (15.06 GB)

DFS Used%: 0.00%

DFS Remaining%: 86.28%

Configured Cache Capacity: 0 (0 B)

Cache Used: 0 (0 B)

Cache Remaining: 0 (0 B)

Cache Used%: 100.00%

Cache Remaining%: 0.00%

Xceivers: 1

Last contact: Mon Nov 27 14:20:00 EST 2017

Last Block Report: Mon Nov 27 14:15:51 EST 2017

Web查看

关闭防火墙,去掉自启动

[root@nn1 hadoop-3.0.0-beta1]# systemctl stop firewalld

[root@nn1 hadoop-3.0.0-beta1]# systemctl -a

如果看到下面红圈的内容,则说明关闭成功。

hadoop-3.0.0-beta1运维手册(006):hdfs3.0.0分布式构建-启动hdfs-LMLPHP

3-53 CentOS7查看防火墙服务状态

去掉防火墙自启动,如果能看到下面的removed,则说明操作成功。

[root@nn1 hadoop-3.0.0-beta1]# systemctl disable firewalld

Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

Removed symlink /etc/systemd/system/basic.target.wants/firewalld.service.

使用web查看:http://192.168.182.11:9870

注意,hdfs2.x的默认端口是50070hdfs3.0的默认端口为9870

hadoop-3.0.0-beta1运维手册(006):hdfs3.0.0分布式构建-启动hdfs-LMLPHP

3-54 hdfs3.0.0 web管理界面

3.11 设置默认文件系统

目前,我们操作hdfs时,都需要指定文件系统的urlhdfs://nn1:9001,为了方便起见,我们可以将此url设置为默认的文件系统,这样,操作时就默认操作nn1:9001这个hdfs

编辑core-site.xml

复制core-site.xml的默认配置

[user@nn1 hadoop-3.0.0-beta1]$ cp ./share/doc/hadoop/hadoop-project-dist/hadoop-common/core-default.xml etc/hadoop/core-site.xml

注意:源文件是:core-default.xml,目的文件是:core-site.xml

编辑此文件

[user@nn1 hadoop-3.0.0-beta1]$ vi etc/hadoop/core-site.xml

找到下面的内容,添加绿色部分。

 

 

验证,不指定-fs,直接用下面的命令操作,就成功的话,则说明默认文件系统设置成功。

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

 

3.12 hdfs命令添加到PATH环境变量

这样,我们就可以直接运行hdfs的相关命令,而不需要每次都输入完整路径了。

切换到root用户,编辑/etc/profile文件

最后一行添加

export PATH=$PATH:/home/user/hadoop-3.0.0-beta1/bin

切换到普通用户,直接输入hdfs,看能否运行。

[user@nn1 ~]$ hdfs

如果能直接运行,则说明环境变量添加成功。

上一篇:hadoop-3.0.0-beta1运维手册(005):hdfs3.0.0分布式构建-hdfs配置、无密码登录》

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

本文链接地址http://www.bigdatastudy.net/show.aspx?id=452&cid=8

01-31 02:04