2017-10-20 39 views
1

我有cassandra容器的情況。無法在mac上啓動2 cassandra容器

我在不同的文件夾中有2個docker-compse.yaml文件。

碼頭工人,compose.yaml文件夾1

version: "3" 
services: 
    cassandra-cluster-node-1: 
    image: cassandra:3.0 
    container_name: cassandra-cluster-node-1 
    hostname: cassandra-cluster-node-1 
    ports: 
     - '9142:9042' 
     - '7199:7199' 
     - '9160:9160' 

碼頭工人,compose.yaml文件夾2

version: "3" 
services: 
    cassandra-cluster-node-2: 
    image: cassandra:3.0 
    container_name: cassandra-cluster-node-2 
    hostname: cassandra-cluster-node-2 
    ports: 
     - '9242:9042' 
     - '7299:7199' 
     - '9260:9160' 

我試過了卡桑德拉的文件夾1,系統工作良好,後我在文件夾2上使用cassandra。但是此時,文件夾1上的服務cassandra會自動終止。所以我不明白他們,請問你們,誰有Docker的經驗可以幫助我解釋這種情況?

在cassandra_1的錯誤後,我跑cassandra_2

cassandra-cluster-node-1 exited with code 137 

謝謝你,我會感謝你的幫助。

回答

3

137內存不足錯誤。如果以默認設置啓動,Cassandra會使用大量內存。默認情況下,它佔用系統內存的1/4。對於每個instan。您可以使用環境變量來限制內存使用情況(請參閱我的示例)

Docker撰寫爲其運行的每個目錄創建一個網絡。使用您的設置,兩個節點將永遠無法找到對方。這是我測試的結果,你的文件被放到兩個目錄中; cass1cass1

$ docker network ls 
NETWORK ID   NAME    DRIVER    SCOPE 
dbe9cafe0af3  bridge    bridge    local 
70cf3d77a7fc  cass1_default  bridge    local 
41af3e02e247  cass2_default  bridge    local 
21ac366b7a31  host    host    local 
0787afb9aeeb  none    null    local 

你可以看到兩個網絡cass1_default和cass2_default。所以這兩個節點不會找到對方。

如果你希望他們能夠找到對方,你必須給第一個用作種子以第二個,他們必須要在同一網絡中(同泊塢窗,撰寫文件)

version: "3" 
services: 
    cassandra-cluster-node-1: 
    image: cassandra:3.0 
    container_name: cassandra-cluster-node-1 
    hostname: cassandra-cluster-node-1 
    environment: 
     - "MAX_HEAP_SIZE=1G" 
     - "HEAP_NEWSIZE=256M" 
    ports: 
     - '9142:9042' 
     - '7199:7199' 
     - '9160:9160' 

    cassandra-cluster-node-2: 
    image: cassandra:3.0 
    container_name: cassandra-cluster-node-2 
    hostname: cassandra-cluster-node-2 
    environment: 
     - "MAX_HEAP_SIZE=1G" 
     - "HEAP_NEWSIZE=256M" 
     - "CASSANDRA_SEEDS=cassandra-cluster-node-1" 
    ports: 
     - '9242:9042' 
     - '7299:7199' 
     - '9260:9160' 
    depends_on: 
     - cassandra-cluster-node-1