Apache Cassandraは、無料のオープンソースの分散型NoSQLデータベース管理システムです。これは、分散型の高可用性クラスターに大規模なデータを格納するために使用されます。データは多くのサーバーに分散され、高可用性を提供し、単一障害点はありません。 NoSQLデータベースサーバーは、MySQL、PostgreSQLなどのRDBMSソフトウェアで使用される従来の表形式の方法以外の方法でデータを保存します。
このチュートリアルでは、CentOS7サーバーにApacheCassandraをインストールします。
パッケージをインストールする前に、次のコマンドを使用してパッケージとリポジトリを更新することをお勧めします。
yum -y update
システムが更新されると、最新バージョンのOracleJavaがサーバーにインストールされます。次のコマンドを実行して、RPMパッケージをダウンロードします。
wget --no-cookies --no-check-certificate --header "Cookie:oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm"
wgetがインストールされていない場合は、yum -yinstallwgetを実行してwgetをインストールできます。次に、次のコマンドを使用して、ダウンロードしたRPMをインストールします。
yum -y localinstall jdk-8u131-linux-x64.rpm
次のコマンドを使用して、Javaのバージョンを確認できるようになりました。
java -version
次の出力が得られます。
[[email protected] ~]# java -version java version "1.8.0_131" Java(TM) SE Runtime Environment (build 1.8.0_131-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
また、JAVA_HOME環境変数が設定されているかどうかを確認する必要があります。同じように次のコマンドを実行します。
echo $JAVA_HOME
nullまたは空白の出力が得られた場合は、JAVA_HOME変数を手動で設定する必要があります。お気に入りのエディタを使用して.bash_profileファイルを編集します。このチュートリアルでは、nanoエディターを使用します。次のコマンドを実行して、nanoを使用して.bash_profileを編集します。
nano ~/.bash_profile
次に、ファイルの最後に次の行を追加します。
export JAVA_HOME=/usr/java/jdk1.8.0_131/ export JRE_HOME=/usr/java/jdk1.8.0_131/jre
次のコマンドを使用してファイルを入手します。
source ~/.bash_profile
これで、echo $ JAVA_HOMEコマンドを再度実行して、環境変数が設定されているかどうかを確認できます。
[[email protected] ~]# echo $JAVA_HOME /usr/java/jdk1.8.0_131/
次に、新しいリポジトリファイルを作成して、ApacheCassandraリポジトリをリポジトリリストに追加します。
nano /etc/yum.repos.d/cassandra.repo
次に、次のコンテンツをファイルに追加します。
[cassandra] name=Apache Cassandra baseurl=https://www.apache.org/dist/cassandra/redhat/311x/ gpgcheck=1 repo_gpgcheck=1 gpgkey=https://www.apache.org/dist/cassandra/KEYS
これで、次のコマンドを実行してApacheCassandraをインストールできます。
yum -y install cassandra
次を実行してシステムデーモンをリロードします:
systemctl daemon-reload
これで、次のように入力してCassandraを起動できます;
systemctl start cassandra
起動時にCassandraを自動的に起動できるようにするには、次のコマンドを実行します。
systemctl enable cassandra
次のコマンドを入力して、Cassandraが実行されていることを確認できます。
nodetool status
Cassandraが実行されている場合は、同様の出力が表示されるはずです。
[[email protected] ~]# nodetool status Datacenter: datacenter1 ======================= Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns (effective) Host ID Rack UN 127.0.0.1 136.29 KiB 256 100.0% b3d26649-9e10-4bee-9b3c-8e81c4394b2e rack1
上記の出力の代わりに、以下の出力のようなものが得られた場合は、cassandra環境構成ファイルを構成する必要があります。
nodetool: Failed to connect to '127.0.0.1:7199' - ConnectException: 'Connection refused (Connection refused)'.
次のコマンドを使用して構成ファイルを開きます。
nano /etc/cassandra/default.conf/cassandra-env.sh
次に、構成で次の行を見つけます。
# JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=<public name>"
行のコメントを解除し、その値を
構成は次のようになります。
JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=127.0.0.1"
ファイルを保存してエディターを終了し、次のコマンドを実行してApacheCassandraを再起動します。
systemctl restart cassandra
nodetoolコマンドの実行中に目的の出力が得られるはずです。
Cassandraには、クラスターでクエリを実行するための強力なコマンドラインシェルcqlshが付属しています。クエリはCQLまたはCassandraクエリ言語で記述されています。 CQLシェルにアクセスするには、次のコマンドを実行します。
cqlsh
次の出力が表示されます。
[[email protected] ~]# cqlsh Connected to Test Cluster at 127.0.0.1:9042. [cqlsh 5.0.1 | Cassandra 3.11.0 | CQL spec 3.4.4 | Native protocol v4] Use HELP for help.
これで、ApacheCassandraがサーバーにインストールされました。 Cassandraの詳細については、CassandraのWebサイトにアクセスしてください。