Skip to content

Run elasticsearch framework with Docker networking bridge mode #603

Open
@benfab

Description

@benfab

Hello,

The ES mesos framework works fine when deployed with the Docker host networking mode.
Nevertheless, I am using Weave and would like to use the Docker Bridge networking mode for the following reasons:

  1. To consume the ES service like any regular MS service, using the Consul registered name
  2. Load balance the load across the ES nodes, with Consul
  3. Use the network isolation capabilities (VXLAN) from Weave
  4. Do not open ports on the mesos slave nodes - security constrain.

So far, I am struggling to get the scheduler running in bridge networking mode. From the log, it seems that the ES scheduler has some issues to communicate with Zookeeper, see the log extract:

[INFO] 2017-04-03 12:03:25,249 org.apache.mesos.elasticsearch.scheduler.state.ClusterState getTaskList - Unable to get key for cluster state due to invalid frameworkID.
java.io.IOException: Unable to get zNode
        at org.apache.mesos.elasticsearch.scheduler.state.SerializableZookeeperState.get(SerializableZookeeperState.java:51)

From the container, I am able to use the zkCli client to communicate with Zookeeper.

I have gathered some topics where this issue has been reported:
#416 (last post)
#560
https://groups.google.com/forum/#!topic/mesos-elasticsearch/_miOCpKg6Bo

I would love to heard from you what would be the best approach, first to run ES-scheduler with Docker Bridge mode, then the ES-executors.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions