馬士兵hadoop第二課:hdfs集群集中管理和hadoop文件操作


馬士兵hadoop第一課:虛擬機搭建和安裝hadoop及啟動

馬士兵hadoop第二課:hdfs集群集中管理和hadoop文件操作

馬士兵hadoop第三課:java開發hdfs

馬士兵hadoop第四課:Yarn和Map/Reduce配置啟動和原理講解

馬士兵hadoop第五課:java開發Map/Reduce

(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 ~]# stop-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的存儲情況

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM