2017-01-24 4 views
1

1つのHadoopノードを設定していますが、$HADOOP_HOME/sbin/start-dfs.shを実行すると、$HADOOP_HOME/bin/hdfsが見つからないことが表示されます。その場所のファイルは存在しますが、私はそれを完全にうまく読むことができます。 start-dfs.shスクリプトから

ログイン:

[email protected]:/opt/hadoop-2.7.3# sbin/start-dfs.sh 
Error: Could not find or load main class org.apache.hadoop.hdfs.tools.GetConf 
Starting namenodes on [] 
localhost: starting namenode, logging to /opt/hadoop-2.7.3/logs/hadoop-root-namenode-hadoop.out 
localhost: nice: ‘$HADOOP_HOME/bin/hdfs’: No such file or directory 
localhost: starting datanode, logging to /opt/hadoop-2.7.3/logs/hadoop-root-datanode-hadoop.out 
localhost: nice: ‘$HADOOP_HOME/bin/hdfs’: No such file or directory 
Error: Could not find or load main class org.apache.hadoop.hdfs.tools.GetConf 

限り、私はすべての私のパス変数が正しく設定されて言うことができるように(エコー$ HADOOP_HOMEが正しいディレクトリを返します)。

+0

の詳細を参照してくださいはHADOOP_HOME'が同様にrootユーザー用に設定し 'ますか? – Ambrish

+0

@Ambrish私はそれらをすべて/ etc/environmentに設定しています。私はrootからすべてを実行しています。 – cogm

+0

'HADOOP_HOME'の値は何ですか – Ambrish

答えて

0

一般的に、/etc/environmentファイルは、システム全体の環境変数の設定用です。これはスクリプトファイルではなく、1行に1つの代入式で構成されています。

シェルスクリプトでは処理されません。

.bashprofileまたは.bashrcに環境変数を設定し、hadoopプロセスを開始してください。

environment variables.

+0

Hmm - 変数を '.bashrc'に移動し、エラーのいくつかは'/bin/hdfs'に関するものではなく、 '/ bin/hdfs'に関するものではなくなりました: ' root @ hadoop:/opt/hadoop-2.7.3# sbin/start-dfs.sh' '{{ip}} 'の起動ネームノード ' {ip}:namenodeを起動し、/opt/hadoop-2.7.3/logs/hadoop-root-namenode-hadoopにログインします。 '$ HADOOP_HOME/bin/hdfs ':そのようなファイルやディレクトリはありません' '{IP}:いいえ、そのようなファイルやディレクトリ' 'localhost:開始データノード、/opt/hadoop-2.7.3/logs/hadoop-root -datanode-hadoop.out' 'localhost:nice: '$ HADOOP_HOME/bin/hdfs':そのようなファイルやディレクトリはありません – cogm

関連する問題