CentOS で Cassandra を動かしてみる
スポンサーリンク
このドキュメントの内容は、以下の通りです。
NoSQL の1つである Cassandra を動かしてみます。ダウンロード
まずは、ファイルをダウンロードします。
http://www.apache.org/dyn/closer.cgi?path=/cassandra/1.1.0/apache-cassandra-1.1.0-bin.tar.gz
tar.gz のファイルを展開します。
tar zxfp apache-cassandra-1.1.0-bin.tar.gz cd apache-cassandra-1.1.0
FreeBSD の場合は、 ports からインストールしましょう。
- [2012-05-08-1] FreeBSD で Cassandra を動かしてみる
設定
各種ディレクトリのパスなどを修正します。
/var を適当なディレクトリに変更しましょう。
vim conf/cassandra.yaml
ログファイルのディレクトリを必要に応じて修正します。
vim conf/log4j-server.properties
vim conf/cassandra-env.sh
メモリがあまりないなら、減らしておきます。
MAX_HEAP_SIZE="400M" HEAP_NEWSIZE="100M"
data , commitlog, cache データのディレクトリを作ります。
#mkdir -p ~/tmp/var/lib/cassandra/data #mkdir -p ~/tmp/var/lib/cassandra/commitlog mkdir -p ~/tmp/lib/var/cassandora/{data,commitlog,saved_caches}
デーモンの起動
cassandra プロセスを起動します。 -f オプションをつけて実行すると、フォアグラウンドで実行されます。
フォアグラウンドの場合、C-c で終了できます。
./bin/cassandra -f
クライアントの起動
他のシェルを起動して、クライアントを起動してみましょう。
./bin/cassandra-cli -h localhost
listen のアドレスを 127.0.0.1 ではないものに変更しているなら、
適切なものに変えて、つないでください。
./bin/cassandra-cli -h `hostname`
Keyspace の作成
MySQL における DB の代わりが、 Cassandra では、KeySpace です。
まずは、 KeySpace を作成します。
create keyspace DEMO; use DEMO;
次に、SQL における Table, Cassandra では、 Column Family を作ります。
[default@DEMO] create column family Users; create column family Users; SnappyCompressor.create() threw an error: java.lang.NoClassDefFoundError Could not initialize class org.xerial.snappy.Snappy
set で値を insert し、 get でデータを取得します。
$ ./bin/cassandra-cli -h localhost Connected to: "Test Cluster" on 127.0.0.1/9160 Welcome to Cassandra CLI version 1.1.0 Type 'help;' or '?' for help. Type 'quit;' or 'exit;' to quit. [default@unknown] create keyspace DEMO; 7f4c238b-8f97-3767-bdc7-39c7f0000cfd Waiting for schema agreement... ... schemas agree across the cluster [default@unknown] use DEMO; Authenticated to keyspace: DEMO [default@DEMO] create column family Users; d77f11f0-f055-379c-8f57-9efffde1a64d Waiting for schema agreement... ... schemas agree across the cluster [default@DEMO] [default@DEMO] set Users[utf8('1234')][utf8('name')] = utf8('foo'); set Users[utf8('1234')][utf8('name')] = utf8('foo'); Value inserted. Elapsed time: 52 msec(s). [default@DEMO] set Users[utf8('1234')][utf8('pw')] = utf8('hoge'); set Users[utf8('1234')][utf8('pw')] = utf8('hoge'); Value inserted. Elapsed time: 7 msec(s).
get Users[utf8('1234')]; => (column=6e616d65, value=foo, timestamp=1337425464756000) => (column=7077, value=hoge, timestamp=1337425563001000) Returned 2 results. Elapsed time: 41 msec(s).
MX4J
mx4j がない場合には、 max4j のパッケージをインストールしてください。
- [2012-05-06-1] FreeBSD に mx4j をインストールする
- [2012-05-05-1] CentOS に mx4j をインストール
Will not load MX4J, mx4j-tools.jar is not in the classpath
apache-cassandra-1.1.0/bin/cassandra.in.sh を編集します。
BSD と Linux では、mx4j のインストールされるパスがことなるので、両方をチェックしています。
# The java classpath (required) CLASSPATH=$CASSANDRA_CONF:$cassandra_bin # BEGIN kaoru BSD_CLASSPATH=/usr/local/share/java/classes/*.jar LINUX_CLASSPATH=/usr/share/java/mx4j/*.jar for jar in $BSD_CLASSPATH $LINUX_CLASSPATH; do CLASSPATH=$CLASSPATH:$jar done # END kaoru
FreeBSD と Cassandra で Snappy がエラー
クライアント側
FreeBSD で Cassandra をただ単にダウンロードしてきて、動かしたら、 Snappy でエラーが出ました。
default@DEMO] create column family Users; SnappyCompressor.create() threw an error: org.xerial.snappy.SnappyError [FAILED_TO_LOAD_NATIVE_LIBRARY] null
サーバ側
at java.lang.Thread.run(Thread.java:619) Caused by: java.lang.UnsatisfiedLinkError: no snappyjava in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1682) at java.lang.Runtime.loadLibrary0(Runtime.java:823) at java.lang.System.loadLibrary(System.java:1030) at org.xerial.snappy.SnappyNativeLoader.loadLibrary(SnappyNativeLoader.java:52)
解決が難しいので ports から入れてしまうのが簡単でよいです。
本
このオライリーの Cassandra の本を読みました。
手っ取り早く、 Cassandra のことが知りたいなら、ざっと読むのが良いです。
参照しているページ (サイト内): [2012-05-08-1]
スポンサーリンク
スポンサーリンク
いつもシェア、ありがとうございます!
もっと情報を探しませんか?
関連記事
最近の記事
- パナソニック ジェットウォッシャードルツ EW-DJ61-Wのホースの修理
- LinuxセキュリティモジュールIntegrity Policy Enforcement
- アマゾンのEcho Show 5を買ったのでレビューします
- アマゾンのサイバーマンデーはAlexa Echo Show 5が安い
- Android スマートフォン OnePlus 7T と OnePlus 7の違い
- Android スマートフォン OnePlus 7 をAndroid10にアップデートしてみた
- クレジットカードのバーチャルカードの比較のまとめ
- 活動量計 Xiaomi Mi Band 4を買ってみたのでレビュー
- Android スマートフォン OnePlus 7 のレビュー
- AliExpressでスマートフォンを買い物してみた
- パソコンのホコリ対策 レンジフードフィルターと養生テープ
- 80PLUS GOLDのPC電源ユニットAntec NeoEco 750 Goldのレビュー
- イギリスの付加価値税 VAT は払い戻しを受けられる
- イギリスのロンドンでスーツケースなど荷物を預けられる場所は
- イギリスのロンドンで地下鉄やバスに乗るならオイスターカードを使おう
- イギリスのヒースロー空港からロンドン市内への行き方
- 航空便でほかの航空会社に乗り継ぎがある場合のオンラインチェックイン
- SFC会員がANA便ではなくベトナム航空のコードシェアを試して解ったこと
- ベトナムの入国審査でeチケットの掲示が必要だった話
- シアトルの交通ICカードはオルカカード(Orca)です
人気のページ
- Windows7 IME 辞書ツールで単語の登録に失敗しました
- C言語 popen()でコマンドを実行して出力を読み込む
- Windows7で休止状態にする方法
- CentOS MySQLの起動、停止、再起動
- loggerコマンドでsyslogにエラーを出力する方法
- パソコンパーツの買取をしてくれる店のまとめ
- Java Mapの使い方 get(),put(),remove(),size(),clear()
- 楽天のRポイントカードを作ってみた
- iPhone 5 から iPhone 6 に乗り換えたのでレビュー
- netstatコマンドのステータスの意味
スポンサーリンク
過去ログ
2020 : 01 02 03 04 05 06 07 08 09 10 11 122019 : 01 02 03 04 05 06 07 08 09 10 11 12
2018 : 01 02 03 04 05 06 07 08 09 10 11 12
2017 : 01 02 03 04 05 06 07 08 09 10 11 12
2016 : 01 02 03 04 05 06 07 08 09 10 11 12
2015 : 01 02 03 04 05 06 07 08 09 10 11 12
2014 : 01 02 03 04 05 06 07 08 09 10 11 12
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
2003 : 01 02 03 04 05 06 07 08 09 10 11 12