docker-composeによる同一クラスタのCassandraコンテナ群の作成について
こんにちは。私はDockerについてはcomposeまでは大体理解していますが、Cassandraについては初心者です。Cassandraを試して見たいと思い以下のようにdocker-compose.yaml
を作成して実行しました。
- docker-compose.yaml
version: '3.3'
services:
cassandra1:
image: cassandra:latest
container_name: cassandra1
volumes:
- "cassandra_data_1:/var/lib/cassandra"
environment:
- "CASSANDRA_CLUSTER_NAME=Test Cluster"
- "CASSANDRA_DC=se1"
- "CASSANDRA_ENDPOINT_SNITCH=GossipingPropertyFileSnitch"
cassandra2:
image: cassandra:latest
container_name: cassandra2
volumes:
- "cassandra_data_2:/var/lib/cassandra"
environment:
- "CASSANDRA_SEEDS: cassandra1" -> "CASSANDRA_SEEDS=cassandra1"に変更
- "CASSANDRA_CLUSTER_NAME=Test Cluster"
- "CASSANDRA_DC=se1"
- "CASSANDRA_ENDPOINT_SNITCH=GossipingPropertyFileSnitch"
depends_on:
- cassandra1
cassandra3:
image: cassandra:latest
container_name: cassandra3
volumes:
- "cassandra_data_3:/var/lib/cassandra"
environment:
- "CASSANDRA_SEEDS: cassandra1" -> "CASSANDRA_SEEDS=cassandra1"に変更
- "CASSANDRA_CLUSTER_NAME=Test Cluster"
- "CASSANDRA_DC=se1"
- "CASSANDRA_ENDPOINT_SNITCH=GossipingPropertyFileSnitch"
depends_on:
- cassandra1
volumes:
cassandra_data_1:
cassandra_data_2:
cassandra_data_3:
これをbuild
してup
したらsudo docker exec -it cassandra1 cqlsh
コマンドでcqlshにアクセスすることができました。
そこまでは良かったのですが、各コンテナに入ってnodetool status
をしたところ以下のような結果になりました。
- cassandra1
Datacenter: se1
===============
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns (effective) Host ID Rack
UN 172.21.0.2 103.68 KiB 256 100.0% 02266bf3-adec-4cd8-8ed6-b6ba692fc56b rack1
- cassandra2
Datacenter: se1
===============
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns (effective) Host ID Rack
UN 172.21.0.3 160.29 KiB 256 100.0% 187d9453-cd2e-49b1-8c88-50e7b3ee3a1c rack1
- cassandra3
Datacenter: se1
===============
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns (effective) Host ID Rack
UN 172.21.0.4 160.07 KiB 256 100.0% 024a5cc1-72a4-4fea-996e-b365c8643dee rack1
出力は三つのノードが表示されて、各ノードで結果は一緒だと思っていたのですがこうなってしまったため各ノードは同クラスタにないのではないかと思っています。これは私の勘違いで同一クラスタにいることになっているのでしょうか?それとも設定ミスでいないのでしょうか?