今天用eclipse連接Hadoop集群的時候突然給我報了這樣一個錯誤:Error:Call From xxx/xxx.xxx.xxx.xxx to hostname1:9000 failed on connection exception:java.net.ConnectException:Connection refused:no further information;...如下圖所示:
通過查看配置信息得到錯誤原因如下:hdfs-site.xml中配置的DFS Master的端口號和eclipse連接hdfs的端口號不同。
hdfs-site.xml配置如下:
<configuration>
<property> <name>dfs.nameservices</name> <value>ns</value> </property> <property> <name>dfs.ha.namenodes.ns</name> <value>nn1,nn2</value> </property> <property> <name>dfs.namenode.rpc-address.ns.nn1</name> <value>master:8020</value> </property> <property> <name>dfs.namenode.rpc-address.ns.nn2</name> <value>slave1:8020</value> </property> <property> <name>dfs.namenode.http-address.ns.nn1</name> <value>master:50070</value> </property>
<property> <name>dfs.namenode.http-address.ns.nn2</name> <value>slave1:50070</value> </property> <property> <name>dfs.namenode.shared.edits.dir</name> <value>qjournal://master:8485;slave1:8485;slave2:8485/ns</value> </property> <property> <name>dfs.journalnode.edits.dir</name> <value>/opt/modules/hadoop-2.6.0/data/jn</value> </property> <property> <name>dfs.client.failover.proxy.provider.ns</name> <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value> </property> <property> <name>dfs.ha.fencing.methods</name> <value>sshfence</value> </property>
<property> <name>dfs.ha.fencing.ssh.private-key-files</name> <value>/home/hadoop/.ssh/id_rsa</value> </property> <property> <name>dfs.ha.automatic-failover.enabled.ns</name> <value>true</value> </property> <property> <name>ha.zookeeper.quorum</name> <value>master:2181,slave1:2181,slave2:2181</value> </property> <property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.permissions.enabled</name> <value>false</value> </property> </configuration>
注意上面標紅的字段,其中明確配置了DFS Master的端口號為8020,可我在eclipse中另外配置為了9000。所以,出現了連接錯誤。改正之后即可解決問題,如下所示。
以上就是博主為大家介紹的這一板塊的主要內容,這都是博主自己的學習過程,希望能給大家帶來一定的指導作用,有用的還望大家點個支持,如果對你沒用也望包涵,有錯誤煩請指出。如有期待可關注博主以第一時間獲取更新哦,謝謝!
版權聲明:本文為博主原創文章,未經博主允許不得轉載。