問題導讀
1.如何實現檢測NodeManagers健康?
2.配置ssh互信的做用是什麼?
3.啓動、中止hdfs有哪些方式?
上篇:
hadoop【2.7.1】【多節點】集羣配置【必知配置知識1】
http://www.aboutyun.com/thread-15609-1-1.html
監控NodeManagers健康
hadoop提供檢測一個節點健康狀態的機制,管理員能夠配置NodeManager去週期性執行一個腳原本決定一個節點是否健康
管理員能夠在這個腳本中作任何的狀態監控從而決定此節點是否健康.若是腳本檢測節點處於非健康狀態,它必須打印必須打印error開頭的標準輸出。NodeManager 週期性檢測,和檢測輸出,若是腳本輸出包含錯誤(ERROR),如上所述,node的狀態報告爲unhealthy,該節點被資源管理器列爲黑名單。該節點不會被分配任務。
儘管如此,若是資源管理器恢復健康狀態,腳本繼續運行,而且會自動被移除黑名單。節點腳本輸出,提供給管理,在界面上節點不健康,以及在界面上顯示節點健康時間。
下面參數能夠被用來控制節點是否健康監視腳本在 etc/hadoop/yarn-site.xml.
html
參數
|
值
|
說明
|
yarn.nodemanager.health-checker.script.path
|
Node health script
|
節點健康狀態監測腳本
|
yarn.nodemanager.health-checker.script.opts
|
Node health script options
|
腳本的選項來檢查節點的健康狀態
|
yarn.nodemanager.health-checker.script.interval-ms
|
Node health script interval
|
運行健康腳本的時間間隔。
|
yarn.nodemanager.health-checker.script.timeout-ms
|
Node health script timeout interval
|
健康腳本執行超時
|
若是僅本地磁盤故障,檢測腳本不會給出error。NodeManager 有能力按期檢測磁盤本地磁盤健康狀態(特別是nodemanager-local-dirs 和nodemanager-log-dirs)。當目錄損壞數達到配置的閥值(yarn.nodemanager.disk-health-checker.min-healthy-disks配置的)以後整個節點就會被標記爲不正常的。同時這些信息也會上報給資源管理器(resource manager),檢測腳本也會檢測啓動盤。
Slaves File
列出全部slave hostnames or IP 地址在etc/hadoop/slaves 文件, 一行一個。Helper 腳本 (described below) 使用etc/hadoop/slaves 文件運行命令在許多客戶端. 它不須要任何基於Java的hadoop配置,爲了使用此功能,ssh必須鏈接信任( passphraseless 或則其它方法,好比 Kerberos)的帳戶運行hadoop
Hadoop 機架感知
許多hadoop具備感知功能和利用網絡拓撲結構的性能和安全性。hadoop守護進程調用管理員配置模塊獲取集羣slaves信息。更多信息查看 Rack Awareness ,開始啓動hdfs以前,推薦配置集羣機架感應。
日誌
hadoop經過Apache Commons的日誌框架使用 Apache log4j 做爲日誌。編輯 etc/hadoop/log4j.properties 文件定製hadoop守護進程日誌配置好比log格式等
hadoop集羣操做
全部的配置完成,分部署文件HADOOP_CONF_DIR目錄分發到全部機器,他們在全部機器上路徑是相同的。
建議hdfs和yarn使用獨立的用戶。hdfs執行hdfs用戶,yarn使用yarn帳戶。
hadoop啓動
啓動hadoop集羣,須要啓動hdfs和yarn
第一次啓動hdfs,必需要格式化,格式化分佈式文件系統做爲HDFS:node
1
|
[hdfs]$ $HADOOP_PREFIX
/bin/hdfs
namenode -
format
<cluster_name>
|
啓動hdfsweb
1
|
[hdfs]$ $HADOOP_PREFIX
/sbin/hadoop-daemon
.sh --config $HADOOP_CONF_DIR --script hdfs start namenode
|
啓動datanodeshell
1
|
[hdfs]$ $HADOOP_PREFIX
/sbin/hadoop-daemons
.sh --config $HADOOP_CONF_DIR --script hdfs start datanode
|
若是 etc/hadoop/slaves 和 ssh配置了相互訪問 (see Single Node Setup), 全部hdfs可使用下面命令安全
1
|
[hdfs]$ $HADOOP_PREFIX
/sbin/start-dfs
.sh
|
啓動yarn用下面命令,在指定的ResourceManager做爲yarnbash
1
|
[yarn]$ $HADOOP_YARN_HOME
/sbin/yarn-daemon
.sh --config $HADOOP_CONF_DIR start resourcemanager
|
運行下面命令在指定的客戶端做爲yarn啓動NodeManager服務器
1
|
[yarn]$ $HADOOP_YARN_HOME
/sbin/yarn-daemons
.sh --config $HADOOP_CONF_DIR start nodemanager
|
啓動獨立WebAppProxy server. 運行 WebAppProxy server做爲yarn.若是多臺服務器使用負載均衡,則每臺都需運行網絡
1
|
[yarn]$ $HADOOP_YARN_HOME
/sbin/yarn-daemon
.sh --config $HADOOP_CONF_DIR start proxyserver
|
若是etc/hadoop/slaves和ssh配置,啓動腳本以下:負載均衡
1
|
[yarn]$ $HADOOP_PREFIX
/sbin/start-yarn
.sh
|
啓動MapReduce JobHistory Server
框架
1
|
[mapred]$ $HADOOP_PREFIX
/sbin/mr-jobhistory-daemon
.sh --config $HADOOP_CONF_DIR start historyserver
|
hadoop中止
中止namenode,用下面命令
1
|
[hdfs]$ $HADOOP_PREFIX
/sbin/hadoop-daemon
.sh --config $HADOOP_CONF_DIR --script hdfs stop namenode
|
中止datanode,用下面命令
1
|
[hdfs]$ $HADOOP_PREFIX
/sbin/hadoop-daemons
.sh --config $HADOOP_CONF_DIR --script hdfs stop datanode
|
若是etc/hadoop/slaves 和 ssh配置相互訪問,用下面腳本中止
1
|
[hdfs]$ $HADOOP_PREFIX
/sbin/stop-dfs
.sh
|
中止ResourceManager用下面命令
1
|
[yarn]$ $HADOOP_YARN_HOME
/sbin/yarn-daemon
.sh --config $HADOOP_CONF_DIR stop resourcemanager
|
運行腳本中止NodeManager
1
|
[yarn]$ $HADOOP_YARN_HOME
/sbin/yarn-daemons
.sh --config $HADOOP_CONF_DIR stop nodemanager
|
若是etc/hadoop/slaves 和 ssh配置相互訪問,則運行下面腳本
1
|
[yarn]$ $HADOOP_PREFIX
/sbin/stop-yarn
.sh
|
中止WebAppProxy server。運行WebAppProxy,若是多臺服務器使用負載平衡,則每個都運行。
1
|
[yarn]$ $HADOOP_YARN_HOME
/sbin/yarn-daemon
.sh --config $HADOOP_CONF_DIR stop proxyserver
|
中止MapReduce JobHistory Server,使用下面命令
1
|
[mapred]$ $HADOOP_PREFIX
/sbin/mr-jobhistory-daemon
.sh --config $HADOOP_CONF_DIR stop historyserver
|
Web Interfaces
Daemon
|
Web Interface
|
Notes
|
NameNode
|
http://nn_host:port/
|
Default HTTP port is 50070.
|
ResourceManager
|
http://rm_host:port/
|
Default HTTP port is 8088.
|
MapReduce JobHistory Server
|
http://jhs_host:port/
|
Default HTTP port is 19888.
|
相關內容
hadoop入門手冊1:hadoop【2.7.1】【多節點】集羣配置【必知配置知識1】
hadoop入門手冊2:hadoop【2.7.1】【多節點】集羣配置【必知配置知識2】
hadoop入門手冊3:Hadoop【2.7.1】初級入門之命令指南
hadoop入門手冊4:Hadoop【2.7.1】初級入門之命令:文件系統shell1
hadoop入門手冊5:Hadoop【2.7.1】初級入門之命令:文件系統shell2
hadoop2.X使用手冊1:經過web端口查看主節點、slave1節點及集羣運行狀態
http://www.aboutyun.com/thread-7712-1-1.html