Linux Hadoop:需要root';“输入”后的密码;全部启动。sh“;

Linux Hadoop:需要root';“输入”后的密码;全部启动。sh“;,linux,ubuntu,hadoop,ssh,sudo,Linux,Ubuntu,Hadoop,Ssh,Sudo,我已经在笔记本电脑上安装了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 passw

我已经在笔记本电脑上安装了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).
它需要密码。我的角色是“穆尼冲”。但是munichong的密码在这里不起作用。在这里,我的角色变成了“根”。我不知道我是否错过了什么

有人能帮我吗


谢谢

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

 sudo passwd
下面的URL提供了有关用户管理的更多详细信息


创建和设置SSH证书 Hadoop需要SSH访问来管理其节点,即远程机器和本地机器。因此,对于Hadoop的单节点设置,我们需要配置对localhost的SSH访问

因此,我们需要在机器上启动并运行SSH,并将其配置为允许SSH公钥身份验证

Hadoop使用SSH(访问其节点),这通常需要用户输入密码。但是,可以通过使用以下命令创建和设置SSH证书来消除此要求。如果要求输入文件名,请将其留空,然后按enter键继续


如上文所述,选中munichong是用户(munichong@GrindPad)

  • 在我的例子中:作为hduser登录

  • 首先,删除目录
    sudorm-rf~/.ssh

  • 用于使用默认设置重新生成/.ssh目录:

    [hduser@localhost ~]$ ssh-keygen
    
  • 在这里,我们将id_rsa.pub的内容复制并粘贴到使用上述命令创建的授权_密钥文件中)

  • [hduser@localhost~]$
    chmod-R 750~/.ssh/authorized_key

  • [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/中删除点号(.out)文件解决方案:

    1) 生成不带密码的ssh密钥

    $ ssh-keygen -t rsa -P ""
    
    2) 将id_rsa.pub复制到授权密钥

    $  cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
    
    3) 启动ssh本地主机

    $ 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
    

    登录超级用户或超级用户

    :~ su
    
    Password:
    
    授予用户权限

    :~ sudo chown -R <log in user> /usr/local/hadoop/
    
    :~sudo chown-R/usr/local/hadoop/
    
    例如,登录用户:munichong


    HADOOP\u HOME=/usr/local/HADOOP/
    您似乎已以root用户身份登录并调用start all.sh.

    相反,作为目录$SPARK\u HOME的所有者登录并调用SPARK的
    start all.sh.

    (或)

    让用户hadoop成为目录$SPARK_HOME的所有者,当前以root用户身份登录,则命令如下:

    sudo -u hadoop -c start-all.sh
    
    假设:
    a) 路径引用了目录$SPARK\u HOME/bin

    b) 基于证书的身份验证是为用户hadoop配置的

    如果您使用
    sudo
    执行它,那么它当然希望您是
    根用户
    ,想要根用户的密码,而不是您的!或者我在这里错过了什么可怕的东西@阿玛:你没有错,但这不是OP所指的问题。OP所指的问题是由启动Hadoop时连接到localhost的启动脚本引起的。它实际上是自我SSH,如果未设置SSH密钥,则需要输入密码。我被要求输入SSH localhost的密码,但我没有该密码,用户帐户的密码不正确。生成SSH时,密码字段为空,因此,在启动hadoop服务时,它会自动逐个启动,而无需询问任何密码。@PythonNewHand
    sudo -u hadoop -c start-all.sh