Help us understand the problem. What is going on with this article?

Cassandra インストール (Single-Node)

More than 1 year has passed since last update.

本記事の想定オーディエンスと目的

Cassandra を初めてインストールする人.
私自身が,最もシンプルな Single-Node のインストールで躓いたので,初めての方のお助けになればと思いました.
同趣向の記事は日本語・英語ともに数本ありますが,バージョンや環境の違いによる影響で,2017年11月時点では,そのままだと上手くいかないようです.
(逆に本記事も,近い将来,無用になると予想されますが,少なくとも現時点で,スムーズにインストールできる内容を書き記したいと思います)

環境

新規に構築した VirtualBox 上の CentOS-7 仮想マシンを想定します.
使用する Cassandra のバージョンは現時点の最新 3.11.1 です.こちらが Java 9 に未対応ですので,Java 8 を使用するのが肝要です(私は Java 9 を使用してハマりました)

詳細は以下の通りです.
Windows 10
VirtualBox 5.1.28
CentOS-7-x86_64-Minimal-1611
Java SE 8u151 (jdk1.8.0_151)
apache-cassandra-3.11.1

参考にしたサイト

主に以下の 2つの英文サイトを参考にしました.

How To Install Cassandra and Run a Single-Node Cluster On a Ubuntu VPS
2013年の記事です.

Cassandra Tutorial
書かれた時期は不明ですがさらに古いようです.
無事インストールに成功後は,よいチュートリアルだと思います.

1. Java 8 インストール

※Java 9 をインストールすると Cassandra が起動しませんのでご注意ください.

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

ご自身の環境に合ったものをローカル PC にダウンロードします.
私は jdk-8u151-linux-x64.tar.gz をダウンロードしました.

仮想マシンにこの .tar.gz を格納するための適当なディレクトリを作成します(私は root 直下に temp を作成しました)

# mkdir ~/temp/

WinSCP などでここに先ほどダウンロードした .tar.gz を格納し,解凍します.

# cd ~/temp/
# tar zxvf jdk-8u151-linux-x64.tar.gz

解凍した JDK を /usr/local/ 下に移します(ディレクトリ名は /java/)

# mv jdk1.8.0_151 /usr/local/java/

パスを通します./etc/profile をエディタで開いて

# vi /etc/profile

以下を profile の最後に記述.

JAVA_HOME=/usr/local/java/jdk1.8.0_151
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
JRE_HOME=/usr/local/java/jdk1.8.0_151
PATH=$PATH:$HOME/bin:$JRE_HOME/bin
export JAVA_HOME
export JRE_HOME
export PATH

Java Alternatives を設定します.

# update-alternatives --install "/usr/bin/java" "java" "/usr/local/java/jdk1.8.0_151/bin/java" 1
# update-alternatives --install "/usr/bin/javac" "javac" "/usr/local/java/jdk1.8.0_151/bin/javac" 1
# update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/local/java/jdk1.8.0_151/bin/javaws" 1
# update-alternatives --set java /usr/local/java/jdk1.8.0_151/bin/java
# update-alternatives --set javac /usr/local/java/jdk1.8.0_151/bin/javac
# update-alternatives --set javaws /usr/local/java/jdk1.8.0_151/bin/javaws

仮想マシンを再起動.

# reboot

2. Cassandra インストール

オフィシャルサイトからのミラーサイトから apache-cassandra-3.11.1-bin.tar.gz をダウンロードします.

http://www.apache.org/dyn/closer.lua/cassandra/3.11.1/apache-cassandra-3.11.1-bin.tar.gz

先ほど作成した仮想マシンの /temp/ ディレクトリに,WinSCP などで .tar.gz を格納し,解凍します.

# cd ~/temp/
# tar zxvf apache-cassandra-3.11.1-bin.tar.gz

解凍した Cassandra を /etc/ 下に移します(ディレクトリ名は /cassandra/)

# mv apache-cassandra-3.11.1 /etc/cassandra/

ログ等に使用するフォルダを作成し,書込み権限を付与します.

# mkdir /var/lib/cassandra/
# mkdir /var/log/cassandra/
# chmod 777 /var/lib/cassandra/
# chmod 777 /var/log/cassandra/

パスを通します./etc/profile をエディタで開いて

# vi /etc/profile

以下を profile の最後に記述.

export CASSANDRA_HOME=/etc/cassandra
export PATH=$PATH:$CASSANDRA_HOME/bin

再起動.

# reboot

3. Cassandra 作業用のユーザを作成し起動へ

root user のまま Cassandra を起動しようとすると下記メッセージが出ますので,別にユーザを作ります.

Running Cassandra as root user or group is not recommended - please start Cassandra using a different system user.
If you really want to force running Cassandra as root, use -R command line option.
# useradd user

/etc/cassandra/ ディレクトリにアクセス権を付与.

# chmod -R 777 /etc/cassandra/

ユーザ変更.

# su user
$ cassandra -f

これで起動します(停止は Ctrl + c)

セッションを複製し,ユーザを変更し,CQL シェルを起動.

# su user
$ cqlsh

CQL シェルが下記の通り起動すれば,インストールと起動に成功しています.

[hadoop@localhost root]$ cqlsh
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 3.11.1 | CQL spec 3.4.4 | Native protocol v4]
Use HELP for help.
cqlsh>
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away