2016-01-06 146 views
3

當我運行start-dfs時,出現下面的錯誤,它看起來像我需要告訴hadoop使用不同的端口,因爲這是我在進入本地主機時需要的。換句話說以下工作成功:ssh -p 2020 localhost.如何配置hadoop使用非默認端口:「0.0.0.0:ssh:連接到主機0.0.0.0端口22:連接被拒絕」

[Wed Jan 06 16:57:34 [email protected]~]# start-dfs.sh 
16/01/06 16:57:53 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 
Starting namenodes on [localhost] 
localhost: namenode running as process 85236. Stop it first. 
localhost: datanode running as process 85397. Stop it first. 
Starting secondary namenodes [0.0.0.0] 
0.0.0.0: ssh: connect to host 0.0.0.0 port 22: Connection refused 
16/01/06 16:57:56 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 

核心的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.namenode.name.dir</name> 
     <value>file:///hadoop/hdfs/namenode</value> 
    </property> 

    <property> 
     <name>dfs.datanode.data.dir</name> 
     <value>file:///hadoop/hdfs/datanode</value> 
    </property> 
</configuration> 

回答

4

如果您的Hadoop集羣節點上運行的sshd監聽在非標準端口上,則可以告訴Hadoop腳本啓動到該端口的ssh連接。實際上,可以自定義傳遞給ssh命令的任何選項。

這由名爲HADOOP_SSH_OPTS的環境變量控制。你可以編輯你的hadoop-env.sh文件並在那裏定義它。 (默認情況下該環境變量沒有定義。)

例如:

export HADOOP_SSH_OPTS="-p 2020" 
相關問題