2017-09-09 10 views
1

명령을 실행하면 hadoop 버전이 작동합니다. 나쁜 포트 'localhost를' 로컬 호스트 : 나쁜 포트 'localhost를' 시작 - 하둡 네임 노드의 -format 명령도 잘 명령 start-dfs.sh을 노력하고 내가 [로컬 호스트] 로컬 호스트에 시작 namenodes을 얻고있다 작동하지 않음 보조 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 
,363,210

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들이받은 반면.

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를 로컬 호스트는 응답을해야한다. 그렇지 않다면 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"