Java

hadoop - 數據節點退役

  • October 1, 2015

我想優雅地從集群中刪除節點。我將以下內容添加到我的 hadoop-site.xml 中:

<property>
 <name>dfs.hosts.exclude</name>
 <value>/etc/hadoop/conf.dist/dfs.hosts.exclude</value>
 <final>true</final>
</property>

我正在將要刪除的節點添加到文件中並執行

hadoop dfsadmin -refreshNodes  

作為根,但我得到

refreshNodes: org.apache.hadoop.fs.permission.AccessControlException: Superuser privilege is required  

HDFS分區上的mod是777。

執行 Cloudera 的 hadoop-ec2 發行版,版本 0.18

查看 ${HADOOP_CONF_DIR}/hadoop-policy.xml 並查看 root 是否有權執行此操作,root 可能是系統的超級使用者,但可能不是應用程序。

試試這個連結http://hadoop.apache.org/common/docs/current/service_level_auth.html

斯圖爾特

屬性 dfs.hosts.exclude 命名一個文件,該文件包含不允許連接到名稱節點的主機列表。必須指定文件的完整路徑名。

cd <hadoop_installation>/bin

  • 啟動數據節點

hadoop-daemon.sh start datanode

  • 啟動任務跟踪器

hadoop-daemon.sh start tasktracker

  • 停止數據節點(從集群中刪除數據節點)

hadoop-daemon.sh stop datanode

  • 停止 tasktracker(從集群中刪除 tasktracker)

hadoop-daemon.sh stop tasktracker

引用自:https://serverfault.com/questions/32905