在安装 Hadoop 时,我遇到了很多错误,但这个错误就是无法解决。无论我做什么,它都会一次又一次地弹出。当我通过命令
./start-all.sh
启动 Hadoop 时,我收到错误:
本地主机:rajneeshsahai@localhost:权限被拒绝 (公钥、密码、键盘交互)
错误日志:
Starting namenodes on [localhost]
localhost: rajneeshsahai@localhost: Permission denied (publickey,password,keyboard-interactive).
Starting datanodes
localhost: rajneeshsahai@localhost: Permission denied (publickey,password,keyboard-interactive).
Starting secondary namenodes [MacBook-Air.local]
MacBook-Air.local: [email protected]: Permission denied (publickey,password,keyboard-interactive).
2020-05-29 18:42:06,106 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Starting resourcemanager
resourcemanager is running as process 2937. Stop it first.
Starting nodemanagers
localhost: rajneeshsahai@localhost: Permission denied (publickey,password,keyboard-interactive).
我已经尝试过以下操作:
ssh-keygen -t rsa
cat ~/.ssh/id-rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
我认为重复此过程已在我的系统中创建了多个密钥。
sudo passwd
已配置
/etc/ssh/sshd_config
(i) 将
PermitRootLogin prohibit-password
更改为 PermitRootLogin yes
(ii) 将
PasswordAuthentication no
更改为 PasswordAuthentication yes
我确实有一个疑问:我是否必须从行中删除井号标签(
#
)?我使用的是 macOS Catalina。
您可以尝试以下方法:
$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys
在 Windows WSL2 Ubuntu 容器上,您必须重新启动 ssh 服务才能使其可用于 Hadoop。您可以尝试在 docker 容器中运行 Hadoop。请参阅https://github.com/big-data-europe/docker-hadoop。
在 Ubuntu 20.04 容器中,每次启动 Hadoop 之前,我都会重新启动 ssh 服务。
sudo service ssh restart
有关更多详细信息,请参阅以下教程https://dev.to/samujjwaal/hadoop-installation-on-windows-10-using-wsl-2ck1.
您是否更改了主目录的权限?
在我 777 回家后,Passwordless
ssh localhost
不再为我工作。恢复默认 750 神奇地解决了这个问题。