hadoop - 数据节点退役

hadoop - 数据节点退役

我想从集群中删除节点优雅地。我将以下内容添加到我的 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  

以 root 身份,但我得到

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

HDFS 分区上的 mod 是 777。

运行 Cloudera 的 hadoop-ec2 发行版,版本 0.18

答案1

查看 ${HADOOP_CONF_DIR}/hadoop-policy.xml 并查看 root 是否有权限执行此操作,root 可能是系统的超级用户,但可能不是应用程序的超级用户。

尝试此链接http://hadoop.apache.org/common/docs/current/service_level_auth.html

斯图尔特

答案2

属性 dfs.hosts.exclude 指定一个文件,其中包含不允许连接到 namenode 的主机列表。必须指定该文件的完整路径名。

cd <hadoop_installation>/bin

  • 启动数据节点

hadoop-daemon.sh start datanode

  • 启动 tasktracker

hadoop-daemon.sh start tasktracker

  • 停止数据节点(从集群中删除数据节点)

hadoop-daemon.sh stop datanode

  • 停止 tasktracker(从集群中删除 tasktracker)

hadoop-daemon.sh stop tasktracker

相关内容