・前提
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