我想要优雅地从我的集群中删除节点。 我将以下内容添加到我的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
hadoop-daemon.sh start datanode
hadoop-daemon.sh start tasktracker
hadoop-daemon.sh stop datanode
hadoop-daemon.sh stop tasktracker