Hadoop的简介:

    Hadoop是apache软件基金会的开源分布式计算平台hadoop集群包括两种角色Mater和Slave。一个HDFS集群由一个运行于Master上的NameNode和若干个运行于Slave节点的DataNode组成。NameNode负责管理文件系统命名空间和客户端对文件系统的访问操作;DataNode管理存储的数据。文件以块形式在DataNode中存储,假如一个块大小设置为50MB,块的副本数为3(通过设置块的副本数来达到冗余效果,防止单个DataNode磁盘故障后数据丢失),一个40MB的文件将被存储在一个块中,然后将相同的3个块存储在3个DataNode中实现冗余。大文件将被切成小块存储。

   本案例的目的是搭建hadoop的HDFS,通过DataNode节点的添加与删除实现HDFS空间动态增加与减少,以及HDFS文件系统的基本管理。

案例环境:

HDFS分布式文件系统_第1张图片

案例实施:

1.准备环境

在master、slave1 - 3上配置域名解析、主机名

(1)配置host解析

QQ图片20180311122244.png

HDFS分布式文件系统_第2张图片

QQ图片20180311122317.png

QQ图片20180311122334.png

HDFS分布式文件系统_第3张图片

(2)修改各自的主机名

在192.168.0.11主机

HDFS分布式文件系统_第4张图片

QQ图片20180311122514.png

HDFS分布式文件系统_第5张图片

在192.168.0.12主机

HDFS分布式文件系统_第6张图片

QQ图片20180311122601.png

HDFS分布式文件系统_第7张图片

在192.168.0.13主机

HDFS分布式文件系统_第8张图片

QQ图片20180311122647.png

HDFS分布式文件系统_第9张图片

(3)JDK安装

HDFS分布式文件系统_第10张图片

HDFS分布式文件系统_第11张图片

HDFS分布式文件系统_第12张图片

(4)添加hadoop运行用户

HDFS分布式文件系统_第13张图片

同理在slave1 - slave3上重复步骤(3)和步骤(4)

2.配置SSH密钥对

要求master免密码登录各slave,用于开启相应服务。

Master无密码连接slave,先切换hadoop用户,用ssh-keygen按照默认配置直接按Enter键生成密钥对,通过ssh-copy-id将公钥复制至3个slave主机中,复制过程需要输入slave主机的hadoop用户密码,作用是master远程启动slave

HDFS分布式文件系统_第14张图片

HDFS分布式文件系统_第15张图片

HDFS分布式文件系统_第16张图片

HDFS分布式文件系统_第17张图片

3.安装hadoop,在master和slave上设置环境变量

(1)安装hadoop

HDFS分布式文件系统_第18张图片

QQ图片20180311122936.png

(2)配置环境变量

QQ图片20180311122952.png

HDFS分布式文件系统_第19张图片


(3)配置hadoop

2018-03-11_151731.png

HDFS分布式文件系统_第20张图片

QQ图片20180311123053.png

HDFS分布式文件系统_第21张图片

HDFS分布式文件系统_第22张图片

QQ图片20180311123241.png

HDFS分布式文件系统_第23张图片

QQ图片20180311123310.png

HDFS分布式文件系统_第24张图片

QQ图片20180311123341.png

HDFS分布式文件系统_第25张图片

QQ图片20180311123407.png

HDFS分布式文件系统_第26张图片

各slave主机也需要安装hadoop并设置环境变量,第三步由master通过SSH安全通道复制给各slave

HDFS分布式文件系统_第27张图片

QQ图片20180311123453.png

QQ图片20180311123507.png

4.使用HDFS初始化master

(1)格式化HDFS文件系统

QQ图片20180311123521.png

HDFS分布式文件系统_第28张图片

(2)检查新生成的目录

HDFS分布式文件系统_第29张图片

(3)启动hadoop群集

启停hadoopde的管理命令位于@HADOOP_HOME/sbin下,以start-*或stop-*开头;单独启动HDFS分布式文件系统可使用start-dfs.sh,也可以使用以下命令启动整个hadoop集群。

HDFS分布式文件系统_第30张图片


(4)验证访问

 通过浏览器查看Namenode,即master,访问http://192.168.0.10:50070/,

可以查看视图统计信息和HDFS存储信息等。

验证之前先关闭master和所有slave的防火墙

QQ图片20180311123619.png

HDFS分布式文件系统_第31张图片

HDFS分布式文件系统_第32张图片

HDFS分布式文件系统_第33张图片


(5)Hadoop基本命令

使用“hadoop   fs”命令可以结合普通的文件管理命令实现很多操作,如查看、修改权限、统计、获取帮助、创建、删除、上传下载文件等,更多的用法可使用“hadoop fs -help”或“hadoop fs -usage”命令查看

HDFS分布式文件系统_第34张图片

HDFS分布式文件系统_第35张图片

HDFS分布式文件系统_第36张图片

HDFS分布式文件系统_第37张图片

HDFS分布式文件系统_第38张图片

(6)HDFS高级命令

开启安全模式

HDFS分布式文件系统_第39张图片

复制

将本地文件复制到HDFS上

HDFS分布式文件系统_第40张图片

将HDFS上文件复制到本地

HDFS分布式文件系统_第41张图片

权限和归属

修改属组

HDFS分布式文件系统_第42张图片

修改权限

HDFS分布式文件系统_第43张图片

修改所有者

HDFS分布式文件系统_第44张图片

统计显示目录中文件大小

HDFS分布式文件系统_第45张图片

合并文件

HDFS分布式文件系统_第46张图片

5.为HDFS集群添加节点

(1)slave4节点安装jdk与hadoop,配置环境变量、添加用户

HDFS分布式文件系统_第47张图片


HDFS分布式文件系统_第48张图片

(2)配置/etc/hosts解析,Namenode与4台DataNode都要配置

QQ图片20180311124053.png

HDFS分布式文件系统_第49张图片

QQ图片20180311124124.png

QQ图片20180311124134.png

QQ图片20180311124145.png

QQ图片20180311124156.png

QQ图片20180311124209.png

QQ图片20180311124218.png

(3)配置ssh无密码连接

HDFS分布式文件系统_第50张图片

(4)在master上修改hadoop配置后,复制到其他节点

QQ图片20180311124241.png

HDFS分布式文件系统_第51张图片

QQ图片20180311124303.png

QQ图片20180311124314.png

QQ图片20180311124325.png

QQ图片20180311124335.png

(5)新节点启动并平衡节点已经存储数据

HDFS分布式文件系统_第52张图片

HDFS分布式文件系统_第53张图片

(6)查看集群信息

QQ图片20180311124409.png

HDFS分布式文件系统_第54张图片

6.删除DataNode节点

(1)增加exclude配置,作用为存放要删除的DataNode信息

QQ图片20180311124442.png

HDFS分布式文件系统_第55张图片

QQ图片20180311124505.png

HDFS分布式文件系统_第56张图片

HDFS分布式文件系统_第57张图片

(2)检查slave4的进程

HDFS分布式文件系统_第58张图片

(3)查看集群信息

HDFS分布式文件系统_第59张图片