写在前面的话
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给艾叔,谢谢!
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
如果看到下面红圈的内容,则说明关闭成功。
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的默认端口是50070,hdfs3.0的默认端口为9870。
3-54 hdfs3.0.0 web管理界面
3.11 设置默认文件系统
目前,我们操作hdfs时,都需要指定文件系统的url,hdfs://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
找到下面的内容,添加绿色部分。
<property>
<name>fs.defaultFS</name>
<value>hdfs://nn1:9001</value>
<description>The name of the default file system. A URI whose
scheme and authority determine the FileSystem implementation. The
uri's scheme determines the config property (fs.SCHEME.impl) naming
the FileSystem implementation class. The uri's authority is used to
determine the host, port, etc. for a filesystem.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://nn1:9001</value>
<description>Deprecated. Use (fs.defaultFS) property
instead</description>
</property>
验证,不指定-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配置、无密码登录》
原创文章,转载请注明: 转载自大数据学习网,作者:艾叔