Cassandra シングルノード構築
Cassandra3系のシングルノード構築について記述する。
About cassandra data structure architecture
About cassandra data flow architecture
Javaのインストール
CassandraはJavaで実装された製品なので、Javaのインストールは当然必要。
Java9では動かないようなので、8ですすめる。
1 | $ sudo yum install -y java |
Cassandraのセットアップ
Apache Cassandra
yum.repoの設定を行う。
1 | [cassandra] |
Cassandraのインストール
インストールする。
1 | $ sudo yum install -y cassandra |
デーモンを再読み込みする。
1 | $ sudo systemctl daemon-reload |
Cassandraの設定
listen adressとrpc addressを設定する。
今回はシングルノードの構築なので、snitchはSimpleSnitchとする。
もし、Cassandraクラスタを構築する場合はGossipingPropertyFileSnitchにする必要がある。
1 |
|
listen_address
デフォルトは、localhostとなっている。
CassandraがバインドするノードのIPアドレスまたはホスト名となる。
また、listen_interfaceと同じ意味である。
rpc_address
デフォルトは、localhostとなっている。
Cassandraが複数のノードへ接続する際に必要になる自分のIPアドレスである。
クラスタ構成になると、rpc_addressが設定されていないのclient接続ができない状態となる。
endpoint_snitch
デフォルトは、org.apache.cassandra.locator.SimpleSnitch。
SimpleSnitch
- シングルデータセンターでのCassandra構築の場合に利用する。
GossipingPropertyFileSnitch
- 本番環境ではこちらのSnitchを推奨。また、複数のデータセンターでのCassandra構築の場合ゴシップ通信をする必要があるため、こちらのSnitchにする必要がある。
その他の設定
DataStax about cassandra.yml document
DC・Rack設定
複数データセンターや複数のラックで構築する際には、該当するノードに定義することで設定できる。
今回はシングルノードのため、ラックは変更せずに、データセンター名だけを変える。
1 | $ sudo vim /etc/cassandra/default.conf/cassandra-rackdc.properties |
Cassandraの起動
起動する。
1 | $ sudo systemctl start cassandra |
Cassandraのステータスを確認
Nodeの起動状態を確認する。
1 | $ nodetool status |
Status
UP or DOWN が返却される。
State
ノードの状態。
Address
ノードのIPアドレス。
Load
Snapshotの容量。
コンパクションによるデータ削除やTTLによるデータ削除等の値を確認できる。
Tokens
ノードの一意なトークン。
Owns
ノードのレプリケーション状態。
Host ID
ノードの一意なネットワークID。
Rack
Rack情報。
CQL
Cassandra Query Language DataStax document