CentOS7におけるCassandraの構築

・前提

CentOS7 * 4VMにて構築

IP:172.16.20.40 ~ 43

firewalldとselinuxは無効化済み

・公式手順 cassandra.apache.org

・設定手順

javaをインストール

yum update -y
yum install -y java

java確認

# java -version
openjdk version "1.8.0_372"
OpenJDK Runtime Environment (build 1.8.0_372-b07)
OpenJDK 64-Bit Server VM (build 25.372-b07, mixed mode)

cassandra用repo追加

vi /etc/yum.repos.d/cassandra.repo

[cassandra]
name=Apache Cassandra
baseurl=https://redhat.cassandra.apache.org/41x/noboolean
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://downloads.apache.org/cassandra/KEYS

cassandraインストール

yum update
yum install -y cassandra cassandra-tools
systemctl daemon-reload

cassanndra設定

yamlファイルのうち以下を設定 seeds:4台のうち2台を設定 listen_addressとrpc_address:各サーバーのIPを設定。この項目のみ4サーバーで個別設定になる。

vi /etc/cassandra/default.conf/cassandra.yaml

cluster_name: 'vCD Performance Metrics Database'
authenticator: PasswordAuthenticator
authorizer: CassandraAuthorizer
  
- seeds: "172.16.20.40,172.16.20.41"
  
listen_address: 172.16.20.40
rpc_address: 172.16.20.40

cassanndraサービス設定

systemctl start cassandra
systemctl enable cassandra

cassanndraサービス確認

1台のみ実施した状態

# nodetool status

Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address       Load        Tokens  Owns (effective)  Host ID                               Rack
UN  172.16.20.40  104.36 KiB  16      100.0%            7fba5f6d-2bcb-4989-9952-bd9fbbdeae34  rack1

4台実施した状態

# nodetool status
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address       Load        Tokens  Owns (effective)  Host ID                               Rack
UN  172.16.20.40  109.42 KiB  16      48.5%             7fba5f6d-2bcb-4989-9952-bd9fbbdeae34  rack1
UN  172.16.20.43  127.49 KiB  16      52.0%             aba2b873-636a-420c-a648-105f8e3ec2d0  rack1
UN  172.16.20.41  75.3 KiB    16      48.8%             adf65da8-6937-439c-ab1c-c411ede6f06c  rack1
UN  172.16.20.42  70.25 KiB   16      50.7%             0e4a2232-c1e6-478d-967a-1a3dbac295dd  rack1

新規ユーザーの作成と、デフォルトのcassandraユーザーからの権限はく奪

cqlsh 172.16.20.40 -u cassandra -p cassandra
CREATE ROLE vcloud WITH SUPERUSER = true AND LOGIN = true AND PASSWORD = 'VMware1!';
quit
cqlsh 172.16.20.40 -u vcloud -p VMware1!
ALTER ROLE cassandra WITH PASSWORD = 'P@ssw0rd' AND SUPERUSER = false;
quit