Назад | Перейти на главную страницу

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 - 777.

Запуск распределения hadoop-ec2 Cloudera, версия 0.18

Свойство dfs.hosts.exclude именует файл, содержащий список хостов, которым не разрешено подключаться к namenode. Необходимо указать полный путь к файлу.

cd <hadoop_installation>/bin

  • Чтобы запустить датанод

hadoop-daemon.sh start datanode

  • Для запуска тасктрекера

hadoop-daemon.sh start tasktracker

  • Чтобы остановить узел данных (удалите узел данных из кластера)

hadoop-daemon.sh stop datanode

  • Остановить тасктрекер (удалить тасктрекер из кластера)

hadoop-daemon.sh stop tasktracker

загляните в $ {HADOOP_CONF_DIR} /hadoop-policy.xml и посмотрите, есть ли у root права на это, root может быть суперпользователем над системой, но не над приложением.

Попробуй эту ссылку http://hadoop.apache.org/common/docs/current/service_level_auth.html

Стюарт