タイトルは釣り気味です。
Riak CSを試してみたかったんだ。
試した環境はUbuntu12.04です。RiakとRiakCSは1.3.1。
@kuenishiさんの記事や、Bashoのドキュメントが参考になる。
【緊急】 Riak Cloud Storage が OSS になりました【速報】 - kuenishi's blog
http://docs.basho.com/riak/latest/tutorials/installation/Installing-on-Debian-and-Ubuntu/
http://docs.basho.com/riakcs/latest/cookbooks/installing/Installing-Riak-CS/#Installing-Riak-CS-on-a-Node
UbuntuにRiak、Stanchion、RiakCSをインストールする
普段apt-getじゃなくてaptitudeコマンド使ってるのでそっちで。
$ curl http://apt.basho.com/gpg/basho.apt.key | sudo apt-key add - $ sudo bash -c "echo deb http://apt.basho.com $(lsb_release -sc) main > /etc/apt/sources.list.d/basho.list" $ sudo aptitude update $ aptitude search riak p riak - Riak is a highly scalable, fault-tolerant p riak-cs - Riak CS p riak-cs-control - Riak Cloud Storage Control $ sudo aptitude install riak riak-cs riak-cs-control $ aptitude search stanchion p stanchion - Request Serialization Application $ sudo aptitude install stanchion
RiakCSのドキュメントのダウンロードのとこにはaptについて書かれてないけど、Riakと同じRepositoryからインストールできるみたい。
RiakとRiakCSを設定して起動する
ulimitが小さいと警告が出る。rootで作業する。
とりあえず動かすのはドキュメントにも載ってるみたい。
http://docs.basho.com/riakcs/latest/tutorials/fast-track/Building-a-Local-Test-Environment/
Riakの設定(/etc/riak/app.config)でriak_coreセクションにdefault_bucket_propsを追加する。
{default_bucket_props, [{allow_mult, true}]},
また、storage_backendのとこを書き換える。
{add_paths, ["/usr/lib/riak-cs/lib/riak_cs-1.3.1/ebin"]}, {storage_backend, riak_cs_kv_multi_backend}, {multi_backend_prefix_list, [{<<"0b:">>, be_blocks}]}, {multi_backend_default, be_default}, {multi_backend, [ {be_default, riak_kv_eleveldb_backend, [ {max_open_files, 50}, {data_root, "/var/lib/riak/leveldb"} ]}, {be_blocks, riak_kv_bitcask_backend, [ {data_root, "/var/lib/riak/bitcask"} ]} ]},
RiakCSの設定(/etc/riak-cs/app.config)でanonymous_user_creationをtrueにしておく。
{anonymous_user_creation, true}
riak、stanchion、riak-csコマンドで起動する。起動順に注意する。
$ sudo su - # ulimit -n 65536 # riak start Attempting to restart script through sudo -H -u riak # stanchion start # riak-cs start # riak ping Attempting to restart script through sudo -H -u riak pong # stanchion ping pong # riak-cs ping pong
ユーザーを作る
ドキュメントに書かれているが、curlでAPIを叩けばいいらしい。
http://docs.basho.com/riakcs/latest/cookbooks/Account-Management/#Creating-a-User-Account
$ curl -H 'Content-Type: application/json' -X POST http://localhost:8080/riak-cs/user --data '{"email":"foobar@example.com", "name":"foo bar"}' {"email":"foobar@example.com","display_name":"foobar","name":"foo bar","key_id":"PWPCLSGUCUI8IR-K79QQ","key_secret":"8B2c_Zs8n3GRoofiRTZDLDA39slkwJn3MmpeDg==","id":"8978ebde9bbb7bca21f0b395a0a21ba65bbf52b55254977f75ddb8cd1fdd45cc","status":"enabled"}
叩いた結果返ってくるkey_idとkey_secretを使ってS3互換のAPIを使用できる。