Разрешение 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-терминале:
- SSH-серийник
2.It запросит место папки, где он скопирует ключи, я ввел /home/hadoop/.ssh/id_rsa
3.it запросит пропущенную фразу, сохраните ее пустой для простоты.
4. cat/home/hadoop/.ssh/id_rsa.pub >>.ssh/authorized_keys (Чтобы скопировать вновь созданный открытый ключ в файл auth в домашнем каталоге ваших пользователей /.ssh)
-
ssh localhost
-
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
Ну, я тоже сталкиваюсь с этой проблемой, и до того, как я получил этот вопрос, я использую метод ниже.
используйте этот код для входа в систему как пользователь root
-
ssh localhost
с помощью ssh (если вы просто пытаетесь использовать один режим node)
-
./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/