2016-02-12 57 views
0

我有一位Spark工作人員,由於IP問題無法連接到其主服務器。 在主服務器上的start-all.sh(其名稱爲 'PL'),我坐上從日誌中的以下內容:設置Spark master ip @

16/02/12 21:28:35 INFO WorkerWebUI: Started WorkerWebUI at http://192.168.0.38:8081 
16/02/12 21:28:35 INFO Worker: Connecting to master pl:7077... 
16/02/12 21:28:35 WARN Worker: Failed to connect to master pl:7077 
java.io.IOException: Failed to connect to pl/192.168.0.39:7077 

這裏是我的/ etc/hosts文件:

$ cat /etc/hosts 
127.0.0.1 localhost 
127.0.1.1 wk 
192.168.0.39 pl 
# The following lines are desirable for IPv6 capable hosts 
::1  localhost ip6-localhost ip6-loopback 
ff02::1 ip6-allnodes 
ff02::2 ip6-allrouters 

似乎spark工作人員在主人名和IP地址之間混淆了......我應該如何設置?

另一個問題是:看着主人的日誌,看起來主人正在監聽另一個端口(7078),而不是工作人員試圖到達的端口(7077),因爲第一個端口未能啓動。

[email protected]:~/spark-1.6.0-bin-hadoop2.6/logs$ cat spark-romain-org.apache.spark.deploy.master.Master-1-pl.out 
Spark Command: /usr/lib/jvm/java-7-openjdk-amd64/jre/bin/java -cp /home/romain/spark-1.6.0-bin-hadoop2.6/conf/:/home/romain/spark-1.6.0-bin-hadoop2.6/lib/spark-assembly-1.6.0-hadoop2.6.0.jar:/home/romain/spark-1.6.0-bin-hadoop2.6/lib/datanucleus-core-3.2.10.jar:/home/romain/spark-1.6.0-bin-hadoop2.6/lib/datanucleus-api-jdo-3.2.6.jar:/home/romain/spark-1.6.0-bin-hadoop2.6/lib/datanucleus-rdbms-3.2.9.jar -Xms1g -Xmx1g -XX:MaxPermSize=256m org.apache.spark.deploy.master.Master --ip pl --port 7077 --webui-port 8080 
======================================== 
Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties 
16/02/12 21:28:35 INFO Master: Registered signal handlers for [TERM, HUP, INT] 
16/02/12 21:28:35 WARN Utils: Your hostname, pl resolves to a loopback address: 127.0.1.1; using 192.168.0.39 instead (on interface eth0) 
16/02/12 21:28:35 WARN Utils: Set SPARK_LOCAL_IP if you need to bind to another address 
16/02/12 21:28:35 WARN NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 
16/02/12 21:28:35 INFO SecurityManager: Changing view acls to: romain 
16/02/12 21:28:35 INFO SecurityManager: Changing modify acls to: romain 
16/02/12 21:28:35 INFO SecurityManager: SecurityManager: authentication disabled; ui acls disabled; users with view permissions: Set(romain); users with modify permissions: Set(romain) 
16/02/12 21:28:36 WARN Utils: Service 'sparkMaster' could not bind on port 7077. Attempting port 7078. 
16/02/12 21:28:36 INFO Utils: Successfully started service 'sparkMaster' on port 7078. 
16/02/12 21:28:36 INFO Master: Starting Spark master at spark://pl:7078 
16/02/12 21:28:36 INFO Master: Running Spark version 1.6.0 
16/02/12 21:28:36 WARN Utils: Service 'MasterUI' could not bind on port 8080. Attempting port 8081. 
16/02/12 21:28:36 WARN Utils: Service 'MasterUI' could not bind on port 8081. Attempting port 8082. 
16/02/12 21:28:36 INFO Utils: Successfully started service 'MasterUI' on port 8082. 
16/02/12 21:28:36 INFO MasterWebUI: Started MasterWebUI at http://192.168.0.39:8082 
16/02/12 21:28:36 WARN Utils: Service could not bind on port 6066. Attempting port 6067. 
16/02/12 21:28:36 INFO Utils: Successfully started service on port 6067. 
16/02/12 21:28:36 INFO StandaloneRestServer: Started REST server for submitting applications on port 6067 
16/02/12 21:28:36 INFO Master: I have been elected leader! New state: ALIVE 

但令人奇怪的是,當地的工人日誌彷彿successusfully連接到本地主端口:

16/02/12 21:28:38 INFO Worker: Connecting to master pl:7077... 
16/02/12 21:28:38 INFO Worker: Successfully registered with master spark://pl:7077 

回答

0

你可以嘗試運行netstat -pna | grep 7077上的主(需要root權限)來查看什麼過程阻塞了端口。

也許你有另一個驅動程序實例在運行。如果這是阻止端口的Java進程,則可以使用jps來了解關於它的更多信息。