1. 程式人生 > >Hadoop----叢集運維(持續更新...)

Hadoop----叢集運維(持續更新...)

前言


本篇介紹Hadoop的一些常用知識。要說和網上其他manual的區別,那就是這是筆者寫的一套成體系的文件,不是隨心所欲而作。


常用HDFS命令


  • hadoop fs -ls URI
  • hadoop fs -du -h URI
  • hadoop fs -cat URI [檔案較大,hadoop fs -cat xxxx | head]
  • hadoop fs -put URI
  • hadoop fs -get URI
  • hadoop fs -rmr URI
  • hadoop fs -stat %b,%o,%n,%r,%y URI (%b:檔案大小, %o:Block 大小, %n:檔名, %r:副本個數, %y 或%Y:最後一次修改日期和時間)
  • hadoop fs -tail [-f] URI
  • hdfs dfsadmin -report
  • hadoop fs -appendToFile URI1[,URI2,…] URI(hadoop fs -appendToFile helloCopy1.txt helloCopy2.txt /user/tmp/hello.txt)
  • hadoop fsck / -files -blocks

這裡就是簡單的進行羅列,後續如果有必要在進行詳解。

重啟丟失節點


子節點DataNode丟失

sbin/hadoop-daemon.sh start datanode

子節點NodeManager丟失

sbin/yarn-daemon.sh start nodemanager

主節點丟失

sbin/start-all.sh

or

sbin/hadoop-daemon.sh start namenode

sbin/hadoop-daemon.sh start secondarynamenode

sbin/yarn-daemon.sh start resourcemanager


配置檔案出錯


管理hadoop叢集,會經常遇到配置檔案的相關問題。這裡舉一個例子,比如yarn的nodemanager起不來的問題。

yarn的相關配置檔案有兩個:yarn-site.xml和yarn-env.sh

在yarn-site.xml檔案:

<property>
     <name>yarn.nodemanager.resource.memory-mb</name>
     <value>1024</value>
</property>

在yarn-env.sh檔案:

JAVA_HEAP_MAX=-Xmx1024m

應該保證yarn-site.xml中的memory-mb數值比yarn-env.sh中JAVA_HEAP_MAX的數值小。yarn-site.xml的配置是要求nodemanager啟動的最少記憶體,低於該值無法啟動。實際啟動時,使用yarn-env.sh中的配置。修改比如:JAVA_HEAP_MAX=-Xmx2048m


no xxx to stop


hadoop會經常有這個問題,大概就是沒有找到該程序的PID檔案,所以報錯。

具體參見連線:
解決關閉Hadoop時no namenode to stop異常

每次啟動hadoop(./start-all.sh)時,PID檔案被生成,儲存程序號。關閉時,PID檔案被刪除。

在hadoop2.7.1版本中,關於HADOOP_PID_DIR(檔案路徑:../etc/hadoop/hadoop-env.sh)的描述是這樣的:

# The directory where pid files are stored. /tmp by default.
# NOTE: this should be set to a directory that can only be written to by
#       the user that will run the hadoop daemons.  Otherwise there is the
#       potential for a symlink attack.
export HADOOP_PID_DIR=${HADOOP_PID_DIR}
export HADOOP_SECURE_DN_PID_DIR=${HADOOP_PID_DIR}

最好將PID檔案放在只寫目錄中。

關於mapred-site.xml配置


參見blog:《如何給執行在Yarn的MapReduce作業配置記憶體》


參考資料


-如何給執行在Yarn的MapReduce作業配置記憶體
- hadoop HDFS常用檔案操作命令
- HDFS 檔案操作命令