2017-02-16 41 views
0

我在Mesosphere上使用Cassandra框架,在Mesos容器上啓動Cassandra節點。Cassandra在Mesos上

我運行下面的命令來安裝

dcos package install --options=cassandra.json cassandra 

我可以限制特定節點上,而不是中間層隨機部署部署?我知道我們可以在Docker容器中使用JSON文件中的參數約束來做到這一點,但是當我使用相同的mesos時,它說約束條件是一個無效的參數。

我做錯了什麼?還是有辦法解決?

我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 
    } 
} 

回答

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