Hi, Deploying wso2das in Mesos is bit tricky due to lack of overlay network support in Mesos OOTB. This is mainly because Spark cluster (when running in Spark cluster mode) is unable to communicate through Docker IP addresses when they are assigned to different host machines in a multi-node Mesos deployment. I checked the config options in [1] and tried setting SPARK_PUBLIC_DNS parameter to Mesos host IP without any success.
The main problem is there is no way to instruct Spark members to bind to the local Docker IP and advertise a different IP (Mesos slave host IP) to other members. @Niranda, Nirmal: is this something we can fix from our side? AFAIU, we are using Hazelcast to discover Spark/wso2das members and adding them to Spark context, right? On a side note, there is a Wiki page explaining how Spark should be used with Mesos in [2]. This is available after Spark 1.2.0. In this approach, we treat each Mesos slave as a Spark member and Spark/Mesos driver can directly schedule tasks on Mesos slaves instead of running Spark itself as a container. We should consider this approach in our C5 based efforts. We can leverage Kubernetes in the same way. IMO, we should recommend users to use wso2das in Spark client mode on Mesos due to these complexities. There is a DCOS Mesos framework for Spark [3] which can be used to deploy Spark on Mesos very easily. We can even leverage DCOS Spark framework in our deploy scripts. [1] http://spark.apache.org/docs/latest/spark-standalone.html [2] http://spark.apache.org/docs/latest/running-on-mesos.html [3] https://docs.mesosphere.com/1.7/usage/service-guides/spark/ Thanks. -- Akila Ravihansa Perera WSO2 Inc.; http://wso2.com/ Blog: http://ravihansa3000.blogspot.com
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
