DSE(Datastax Enterprise)クラスターをRHEL(Red Hat Enterprise Linux)で構築する手順を説明していきます。
DSEクラスターを構築して、DSEを試してみましょう。
事前にインストールしたいDSEのバージョンでOSのバージョンがサポートされているか確認してください。今回は以下のバージョンで行います。
- DSEバージョン: Datastax Enterprice:6.8.19
- RHEL8
以下を事前にインストールしていきます。
- EPEL(Extra Packages for Enterprise Linux)
- libaio
- Java(OpenJDK 8)
- Python2.7
まず、RHELのバージョンが正しいか確認しましょう。
$ cat /etc/redhat-release
EPELのインストール
エンタープライズLinux用の追加パッケージを提供するリポジトリ。
yumを使ってEPELにあるパッケージをインストールします。
RHEL互換ディストリビューションをインストールするにはEPELが必要になります。
$ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y
libaioパッケージをインストールします。
$ sudo yum install libaio -y
Java(OpenJDK 8)のインストール
$ sudo yum install java-1.8.0-openjdk -y
Javaのバージョン確認
$ java -version
Python2.7のインストール
$ sudo yum install wget -y $ sudo yum install gcc openssl-devel bzip2-devel -y $ wget https://www.python.org/ftp/python/2.7.15/Python-2.7.15.tgz $ tar xzf Python-2.7.15.tgz $ cd Python-2.7.15 $ sudo ./configure --enable-optimizations $ sudo yum install make -y $ sudo make altinstall $ sudo ln -s /usr/local/bin/python2.7 /usr/local/bin/python
Pythonのバージョン確認
$ python -V
以上で、事前設定が完了しました。
DSE6.8のインストール
それでは、DSE6.8をインストールしていきましょう。
まず、DataStaxのYumリポジトリを/etc/yum.repos.d/datastax.repoという名前のファイルに追加します。
$ sudo vi /etc/yum.repos.d/datastax.repo
[datastax] name=DataStax Repo for DataStax Enterprise baseurl=https://rpm.datastax.com/enterprise/ enabled=1 gpgcheck=0
最新バージョンのDSEをインストールします。
$ sudo yum install dse-full -y
DSE6.8がインストールされたか確認しましょう。
$ dse -v
以上の設定を各ノードで行っていきます。
DSEクラスターの構成設定
それでは、DSEクラスターの構成を設定していきましょう。今回は、最低限の設定でクラスターを構築していきます。自身が構築したい環境に合わせて設定してください。
まず、クラスターの設定をしていきます。
cassandra.yamlを変更していきます。
$ sudo vi etc/dse/cassandra/cassandra.yaml
以下、変更例です。
Cluster_name: 'SIOS Cluster' → クラスター名 listen_address: 10.146.15.192 → ノードのIPアドレス num_token: 128 → コメントアウト#を消す endpoint_snitch: GossipingPropertyFileSnitch → GossipingPropertyFileSnitch推奨 seed: "10.146.15.192" → シードノードのIPアドレス(シードノードの場合、ノードのIPアドレス) native_transport_address: 10.146.15.192 → ノードのIPアドレス native_transport_broadcast_address: 10.146.15.192 → ノードのIPアドレス
GossipingPropertyFileSnitchにした場合、
データセンター名、ラック名を変更するには、cassandra-rackdc.propertiesで変更します。
$ sudo vi etc/dse/cassandra/cassandra-rackdc.properties
dc=dc1 → 変更 rack=rack1 → 変更
systemdを有効にします。
$ sudo service dse stop $ sudo systemctl enable dse-all.target $ sudo /usr/share/dse/tools/dse-convert-to-systemd dse
以上で、DSEを起動させる準備ができました。
DSEクラスターの構築
それでは、各ノードでDSEを起動し、DSEクラスターを構築します。
まず、シードノードを起動します。
DSEの起動
$ sudo systemctl start dse-all.target
nodetoolで起動しているかの確認をします。
$ nodetool status
以下のように、
ノードのStatusがUN(Up/Normal)となっていれば、起動できています。
Datacenter: dc1 =============== Status=Up/Down |/ State=Normal/Leaving/Joining/Moving/Stopped -- Address Load Tokens Owns Host ID Rack UN 10.146.15.192 2.26 MiB 128 ? 085b002a-acdd-46ed-a38f-b0ea0fffa8f8 rack1
続いてノードをどんどん追加していきましょう。
DSEの起動
$ sudo systemctl start dse-all.target
nodetoolで起動しているかの確認をします。
$ nodetool status
以下のように、
ノードが起動され、追加されているこを確認しましょう。
ノードが追加されていること、ノードのStatusがUN(Up/Normal)となっていれば正しく追加できています。
Datacenter: dc1 =============== Status=Up/Down |/ State=Normal/Leaving/Joining/Moving/Stopped -- Address Load Tokens Owns Host ID Rack UN 10.146.15.192 2.26 MiB 128 ? 085b002a-acdd-46ed-a38f-b0ea0fffa8f8 rack1 UN 10.146.15.201 1.34 MiB 128 ? ca558240-ba34-49c9-b5a0-0aa2ba94beb6 rack1
さらにノードを追加したい場合は、
以上の手順通りに進めていってください。