hadoop快速自我學習--hadoop平臺管理與維護
1,HDFS常用命令
hdfs dfs -mkdir /data
hdfs dfs -put localfile hdfspath
-rm
-du -h
-chmod
-chown user:group hdfspath
-cat
-zcat
-version
hdfs dfsadmin -report 叢集執行狀態
-help 獲取更多命令
2,作業命令
mapred job -list 列出所有正在執行的作業
mapred job -kill job_xx 停止某個指定的job
3,資源命令
yarn application -list 列出所有在YARN中正在執行的任務
yarn application -kill application_id 停止指定的application任務
4,計算空間命令
hdfs fsck /file -files -blocks -locations -racks 檢視檔案健康狀況
hdfs dfs -du -h /hdfsfile/ 列印目錄資訊
hdfs dfs -count -q /hdfspath 列印目錄資訊和qutoa(檔案配額)佔用情況
hdfs dfs -count -g /hdfspath 列印目錄資訊和qutoa(檔案配額)佔用情況
5,namenode
檢視NN狀態
hdfs haadmin -getServiceState nna(節點名)
強制將nns節點有NameNode Standby切換成Active
hdfs haadmin -transitionToActive/transitionToStandby -forcemanual nna
強制將nna節點有NameNode Active切換成Standby
hdfs haadmin -failover --forcefence --forceactive nna nns
以上切換最簡單的辦法是直接kill某個節點上的NameNode程序
6,安全模式
進入安全模式
hdfs dfsadmin -safemode enter
關閉安全模式
hdfs dfsadmin -safemode leave
檢視安全模式
hdfs dfsadmin -safemode get
7,節點管理
(1), 移除DN
hdfs-site.xml檔案配置移除屬性
<property>
<name>dfs.hosts.exclude</name>
<value>/home/hadoop/aaa/includes</value>
</property>
[$]vi /home/hadoop/aaa/includes 填入要移除的節點名,如dn3, 儲存退出
強制重新載入 hdfs dfsadmin - refreshNodes
dn3節點狀態為Decommission in progress 表示塊正在移動 Decommissioned 移動完畢,節點可以物理下架
(2),增加DN
hdfs-site.xml檔案配置增加屬性
<property>
<name>dfs.hosts</name>
<value>/home/hadoop/bbb/includes</value>
</property>
[$]vi /home/hadoop/bbb/includes 填入要移除的節點名,如dn3, 儲存退出
啟動DataNode程序 hadoop-daemon.sh start datanode
啟動NodeManager程序 yarn-daemon.sh start nodemanager
強制重新載入 hdfs dfsadmin - refreshNodes
8, 快照
快照可以用來備份hdfs上的目錄或者整個檔案系統
新建快照
1)開啟快照許可權 hdfs dfsadmin -allowSnapshot /tmp/snapshot
2) 指定目錄中建立快照 hdfs dfs -createSnapshot /tmp/snapshot backup
檢視快照
打印出快照在HDFS上的路徑 hdfs lsSnapshottablesDir
根據上條命令打印出來的路徑檢視 hdfs -dfs -ls /xxxxx/xxxxx
快照對比
hdfs dfs snapshotDiff /xxxx/xxx backup1 backup2
刪除快照
hdfs dfs -deleteSnapshot /xxxx/xxxx backup1
禁用快照
hdfs dfsadmin -disallowSnapshot /xxx/xxx