2017-09-09 3 views
1

私はコマンドhadoopを試してみました。バート・ポート 'localhost' の はlocalhost:バッドポート 'localhost' の 開始 - Hadoopの名前ノードの-formatコマンドでも、細かい コマンドstart-dfs.shを働いている私は、[ローカルホスト] ローカルホスト上 開始namenodesを取得しています を動作していませんセカンダリネームノード[0.0.0.0]start-dfs.sh - 動作していない - localhost: 'localhost'が正しくありません(Hadoop 2.7.2)

下記の設定ファイルをお探しください。

コアSITE.XML

<configuration> 
    <property> 
    <name>fs.default.name</name> 
    <value>hdfs://localhost:9000</value> 
    </property> 
</configuration> 

HDFS-site.xmlの

<configuration> 
    <property> 
    <name>dfs.replication</name> 
    <value>1</value> 
    </property> 
    <property> 
    <name>dfs.permission</name> 
    <value>false</value> 
    </property> 
    <property> 
    <name>dfs.namenode.name.dir</name> 
    <value>/home/.../hadoop-2.7.2/hadoop2_data/hdfs/namenode</value> 
    </property> 
    <property> 
    <name>dfs.datanode.data.dir</name> 
    <value>/home/.../hadoop-2.7.2/hadoop2_data/hdfs/datanode</value> 
    </property> 
</configuration> 

糸site.xmlの

<configuration> 
    <property> 
    <name>yarn.nodemanager.aux-services</name> 
    <value>mapreduce_shuffle</value> 
    </property> 
    <property> 
    <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> 
    <value>org.apache.hadoop.mapred.ShuffleHandler</value> 
    </property> 
</configuration> 

hadoop-env.sh

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 

mapred-site.xmlの

<configuration> 
<property> 
<name>mapreduce.framework.name</name> 
<value>yarn</value> 
</property> 
</configuration> 

ホスト

127.0.0.1 localhost 
127.0.1.1 arun 

# The following lines are desirable for IPv6 capable hosts 
::1  ip6-localhost ip6-loopback 
fe00::0 ip6-localnet 
ff00::0 ip6-mcastprefix 
ff02::1 ip6-allnodes 
ff02::2 ip6-allrouters 

bashrcに

#adding this 

export HADOOP_HOME=/home/arun/my_work/hadoop/hadoop-2.7.2 
export HADOOP_CONF_DIR=/home/arun/my_work/hadoop/hadoop-2.7.2/etc/hadoop 
export HADOOP_MAPRED_HOME=$HADOOP_HOME 
export HADOOP_COMMON_HOME=$HADOOP_HOME 
export HADOOP_HDFS_HOME=$HADOOP_HOME 
export YARN_HOME=$HADOOP_HOME 
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native 
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib" 


export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 
export PATH="$PATH:/usr/lib/jvm/java-7-openjdk-amd64/bin" 


export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin 
export HADOOP_PID_DIR=/home/.../hadoop-2.7.2/hadoop2_data/hdfs/pid 

次のエラーを取得./sbin/start-dfs.shコマンドをruningている間。

Starting namenodes on [localhost] 
localhost: Bad port 'localhost' 
localhost: Bad port 'localhost' 
Starting secondary namenodes [0.0.0.0] 
0.0.0.0: Bad port '0.0.0.0' 

答えて

0

同じ問題私が直面して以下の手順で固定し、

1)のssh localhostが応答を取得する必要があります。そうでない場合は、sshをインストールしてすべての端末を閉じ、sshを再起動してから、/ etc/sbinからstart-dfs.shを実行してください。
2)hadoop-env.shでHADOOP_OPTS = -Djava.net.preferIPv4Stack = trueを確認してください

0

時にはhadoopが古い設定ファイルをキャッシュに保持することがありますが、私はこれらのタイプの問題に何度も直面しています。あなたの設定ファイルがうまく見えても、最初に間違ってポート番号として "localhost"を指定し、hdfsを起動しようとした疑いがあります。後で設定を修正してhdfsを再起動しようとしましたが、古い設定はまだキャッシュに残っていました。サーバーを再起動すると役立ちます。

0

あなたのhadoop-env.shとおそらく他の場所のHADOOP_SSH_OPTSを調べてみてください。私は同じ問題を抱えていました。その理由は、HADOOP_SSH_OPTSに未完成のパラメータがありました。

export HADOOP_SSH_OPTS="-p" 
関連する問題