ラップトップにHadoopとSSHをインストールしました。 「sshlocalhost」は正常に機能します。 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」です。ただし、munichongのパスワードはここでは機能しません。ここで、私の役割は「ルート」に変わりました。ここで何かを逃したかどうかはわかりません。
誰か助けてくれる人はいますか?
ありがとう!
解決:
1)パスワードなしでsshキーを生成する
$ ssh-keygen -t rsa -P ""
2)id_rsa.pubを許可されたキーにコピーします
$ cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
3)sshlocalhostを起動します
$ ssh localhost
4)hadoop sbinディレクトリに移動し、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
上記の場合のように、munichongはユーザーです(munichong @ GrindPad)
私の場合:hduserとしてログインします
まず、directorySudo rm -rf ~/.ssh
を削除します
デフォルト設定で/.sshディレクトリを再生成するために使用します。
[hduser@localhost ~]$ ssh-keygen
ここでは、id_rsa.pubのコンテンツをコピーして、上記のコマンドを使用して作成されたauthorized_keysファイルに貼り付けます)
[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:05localhost.localdomainから
[hduser @ localhost〜] $ jps
18531 Jps
[hduser @ localhost〜] $ start-all.sh
すべてのデーモンが起動します
注:ログファイルが原因で他の問題が発生する場合があります。その場合は、/ usr/local/hadoop/logs /からドットアウト(.out)ファイルのみを削除してください。
私は同じ問題に遭遇しました。 Amarが言ったように、Sudo hadoopとして実行している場合は、rootパスワードを要求されます。 rootパスワードをお持ちでない場合は、を使用して設定できます。
Sudo passwd
以下のURLは、ユーザー管理の詳細を示しています。
https://help.ubuntu.com/12.04/serverguide/user-management.html
SSH証明書の作成とセットアップHadoopでは、ノード、つまりリモートマシンとローカルマシンを管理するためにSSHアクセスが必要です。したがって、Hadoopの単一ノード設定では、ローカルホストへのSSHアクセスを構成する必要があります。
そのため、マシンでSSHを起動して実行し、SSH公開鍵認証を許可するように構成する必要があります。
HadoopはSSHを使用して(ノードにアクセスするため)、通常はユーザーがパスワードを入力する必要があります。ただし、次のコマンドを使用してSSH証明書を作成および設定することにより、この要件を排除できます。ファイル名の入力を求められた場合は、空白のままにして、Enterキーを押して続行します。
チェック このサイト
Rootとしてログインし、start-all.shを呼び出したようです。
代わりに、ディレクトリ$ SPARK_HOMEの所有者としてログインし、sparkを呼び出します。start-all.sh.
(または)
ユーザーhadoopをディレクトリ$ SPARK_HOMEの所有者とし、現在rootとしてログインしている場合、コマンドは次のようになります。
Sudo -u hadoop -c start-all.sh
仮定:
a)PATHにディレクトリ$ SPARK_HOME/binへの参照があります
b)証明書ベースの認証がユーザーhadoop用に構成されている