Hadoop增加和刪除節點
1. DataNode
1.0 配置檔案
在master/namenode下修改配置檔案conf/mapred-site.xml。關鍵引數dfs.hosts和dfs.hosts.exclude。注意:不同hadoop版本的配置檔案規劃不太一致!具體參考相關版本的hadoop官方文件的cluster setup部分。 點選相同或相近版本。
上面的說法是在hadoop 1.x中的,後面也以該版本舉例;在hadoop 0.x中上述配置存放在檔案conf/hadoop-site.xml中;在hadoop 2.x中變化很大,檔案為conf/hdfs-site.xml中,引數名為:dfs.namenode.hosts和fs.namenode.hosts.exclude。
引數作用: dfs.hosts: 允許接入為DataNode的機器列表,如果不配置或所指定的列表檔案為空則預設允許所有主機成為DataNode dfs.hosts.exclude: 拒絕接入為DataNode的機器列表,如果一臺機器同時出現在兩個列表中,則拒絕。它們的本質作用是拒絕某些節點上的datanode程式連線,而不是排程這些節點上datanode程式的允許和關閉。
用法舉例:修改conf/mapred-site.xml,新增:
<property> <name>dfs.hosts</name> <value>/opt/hadoop/conf/datanode-allow.list</value> </property> <property> <name>dfs.hosts.exclude</name> <value>/opt/hadoop/conf/datanode-deny.list</value> </property>如果不需要允許列表,就不要建立對應項了。然後建立value所指定的檔案。一行寫一個主機名。
1.1 新增
1,在新slave上進行相關配置。
2,在master上的slave列表加入該slave(非必須,方便以後重啟cluster用)
3,(若有)在datanode-allow.list中加入該slave
4,在slave上啟動datanode程式:
執行:hadoop-daemon.sh start datanode
PS:可以用jps命令檢視機器上的java程式的pid和程式名。
1.2 刪除
極端不建議直接在slave上透過: hadoop-daemon.sh stop datanode 命令關掉datanode,這會導致hdfs中出現missing block。1,在master上修改datanode-deny.list,新增相應機器 2,在master上重新整理節點配置情況: hadoop dfsadmin -refreshNodes
此時在Web UI上立即就可以看到該節點變為Decommissioning狀態,過一會就變為Dead了。也可以透過:hadoop dfsadmin -report命令檢視。 3,在slave上關閉datanode程式(非必須):執行:hadoop-daemon.sh stop datanode
1.2.1 重新加入各個刪除的節點
1,在master的datanode-deny.list刪除相應機器 2,在master上重新整理節點配置情況: hadoop dfsadmin -refreshNodes3,在slave上重啟datanode程式: hadoop-daemon.sh start datanode
PS:如果之前沒有關閉該slave上的datanode程式,需要先關閉再重新啟動。
2. TackTracker
2.0 配置檔案
hadoop 1.x下在master/namenode下修改配置檔案conf/mapred-site.xml。關鍵引數mapred.hosts和mapred.hosts.exclude。對於hadoop 0.x需要修改配置檔案conf/hadoop-site.xml;對於hadoop 2.x還沒有搞清楚,先不說。
引數作用:和datanode的對應項一樣。
用法舉例:修改conf/mapred-site.xml,新增:
<property> <name><span style="font-family: Arial, Helvetica, sans-serif;">mapred<span style="font-family: Arial, Helvetica, sans-serif;">.hosts</name> <value>/opt/hadoop/conf/tasktracker-allow.list</value> </property> <property> <name><span style="font-family: Arial, Helvetica, sans-serif;">mapred.hosts.exclude</name> <value>/opt/hadoop/conf/tasktracker-deny.list</value> </property>如果不需要允許列表,就不要建立對應項了。然後建立value所指定的檔案。一行寫一個主機名。
2.1 新增
1,在新slave上進行相關配置。
2,在master上的slave列表加入該slave(非必須,方便以後重啟cluster用)
3,(若有)在tasktracker-allow.list中加入該slave
4,在slave上啟動tasktracker程式:
執行:hadoop-daemon.sh start tasktracker
PS:可以用jps命令檢視機器上的java程式的pid和程式名。
2.2 刪除
不建議直接在slave上透過: hadoop-daemon.sh stop tasktracker 命令關掉tasktracker,這會導致namenode認為這些機器暫時失聯,在一個超時時間內(預設10min+30s)依然假設它們是正常的還會將任務傳送給它們。1,在master上修改tasktracker-deny.list,新增相應機器 2,在master上重新整理節點配置情況: hadoop mradmin -refreshNodes
此時在Web UI上立即就可以看到Nodes的數量減少了,而Exclude Nodes的數量增加了。可以點進去具體檢視。 3,在slave上關閉tasktracker程式(非必須):執行:hadoop-daemon.sh stop tasktracker
2.2.1 重新加入各個刪除的節點
1,在master的tasktracker-deny.list刪除相應機器 2,在master上重新整理節點配置情況: hadoop mradmin -refreshNodes3,在slave上重啟tasktracker程式: hadoop-daemon.sh start tasktracker
PS:如果之前沒有關閉該slave上的tasktracker程式,需要先關閉再重新啟動。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30316686/viewspace-2094927/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 新增和刪除hadoop叢集中的節點Hadoop
- Oracle 10g RAC刪除、增加節點Oracle 10g
- Hadoop安裝手冊4-新增與刪除Hadoop節點Hadoop
- 【Mongodb】 replica set 新增和刪除節點。MongoDB
- JavaScript刪除節點自身JavaScript
- Oracle Rac 刪除節點Oracle
- [zt]ORACLE 10gR2 RAC環境增加及刪除節點Oracle 10g
- jQuery如何刪除元素節點jQuery
- Hyperledger Fabric節點的動態新增和刪除
- DOM節點刪除之empty和remove區別REM
- ORACLE 10gR2 RAC環境增加及刪除節點-(1)初始化第3臺節點Oracle 10g
- jQuery列表動態增加和刪除jQuery
- 【RAC】刪除RAC資料庫節點(二)——刪除ASM資料庫ASM
- 【RAC】刪除RAC資料庫節點(五)——刪除ONS資料庫
- LINUX+10.2.0.3 RAC刪除、增加節點所遇問題記錄Linux
- redis cluster節點/新增刪除操作Redis
- mongodb副本集新增刪除節點MongoDB
- 【RAC】刪除RAC資料庫節點(三)——刪除監聽資料庫
- networkx基礎用法:新增節點、新增邊、刪除節點、刪除邊、計算度、賦權重
- k8s叢集刪除和新增node節點K8S
- MongoDB副本集新增和刪除仲裁節點一例MongoDB
- 刪除oracle10g rac(rhel4)節點_節點Oracle
- js中dom節點刪除remove方法JSREM
- 利用jQuery如何刪除一個節點jQuery
- javascript刪除元素節點removeChild()函式JavaScriptREM函式
- ORACLE RAC環境下刪除節點Oracle
- 官方文件學習:RAC刪除節點
- JZ18刪除表的節點
- Mysql增加節點MySql
- oracle 10g rac,刪除故障節點並新增新節點Oracle 10g
- oracle 10g rac 新增節點與刪除節點步驟Oracle 10g
- Oracle叢集軟體管理-新增和刪除叢集節點Oracle
- python列表資料如何增加和刪除Python
- jquery增加和刪除行程式碼例項jQuery行程
- oracle11g_RAC新增刪除節點Oracle
- 原生js刪除節點程式碼例項JS
- JavaScript刪除元素節點程式碼例項JavaScript
- 基於Admin-managed刪除節點