馬士兵hadoop第一課:虛擬機搭建和安裝hadoop及啟動
馬士兵hadoop第二課:hdfs集群集中管理和hadoop文件操作
馬士兵hadoop第四課:Yarn和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的存儲情況