hadoop – datanode退役

我想要优雅地从我的集群中删除节点。 我将以下内容添加到我的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命名一个文件,其中包含不允许连接到namenode的主机列表。 文件的完整path名必须指定。

cd <hadoop_installation>/bin

  • 启动datanode

hadoop-daemon.sh start datanode

  • 启动tasktracker

hadoop-daemon.sh start tasktracker

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

hadoop-daemon.sh stop datanode

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

hadoop-daemon.sh stop tasktracker