梅索斯的卡桑德拉

时间:2017-02-16 19:03:45

标签: docker cassandra mesos mesosphere

我在Mesosphere上使用Cassandra框架,它在Mesos容器上启动Cassandra节点。

我运行以下命令来安装

dcos package install --options=cassandra.json cassandra

我可以限制特定节点上的部署而不是随机部署中间层吗?我知道我们可以使用JSON文件中的参数 constraints 来使用docker容器来完成它,但是当我对mesos使用相同的时候,它说约束是一个无效的参数。< / p>

我做错了吗?或者有办法吗?

我的cassandra.json看起来像

    {
    "service" : {
                "name": "cassandra-test",
       "cpus": 1,
       "mem": 512,
       "heap": 256
    },
    "constraints" : {
    {
      "hostname",
      "CLUSTER",
      "10.2.1.81,10.2.1.89,10.2.1.74,10.2.1.72"
    }
  },
    "nodes": {
        "cpus": 2,
        "mem": 2048,
        "disk": 4096,
        "heap": {
            "size": 1024,
            "new": 100
        },
        "count": 2,
        "seeds": 1
    },
    "executor" : {
       "cpus": 1,
       "mem": 512,
       "heap": 256
    },
    "task" : {
       "cpus": 1,
       "mem": 128
    }
}

1 个答案:

答案 0 :(得分:0)

根据您的配置示例,将提供如下约束:

{
    "service": {
        "name": "cassandra-test",
        "cpus": 1,
        "mem": 512,
        "heap": 256,
        "placement_constraint": "hostname:CLUSTER:10.2.1.81,10.2.1.89,10.2.1.74,10.2.1.72"
    },
    "nodes": {
        "cpus": 2,
        "mem": 2048,
        "disk": 4096,
        "heap": {
            "size": 1024,
            "new": 100
        },
        "count": 2,
        "seeds": 1
    },
    "executor": {
        "cpus": 1,
        "mem": 512,
        "heap": 256
    },
    "task": {
        "cpus": 1,
        "mem": 128
    }
}

请参阅此处文档中的示例:

https://github.com/mesosphere/dcos-cassandra-service/blob/master/docs/configuration.md#service-configuration

您可以在此处查看控制此内容的配置架构:

https://github.com/mesosphere/dcos-cassandra-service/blob/master/universe/config.json