東京、大阪リージョン間の各Cassandraのノードでリプリケーションを行いたい
■AWSの設定
①VPCペアリングの設定を行う
②上記で、設定を行った、東京、大阪リージョンのルートテーブルにて、vpcペアリングの値を追記する
詳細なVPCペアリングの設定方法は、割愛。
■cassandraのインストール
1)カサンドラのユーザを作成
sudo su -
useradd cassandra
passwd cassandra
2)visudo
以下、末端の行に追記
cassandra ALL=(ALL) NOPASSWD: ALL
3)Javaのインストールを行う
wget https://corretto.aws/downloads/latest/amazon-corretto-8-x64-linux-jdk.tar.gz -O ~/jdk.tar.gz
mkdir ~/java && tar -xzvf ~/jdk.tar.gz -C ~/java --strip-components 1
sudo mv ~/java /usr/local/java
4)cassandraのインストール
wget http://archive.apache.org/dist/cassandra/3.11.6/apache-cassandra-3.11.6-bin.tar.gz -O ~/cassandra.tar.gz
mkdir ~/cassandra && tar -xzvf ~/cassandra.tar.gz -C ~/cassandra --strip-components 1
sudo mv ~/cassandra /usr/sbin/cassandra
sudo chown -R cassandra:cassandra /usr/sbin/cassandra
5)環境変数の追記
sudo vi /etc/profile
export JAVA_HOME=/usr/local/java
export PATH=$PATH:$JAVA_HOME/bin
export CASSANDRA_HOME=/usr/sbin/cassandra
export PATH=$PATH:$CASSANDRA_HOME/bin
6)pathの設定を再読み込みする
source /etc/profile
7)cassandra.yamlの編集を行う
①listen_address= サーバのプライベートIPアドレスにする
②rpc_address: サーバのプライベートIPアドレスにする
→リモートアクセスを可能させるための設定
②seedsの記載を行う
- class_name: SEED_PROVIDER
parameters:
# seeds is actually a comma-delimited list of addresses.
# Ex: "<ip1>,<ip2>,<ip3>"
- seeds: 東京リージョンのローカルIP, 大阪リージョンのローカルIP
③スニッチの指定を行う
→この場合、AWSのリージョン間のEC2のローカルIPのみで通信を行いたいので、以下のスニッチにした。
endpoint_snitch: Ec2Snitch