hadoop:输入“start all.sh”后需要root的密码

rm5edbpk  于 2021-06-03  发布在  Hadoop
关注(0)|答案(6)|浏览(705)

我已经在笔记本电脑上安装了hadoop和ssh。”ssh localhost“工作正常。格式化hdfs之后,我尝试启动hadoop。

munichong@GrindPad:~$ sudo /usr/sbin/start-all.sh
starting namenode, logging to /var/log/hadoop/root/hadoop-root-namenode-GrindPad.out
root@localhost's password: 
root@localhost's password: localhost: Permission denied, please try again.

localhost: Permission denied (publickey,password).

它需要密码。我的角色是“穆尼冲”。但穆尼忠的密码在这里不起作用。在这里,我的角色变成了“根”。我不知道我是否错过了什么。
有人能帮我吗?
谢谢!

mm9b1k5b

mm9b1k5b1#

在上面的例子中,munichong是一个用户(munichong@grindpad)
在我的例子中:以hduser身份登录
首先,删除目录 sudo rm -rf ~/.ssh 用于使用默认设置重新生成/.ssh目录:

[hduser@localhost ~]$ ssh-keygen

在这里,我们将id_rsa.pub的内容复制并粘贴到使用上述命令创建的授权\u密钥文件中)

[hduser@localhost ~]$ sudo cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

[hduser@localhost ~]$ chmod -R 750 ~/.ssh/authorized_keys [hduser@localhost ~]$ ssh localhost 无法建立主机“localhost(127.0.0.1)”的真实性。rsa密钥指纹是04:e8:80:64:dc:71:b5:2f:c0:d9:28:86:1f:61:60:8a。是否确实要继续连接(是/否)?对
警告:已将“localhost”(rsa)永久添加到已知主机的列表中。上次登录时间:2016年1月4日星期一14:31:05,来自localhost.localdomain
[hduser@localhost ~]$ jps 18531日元
[hduser@localhost ~]$ start-all.sh 所有守护进程启动
注意:有时由于日志文件的原因会出现其他问题,在这种情况下,只从/usr/local/hadoop/logs/中删除dot out(.out)文件。

2fjabf4q

2fjabf4q2#

我也遇到了同样的问题。正如amar所说,如果您以sudo运行,hadoop将请求root密码。如果没有根密码,可以使用

sudo passwd

下面的url提供了有关用户管理的更多详细信息。
https://help.ubuntu.com/12.04/serverguide/user-management.html

3yhwsihp

3yhwsihp3#

您似乎以root身份登录并调用start-all.sh。
相反,作为目录$spark\u home的所有者登录并调用spark的 start-all.sh. (或)
假设用户hadoop是$spark\u home目录的所有者,并且当前以root用户身份登录,则命令如下:

sudo -u hadoop -c start-all.sh

假设:
a) 路径引用了目录$spark\u home/bin
b) 为用户hadoop配置了基于证书的身份验证

blpfk2vs

blpfk2vs4#

解决方案:
1) 生成不带密码的ssh密钥

$ ssh-keygen -t rsa -P ""

2) 将id_rsa.pub复制到授权密钥

$  cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys

3) 启动ssh localhost

$ ssh localhost

4) 现在转到hadoopsbin目录并启动hadoop

$./start-all.sh 
./start-all.sh
This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh
Starting namenodes on [localhost]
localhost: starting namenode, logging to /home/amtex/Documents/installed/hadoop/logs/hadoop-amtex-namenode-amtex-desktop.out
localhost: starting datanode, logging to /home/amtex/Documents/installed/hadoop/logs/hadoop-amtex-datanode-amtex-desktop.out
Starting secondary namenodes [0.0.0.0]
0.0.0.0: starting secondarynamenode, logging to /home/amtex/Documents/installed/hadoop/logs/hadoop-amtex-secondarynamenode-amtex-desktop.out
starting yarn daemons
starting resourcemanager, logging to /home/amtex/Documents/installed/hadoop/logs/yarn-amtex-resourcemanager-amtex-desktop.out
localhost: starting nodemanager, logging to /home/amtex/Documents/installed/hadoop/logs/yarn-amtex-nodemanager-amtex-desktop.out

5) 密码不问

$ jps 
12373 Jps
11823 SecondaryNameNode
11643 DataNode
12278 NodeManager
11974 ResourceManager
11499 NameNode
9gm1akwq

9gm1akwq5#

创建和设置ssh证书hadoop需要ssh访问来管理其节点,即远程机器和本地机器。因此,对于hadoop的单节点设置,我们需要配置对localhost的ssh访问。
因此,我们需要在机器上启动并运行ssh,并将其配置为允许ssh公钥身份验证。
hadoop使用ssh(访问其节点),这通常需要用户输入密码。但是,可以通过使用以下命令创建和设置ssh证书来消除此要求。如果要求输入文件名,只需将其留空,然后按enter键继续。
检查此站点

oxf4rvwz

oxf4rvwz6#

登录超级用户或超级用户

:~ su

Password:

授予用户权限

:~ sudo chown -R <log in user> /usr/local/hadoop/

例如,登录用户:munichong HADOOP_HOME = /usr/local/hadoop/

相关问题