Разрешение Hadoop: start-dfs.sh отклонено

Я устанавливаю Hadoop на своем ноутбуке. SSH работает отлично, но я не могу начать hadoop.

[email protected]:~$ ssh localhost
Welcome to Ubuntu 12.10 (GNU/Linux 3.5.0-25-generic x86_64)

 * Documentation:  https://help.ubuntu.com/

0 packages can be updated.
0 updates are security updates.

Last login: Mon Mar  4 00:01:36 2013 from localhost

[email protected]:~$ /usr/sbin/start-dfs.sh
chown: changing ownership of `/var/log/hadoop/root': Operation not permitted
starting namenode, logging to /var/log/hadoop/root/hadoop-munichong-namenode-GrindPad.out
/usr/sbin/hadoop-daemon.sh: line 136: /var/run/hadoop/hadoop-munichong-namenode.pid: Permission denied
usr/sbin/hadoop-daemon.sh: line 135: /var/log/hadoop/root/hadoop-munichong-namenode-GrindPad.out: Permission denied
head: cannot open `/var/log/hadoop/root/hadoop-munichong-namenode-GrindPad.out' for reading: No such file or directory
localhost: chown: changing ownership of `/var/log/hadoop/root': Operation not permitted
localhost: starting datanode, logging to /var/log/hadoop/root/hadoop-munichong-datanode-GrindPad.out
localhost: /usr/sbin/hadoop-daemon.sh: line 135: /var/log/hadoop/root/hadoop-munichong-datanode-GrindPad.out: Permission denied
localhost: /usr/sbin/hadoop-daemon.sh: line 136: /var/run/hadoop/hadoop-munichong-datanode.pid: Permission denied
localhost: head: cannot open `/var/log/hadoop/root/hadoop-munichong-datanode-GrindPad.out' for reading: No such file or directory
localhost: chown: changing ownership of `/var/log/hadoop/root': Operation not permitted
localhost: starting secondarynamenode, logging to /var/log/hadoop/root/hadoop-munichong-secondarynamenode-GrindPad.out
localhost: /usr/sbin/hadoop-daemon.sh: line 136: /var/run/hadoop/hadoop-munichong-secondarynamenode.pid: Permission denied
localhost: /usr/sbin/hadoop-daemon.sh: line 135: /var/log/hadoop/root/hadoop-munichong-secondarynamenode-GrindPad.out: Permission denied
localhost: head: cannot open `/var/log/hadoop/root/hadoop-munichong-secondarynamenode-GrindPad.out' for reading: No such file or directory

[email protected]:~$ sudo /usr/sbin/start-dfs.sh
[sudo] password for munichong: 
starting namenode, logging to /var/log/hadoop/root/hadoop-root-namenode-GrindPad.out
localhost: Permission denied (publickey,password).
localhost: Permission denied (publickey,password).

Я использовал "sudo". Но разрешение по-прежнему запрещено.

Кто-нибудь может мне помочь?

Спасибо заранее!

Ответ 1

Я застрял в том же выпуске последние пару часов, но, наконец, решил. У меня была установка hadoop, извлеченная одним и тем же пользователем, как я использую для запуска hadoop. Таким образом, привилегия пользователя не возникает.
Моя конфигурация такова: машина Linux Ubuntu в Google Cloud.

Установка Hadoop/home/каталог данных Hadoop/var/lib/hadoop и биты доступа к каталогу - 777, поэтому любой может получить доступ. Я сделал ssh на удаленную машину, внеся изменения в файлы конфигурации и выполнил start-dfs.sh, после чего он дал мне "Permission denied (открытый ключ)" Итак, вот решение: В том же ssh-терминале:

  1. SSH-серийник

2.It запросит место папки, где он скопирует ключи, я ввел /home/hadoop/.ssh/id_rsa

3.it запросит пропущенную фразу, сохраните ее пустой для простоты.

4. cat/home/hadoop/.ssh/id_rsa.pub >>.ssh/authorized_keys (Чтобы скопировать вновь созданный открытый ключ в файл auth в домашнем каталоге ваших пользователей /.ssh)

  1. ssh localhost

  2. start-dfs.sh (Теперь он должен работать!)

Ответ 2

Я столкнулся с такой же проблемой, поэтому попытался подключить SSH и получил оператор вроде "не найден", поэтому я отправился в ssh-местоположение для отладки с помощью следующих шагов:

cd ~/.ssh

ssh_keygen -t rsa -p""

cat id_rsa.pub >> authorized_keys

... тогда это сработало...

Ответ 3

Попробуйте изменить права собственности на папку: /var/log/hadoop/root пользователю: munichong. Как и во всех системах, каталог LOGS должен быть отредактирован hadoop. Для этого требуется разрешение на редактирование папки LOG и ее содержимого.

sudo не будет работать в этом случае, поскольку для этого требуется разрешение на изменение содержимого папки даже после завершения этой работы script, чтобы запустить службы HADOOP в фоновом режиме.

Ответ 4

Ну, я тоже сталкиваюсь с этой проблемой, и до того, как я получил этот вопрос, я использую метод ниже.

  • sudo -s -H

используйте этот код для входа в систему как пользователь root

  1. ssh localhost

с помощью ssh (если вы просто пытаетесь использовать один режим node)

  1. ./sbin/start-dfs.sh

./sbin/start-yarn.sh

"cd" на ваш маршрут установки Hadoop, затем распечатайте этот код, чтобы запустить HDFS и MapRedude, и вы снова не столкнетесь с проблемой разрешения.

Я предполагаю причину этой проблемы:

Я использую пользователя root для инициализации среды Hadoop, поэтому несколько папок были созданы пользователем root, поэтому, когда я теперь использую свою собственную учетную запись, например "Jake", у меня нет разрешения на запуск службы (во время в этот раз системе необходимо получить доступ к LOGS)

enter image description here

Ответ 5

Вы пытаетесь передать ssh на свой собственный компьютер (localhost) и не пропускаете файл authorized_keys который позволяет войти в систему.

Этот файл в SSH указывает ключи SSH, которые можно использовать для входа в учетную запись пользователя, для которой настроен файл.

Для правильной настройки выполните следующие два шага.

Создайте новый кейген с помощью команды ниже в терминале:

ssh-keygen

Нажмите enter, чтобы сохранить имя по умолчанию id_rsa.pub

Теперь зарегистрируйте сгенерированный ключевой файл:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

Ответ 6

Я думаю, проблема в том, что root и пользовательское ssh-соединение. здесь моя копия https://askubuntu.com/questions/497895/permission-denied-for-rootlocalhost-for-ssh-connection Решил мой случай.

По умолчанию сервер SSH запрещает вход в систему с паролем для root. В файле /etc/ssh/sshd _config

изменения: PermitRootLogin без пароля для PermitRootLogin yes

И перезапустите SSH: sudo service ssh restart

Или вы можете использовать SSH-ключи. Если у вас его нет, создайте его с помощью ssh-keygen (придерживайтесь значения по умолчанию для ключа и пропустите пароль, если вам это нравится). Затем сделайте sudo -s (или какой бы ни был ваш предпочтительный метод для root), и добавьте ключ SSH в /root/.ssh/authorized_keys:

cat/home/user/.ssh/id_rsa.pub → /root/.ssh/authorized_keys

Ответ 7

Я решил это, установив разрешения для всех файлов 777:

sudo chmod 777 /usr/local/hadoop-2.7.6/* -R

Ответ 8

R hadoop установка для разрешения запрещена проблема, ниже команда работает для start-all.sh

sudo chown -R hadoop /usr/local/hadoop/