CassandraをUbuntuにインストールしてみた。
カサンドラというと北斗の拳を連想してしまいますが、最近KVSの中でもCassandraの名前をよく聞くようになったので、とりあえずUbuntu10.4にインストールしてみました。(debパッケージ)
- 基本的には、下のページで書かれている通りでいいのですが、一部URLの修正などが必要でした。
手順
- /etc/apt/sources.listの編集
- nanoやviで下記を一番下に追加します。
deb http://www.apache.org/dist/cassandra/debian unstable main deb-src http://www.apache.org/dist/cassandra/debian unstable main
- 最新パッケージリストを取得
% sudo apt-get update ヒット http://jp.archive.ubuntu.com lucid Release.gpg ヒット http://jp.archive.ubuntu.com/ubuntu/ lucid/main Translation-ja 無視 http://jp.archive.ubuntu.com/ubuntu/ lucid/restricted Translation-ja 無視 http://www.apache.org/dist/cassandra/debian/ unstable/main Translation-ja : : : 8,065B を 3s で取得しました (2,416B/s) パッケージリストを読み込んでいます... 完了 W: GPG error: http://www.apache.org unstable Release: 公開鍵を利用できないため、以下の署名は検証できませんでした: NO_PUBKEY F758CE318D77295D
- 公開鍵の設定(上で表示されたキー値を使用。ここではF758CE318D77295D)
% gpg --keyserver wwwkeys.eu.pgp.net --recv-keys F758CE318D77295D gpg: 鍵8D77295Dをhkpからサーバーwwwkeys.eu.pgp.netに要求 gpg: 鍵8D77295D: 公開鍵“Eric Evans”を読み込みました gpg: 絶対的に信用する鍵が見つかりません gpg: 処理数の合計: 1 gpg: 読込み: 1 (RSA: 1) % sudo apt-key add ~/.gnupg/pubring.gpg OK
- もう一回更新してみる
% sudo apt-get update ヒット http://jp.archive.ubuntu.com lucid Release.gpg ヒット http://jp.archive.ubuntu.com/ubuntu/ lucid/main Translation-ja : : 4,643B を 2s で取得しました (1,731B/s) パッケージリストを読み込んでいます... 完了 laptop% sudo apt-get install cassandra パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下の特別パッケージがインストールされます: ca-certificates-java icedtea-6-jre-cacao java-common jsvc libcommons-daemon-java openjdk-6-jre-headless openjdk-6-jre-lib tzdata-java 提案パッケージ: default-jre equivs java-virtual-machine sun-java6-fonts ttf-wqy-zenhei ttf-telugu-fonts ttf-oriya-fonts ttf-kannada-fonts ttf-bengali-fonts 以下のパッケージが新たにインストールされます: ca-certificates-java cassandra icedtea-6-jre-cacao java-common jsvc libcommons-daemon-java openjdk-6-jre-headless openjdk-6-jre-lib tzdata-java アップグレード: 0 個、新規インストール: 9 個、削除: 0 個、保留: 0 個。 41.3MB のアーカイブを取得する必要があります。 この操作後に追加で 100MB のディスク容量が消費されます。 続行しますか [Y/n]? y 取得:1 http://www.apache.org/dist/cassandra/debian/ unstable/main cassandra 0.6.2 [8,528kB] 取得:2 http://jp.archive.ubuntu.com/ubuntu/ lucid/main openjdk-6-jre-lib 6b18-1.8-0ubuntu1 [5,907kB] : : tzdata-java (2010j-0ubuntu0.10.04) を設定しています ... java-common (0.34) を設定しています ... openjdk-6-jre-lib (6b18-1.8-0ubuntu1) を設定しています ... ca-certificates-java (20100406ubuntu1) を設定しています ... creating /etc/ssl/certs/java/cacerts... done. : : libcommons-daemon-java (1.0.2~svn20061127-10ubuntu1) を設定しています ... jsvc (1.0.2~svn20061127-10ubuntu1) を設定しています ... cassandra (0.6.2) を設定しています ... icedtea-6-jre-cacao (6b18-1.8-0ubuntu1) を設定しています ...
- cassandaが8080 Portを使用しているので必要に応じて変更する。
- /usr/share/cassandra/cassandra.in.sh
- ここでは10036に設定。
- /usr/share/cassandra/cassandra.in.sh
% sudo vi /usr/share/cassandra/cassandra.in.sh -Dcom.sun.management.jmxremote.port=10036 \
- 起動
% sudo /etc/init.d/cassandra start
- 接続
% cassandra-cli --host localhost --port 9160
- テスト(サンプルキースペースを使用)
- サンプルキースペースを表示
cassandra> describe keyspace Keyspace1 Keyspace1.Super1 Column Family Type: Super Columns Sorted By: org.apache.cassandra.db.marshal.BytesType@1d47b2b Column Family Type: Super Column Sorted By: org.apache.cassandra.db.marshal.BytesType flush period: null minutes
-
-
-
-
- -
-
-
-
-
- テストデータセット(Standard1を使用)
cassandra> set Keyspace1.Standard1['user']['name']='kobayashi' Value inserted. cassandra> set Keyspace1.Standard1['user']['hatena']='koba04' Value inserted. cassandra> set Keyspace1.Standard1['user']['twitter']='koba04' Value inserted. cassandra> set Keyspace1.Standard1['user']['lastfm']='koba04' Value inserted.
-
- データの取得
cassandra> get Keyspace1.Standard1['user'] => (column=74776974746572, value=koba04, timestamp=1278162714479000) => (column=6e616d65, value=kobayashi, timestamp=1278162670245000) => (column=6c617374666d, value=koba04, timestamp=1278162722059000) => (column=686174656e61, value=koba04, timestamp=1278162704447000) Returned 4 results. cassandra> get Keyspace1.Standard1['user']['twitter'] => (column=74776974746572, value=koba04, timestamp=1278162714479000)
とりあえずインストールは出来たのは、これから色々触ってみようと思います。