マスターノードでHadoopを起動しようとすると、次の出力が表示されます。namenodeが起動していません。
[hduser@dellnode1 ~]$ start-dfs.sh
starting namenode, logging to /usr/local/hadoop/bin/../logs/hadoop-hduser-namenode-dellnode1.library.out
dellnode1.library: datanode running as process 5123. Stop it first.
dellnode3.library: datanode running as process 4072. Stop it first.
dellnode2.library: datanode running as process 4670. Stop it first.
dellnode1.library: secondarynamenode running as process 5234. Stop it first.
[hduser@dellnode1 ~]$ jps
5696 Jps
5123 DataNode
5234 SecondaryNameNode
「最初にやめなさい」。
最初の呼び出しstop-all.sh
タイプjps
Start-all.sh(またはstart-dfs.shとstart-mapred.sh)を呼び出します
Jpsと入力します(namenodeが表示されない場合は、「hadoop namenode」と入力してエラーを確認します)
新しいバージョンのhardoopで「stop-all.sh」を実行すると、これは非推奨になりました。代わりに以下を使用する必要があります。
stop-dfs.sh
そして
stop-yarn.sh
今日、pigスクリプトを実行しているときに、質問で述べたのと同じエラーが発生しました。
starting namenode, logging to /usr/local/hadoop/libexec/../logs/hadoop-training-namenode-localhost.localdomain.out
localhost: /home/training/.bashrc: line 10: /jdk1.7.0_10/bin: No such file or directory
localhost: Warning: $HADOOP_HOME is deprecated.
localhost:
localhost: starting datanode, logging to /usr/local/hadoop/libexec/../logs/hadoop-training-datanode-localhost.localdomain.out
localhost: /home/training/.bashrc: line 10: /jdk1.7.0_10/bin: No such file or directory
localhost: Warning: $HADOOP_HOME is deprecated.
localhost:
localhost: starting secondarynamenode, logging to /usr/local/hadoop/libexec/../logs/hadoop-training-secondarynamenode-localhost.localdomain.out
starting jobtracker, logging to /usr/local/hadoop/libexec/../logs/hadoop-training-jobtracker-localhost.localdomain.out
localhost: /home/training/.bashrc: line 10: /jdk1.7.0_10/bin: No such file or directory
localhost: Warning: $HADOOP_HOME is deprecated.
localhost:
localhost: starting tasktracker, logging to /usr/local/hadoop/libexec/../logs/hadoop-training-tasktracker-localhost.localdomain.out
したがって、答えは次のとおりです。
[training@localhost bin]$ stop-all.sh
次に、次のように入力します。
[training@localhost bin]$ start-all.sh
問題は解決されます。これで、mapreduceを使用してpigスクリプトを実行できます。
Macの場合(homebrewを使用してインストールする場合)3.0.0はHadoopバージョンです。 Linuxでは、それに応じてインストールパスを変更します(この部分のみが変更されます。/usr/local/Cellar/
)。
> /usr/local/Cellar/hadoop/3.0.0/sbin/stopyarn.sh
> /usr/local/Cellar/hadoop/3.0.0/sbin/stopdfs.sh
> /usr/local/Cellar/hadoop/3.0.0/sbin/stop-all.sh"
プロユーザーには、~/.bashrc
または~/.zshrc
の最後にこのalias
を記述してください(zshユーザーの場合)。そして、Hadoopと関連するすべてのプロセスを停止するたびに、コマンドラインからhstop
と入力するだけです。
alias hstop="/usr/local/Cellar/hadoop/3.0.0/sbin/stop-yarn.sh;/usr/local/Cellar/hadoop/3.0.0/sbin/stop-dfs.sh;/usr/local/Cellar/hadoop/3.0.0/sbin/stop-all.sh"