cassandraちゃんの動物本も買ったまま放置でしたので。
手元にある本は1.xの事が書いておりますが、とりあえず最新の方が(気分的に)良いの2.0.9を準備してきます。
CentOS 6.5
32bit
です。
cassandraのダウンロード
$ cd /usr/local
$ wget http://ftp.meisei-u.ac.jp/mirror/apache/dist/cassandra/2.0.9/apache-cassandra-2.0.9-bin.tar.gz
$ tar zxvf apache-cassandra-2.0.9-bin.tar.gz
$ mkdir -p /var/log/cassandra
$ mkdir -p /var/lib/cassandra
おしまい。
解答したフォルダ名は適宜変更。
$ mv -f apache-cassandra-2.0.9 cassandra
実行
$ /usr/local/cassandra/bin/cassandra -f
Cassandra 2.0 and later require Java 7 or later.
java7にしろと言われたのでそちらを行います。
参考URL:http://tecadmin.net/steps-to-install-java-on-centos-5-6-or-rhel-5-6/
多分上見た方が早い
$ cd /opt/
$ wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/7u65-b17/jdk-7u65-linux-i586.tar.gz"
$ tar xzf jdk-7u60-linux-i586.tar.gz
$ cd /opt/jdk1.7.0_65/
$ alternatives --install /usr/bin/java java /opt/jdk1.7.0_65/bin/java 2
$ alternatives --config java
2 プログラムがあり 'java' を提供します。
選択 コマンド
*+ 1 /usr/lib/jvm/jre-1.6.0-openjdk/bin/java
2 /opt/jdk1.7.0_65/bin/java
Enter を押して現在の選択 [+] を保持するか、選択番号を入力します:2
$ alternatives --install /usr/bin/jar jar /opt/jdk1.7.0_65/bin/jar 2
$ alternatives --install /usr/bin/javac javac /opt/jdk1.7.0_65/bin/javac 2
$ alternatives --set jar /opt/jdk1.7.0_65/bin/jar
$ alternatives --set javac /opt/jdk1.7.0_65/bin/javac
$ java -version
java version "1.7.0_65"
Java(TM) SE Runtime Environment (build 1.7.0_65-b17)
Java HotSpot(TM) Client VM (build 24.65-b04, mixed mode)
※64bitの方をダウンロードしてると実行できないので注意です
$ java -version
-bash: /usr/bin/java: バイナリファイルを実行できません
$ export JAVA_HOME=/opt/jdk1.7.0_65
$ export JRE_HOME=/opt/jdk1.7.0_65/jre
$ export PATH=$PATH:/opt/jdk1.7.0_65/bin:/opt/jdk1.7.0_65/jre/bin
cassandra再度起動
$ bin/cassandra -f
Cassandra 2.0 and later require Java 7 or later.
まだjava7にしろと怒られます。
念のため、再度上のexportを一通り実行しておきます。
再挑戦
$ bin/cassandra -f
エラー: エージェントが例外をスローしました : java.lang.NullPointerException
怒られなくなりましたが、怒られます。
また色々調整です。
cassandra.batのXms,Xmxが1Gだと動かないことがあるそうなので、それぞれ512Mに編集します。
$ vi cassandra/bin/cassandra.bat
REM ***** JAVA options *****
set JAVA_OPTS=-ea^
-javaagent:"%CASSANDRA_HOME%\lib\jamm-0.2.5.jar"^
-Xms1G^
-Xmx1G^
=>
REM ***** JAVA options *****
set JAVA_OPTS=-ea^
-javaagent:"%CASSANDRA_HOME%\lib\jamm-0.2.5.jar"^
-Xms512M^
-Xmx512M^
まだ怒られるので、cassandra.in.shを編集します。
$ echo $JAVA_HOME
これで出力されたやつをメモ
$ vi apache-cassandra-2.0.9/bin/cassandra.in.sh
JAVA_HOME can optionally be set here
JAVA_HOME=「echo $JAVA_HOMEで出力されたパスを記入」
これで怒られなくなりました。
echo $JAVA_HOMEで何も出ないという人は上のexportをやり直そう。
cassandra実行
$ ./bin/cassandra-cli
Exception connecting to 127.0.0.1/9160. Reason: 接続を拒否されました.
Welcome to Cassandra CLI version 2.0.9
拒否されました。
とりあえずファイアウォール的なの調整してみます。
$ vi /etc/sysconfig/iptables
追記
-A INPUT -p tcp -m tcp --dport 9160 -j ACCEPT
$ /etc/init.d/iptables restart
まだ拒否されます。
なんだかPIDに追加だかなんだかがいるみたいなので下記を実行
$ ./bin/cassandra -p /var/run/cassandra.pid
cassandra再度起動
$ ./bin/cassandra-cli
Column Family assumptions read from /root/.cassandra/assumptions.json
Connected to: "Test Cluster" on 127.0.0.1/9160
Welcome to Cassandra CLI version 2.0.9
The CLI is deprecated and will be removed in Cassandra 3.0. Consider migrating to cqlsh.
CQL is fully backwards compatible with Thrift data; see http://www.datastax.com/dev/blog/thrift-to-cql3
Type 'help;' or '?' for help.
Type 'quit;' or 'exit;' to quit.
[default@unknown]
無事出来ました。
動けば満足な駄目えんじにーあなので細かいことは気にしません。