My Spark's Worker cannot connect Master.Something wrong with Akka?

前端 未结 7 833
萌比男神i
萌比男神i 2020-12-15 23:46

I want to install Spark Standlone mode to a Cluster with my two virtual machines.
With the version of spark-0.9.1-bin-hadoop1, I execute spark-shell successfully in each

相关标签:
7条回答
  • 2020-12-16 00:04

    I'm not sure if this is the same issue I encountered but you may want to try setting SPARK_MASTER_IP the same as what spark binds to. In your example is looks like it would be 10.11.52.223 and not tc-52-223.

    It should be the same as what you see when you visit the master node web UI on 8080. Something like: Spark Master at spark://ec2-XX-XX-XXX-XXX.compute-1.amazonaws.com:7077

    0 讨论(0)
  • 2020-12-16 00:06

    I had faced same issue . you can resolve it by below procedure , first you should go to /etc/hosts file and comment 127.0.1.1 address . then you should go towards spark/sbin directory , then you should started spark session by these command ,

    ./start-all.sh 
    

    or you can use ./start-master.sh and ./start-slave.sh for the same . Now if you will run spark-shell or pyspark or any other spark component then it will automatically create spark context object sc for you .

    0 讨论(0)
  • 2020-12-16 00:10

    I my case, I could overcome the problem as "adding entry of hostname and IP adres of localhost to /etc/hosts file" as follows:

    For a cluster, master has the /etc/hosts content as follows:

    127.0.0.1       master.yourhost.com localhost localhost4 localhost.localdomain
    192.168.1.10    slave1.yourhost.com
    192.168.1.9     master.yourhost.com **# this line solved the problem**
    

    Then I also do the SAME THING on slave1.yourhost.com machine.

    Hope this helps..

    0 讨论(0)
  • 2020-12-16 00:11

    basically your ports are blocked so communication from master to worker is cut down. check here https://spark.apache.org/docs/latest/configuration.html#networking

    In the "Networking" section, you can see some of the ports are by default random. You can set them to your choice like below:

    val conf = new SparkConf() 
        .setMaster(master) 
        .setAppName("namexxx") 
        .set("spark.driver.port", "51810") 
        .set("spark.fileserver.port", "51811") 
        .set("spark.broadcast.port", "51812") 
        .set("spark.replClassServer.port", "51813") 
        .set("spark.blockManager.port", "51814") 
        .set("spark.executor.port", "51815") 
    
    0 讨论(0)
  • 2020-12-16 00:12

    set the port for spark worker also, Eg.: SPARK_WORKER_PORT=5078 ... check thespark-installation link for correct installation

    0 讨论(0)
  • 2020-12-16 00:13

    If you are getting a "Connection refused" exception, You can resolve it by checking

    => Master is running on the specific host

    netstat -at | grep 7077
    

    You will get something similar to:

    tcp        0      0 akhldz.master.io:7077 *:*             LISTEN  
    

    If that is the case, then from your worker machine do a host akhldz.master.io ( replace akhldz.master.io with your master host.If something goes wrong, then add a host entry in your /etc/hosts file)
    telnet akhldz.master.io 7077 ( If this is not connecting, then your worker wont connect either. )

    => Adding Host entry in /etc/hosts

    Open /etc/hosts from your worker machine and add the following entry (example)

    192.168.100.20   akhldz.master.io
    

    PS :In the above case Pillis was having two ip addresses having same host name eg:

    192.168.100.40  s1.machine.org
    192.168.100.41  s1.machine.org
    

    Hope that help.

    0 讨论(0)
提交回复
热议问题