こんにちは。私は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

出力は三つのノードが表示されて、各ノードで結果は一緒だと思っていたのですがこうなってしまったため各ノードは同クラスタにないのではないかと思っています。これは私の勘違いで同一クラスタにいることになっているのでしょうか?それとも設定ミスでいないのでしょうか?