第二课:hdfs集群集中管理和hadoop文件操作

Posted 跃小云

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第二课:hdfs集群集中管理和hadoop文件操作相关的知识,希望对你有一定的参考价值。

(1)观察集群配置情况

[root@master ~]# hdfs dfsadmin -report

(2)web界面观察集群运行情况

使用netstat命令查看端口监听

[root@master ~]# netstat -ntlp

浏览器地址栏输入:http://192.168.56.100:50070

 (3)对集群进行集中管理

a) 修改master上的/usr/local/hadoop/etc/hadoop/slaves文件

[root@master hadoop]# vim slaves 
#编辑内容如下
slave1
slave2
slave3

先使用hadoop-daemon.sh stop namenode(datanode)手工关闭集群。

b) 使用start-dfs.sh启动集群

[root@master hadoop]# start-dfs.sh

发现需要输入每个节点的密码,太过于繁琐,于是需要配置免密ssh远程登陆。

在master上用ssh连接一台slave,需要输入密码slave的密码,

[root@master hadoop]# ssh slave1

需要输入密码,输入密码登陆成功后,使用exit指令退回到master。

c) 免密ssh远程登陆

生成rsa算法的公钥和私钥

[root@master hadoop]# ssh-keygen -t rsa (然后四个回车)

进入到/root/.ssh文件夹,可看到生成了id_rsa和id_rsa.pub两个文件。

使用以下指令完成免密ssh登陆

[root@master hadoop]# ssh-copy-id slaveX

更多细节讲解,请查看马士兵hadoop第二课视频讲解:http://pan.baidu.com/s/1qYNNrxa

使用stop-dfs.sh停止集群,然后使用start-dfs.sh启动集群。

[root@master ~]# stop-dfs.sh 
[root@master ~]# start-dfs.sh 

(3)修改windows上的hosts文件,通过名字来访问集群web界面

编辑C:\\Windows\\System32\\drivers\\etc\\hosts

192.168.56.100 master

然后就可以使用http://master:50070代替http://192.168.56.100:50070

(4) 使用hdfs dfs 或者 hadoop fs命令对文件进行增删改查的操作

1 hadoop fs -ls /
2 hadoop fs -put file /
3 hadoop fs -mkdir /dirname
4 hadoop fs -text /filename
5 hadoop fs -rm /filename

将hadoop的安装文件put到了hadoop上操作如下

[root@master local]# hadoop fs -put ./hadoop-2.7.3.tar.gz /

通过网页观察文件情况

(5)将dfs-site.xml的replication值设为2

replication参数是分块拷贝份数,hadoop默认为3。

也就是说,一块数据会至少在3台slave上都存在,假如slave节点超过3台了。

vim hdfs-site.xml

复制代码
 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
 3 <configuration>
 4   <property>
 5     <name>dfs.replication</name>  
 6     <value>2</value>
 7   </property>
 8   <property>
 9     <name>dfs.namenode.heartbeat.recheck-interval</name>
10     <value>10000</value>
11   </property>
12 </configuration>
复制代码

 为了方便测试,同时需要修改另外一个参数dfs.namenode.heartbeat.recheck-interval,这个值默认为300s,

将其修改成10000,单位是ms,这个参数是定期间隔时间后检查slave的运行情况并更新slave的状态。

可以通过 hadoop-2.7.3\\share\\doc\\hadoop\\index.html里面查找这些默认的属性

 

 

 修改完hdf-size.xml文件后,重启hadoop集群,

stop-dfs.sh  #停止hadoop集群

start-dfs.sh #启动hadoop集权

hadoop -fs put ./jdk-8u91-linux-x64.rpm / #将jdk安装包上传到hadoop的根目录

到web页面上去观察jdk安装包文件分块在slave1,slave2,slave3的存储情况

hadoop-daemon.sh stop datanode #在slave3上停掉datanode

等一会时间后(大概10s,前面修改了扫描slave运行情况的间隔时间为10s),刷新web页面

观察到slave3节点挂掉

hadoop-daemon.sh start datanode #在slave3上启动datanode

然后再去观察jdk安装包文件分块在slave1,slave2,slave3的存储情况

以上是关于第二课:hdfs集群集中管理和hadoop文件操作的主要内容,如果未能解决你的问题,请参考以下文章

分布式文件系HDFS-部署和配置

分布式文件系HDFS-部署和配置

搭建3节点hadoop集群

大数据Hadoop集群的启动

hadoop-HDFS概述

管理 HDFS 的10大 Hadoop Shell 命令