Debianにインストールした時のメモ。
公式のドキュメントがInstalling on Debian and Ubuntuにあります。
以下は単なる覚え書き。
インストール
libpam0g-dev
と libssl0.9.8
をaptでインストール。
$ sudo apt-get install libpam0g-dev
$ sudo apt-get install libssl0.9.8
BashoのホームページからRiak 2.0.0をダウンロードします。
Download Riak 2.0.0
各ディストリビューション向けパッケージからインストール
各ディストリビューション向けのパッケージがありますので、ダウンロードしてインストール。(この場合はErlang/OTPのインストールは不要)
ソースからインストール
ソースからビルド、インストールする場合はダウンロードしたファイルを解凍して
(この場合はErlang/OTP R16のインストールが必要)
$ make
$ make rel
とする。
rel
ディレクトリ内にriak
というディレクトリができているので、それを適当な場所へまるごとコピーする。
なお、設定ファイル類は各ディストリビューション向けパッケージから入れた場合は/etc/riak
以下に、ソースから入れた場合は先ほどコピーしたディレクトリ内のetc/
以下にある。
設定
SSL証明書
Riakの管理画面を使用する場合はSSL証明書等が必要なので作っておく。
$ openssl genrsa -out node1.key 2048
$ openssl req -new -key node1.key -out node1.csr
$ openssl x509 -req -days 365 -in node1.csr -signkey node1.key -out node1.crt
$ openssl x509 -in node1.crt -out node1.pem -outform PEM
できたファイルを/etc/riak
または{riak_root}/etc
以下にコピーして、パーミッションを変更しておく。
$ cp node1.key /etc/riak
$ cp node1.pem /etc/riak
$ chown riak:riak /etc/riak/node1.pem /etc/riak/node1.key
$ chmod 600 /etc/riak/node1.pem /etc/riak/node1.key
以下設定ファイル(riak.conf
)の編集
基本設定
-
必要に応じてノード名を変更。
riak.confnodename = riak@127.0.0.1
通信関連の設定
-
SSL関係の設定を行う。先ほどのファイルへのパスを指定する。
riak.confssl.certfile = $(platform_etc_dir)/node1.pem ssl.keyfile = $(platform_etc_dir)/node1.key ssl.cacertfile = $(platform_etc_dir)/node1.pem
-
HTTPのポート番号をHTTPSと被らないように変える。またはコメントアウトしてHTTPを無効にする。
-
どのインターフェースでも受け付けるように
0.0.0.0
を指定。riak.conf# listener.http.internal = 127.0.0.1:8098 listener.http.internal = 0.0.0.0:8097 # 8098 -> 8097
-
プロトコルバッファのインターフェースも
0.0.0.0
を指定。riak.conf#listener.protobuf.internal = 127.0.0.1:8087 listener.protobuf.internal = 0.0.0.0:8087
-
HTTPSのインターフェースはデフォルトでコメントアウトされてるので、有効にして同様に変更する。
riak.conflistener.https.internal = 0.0.0.0:8098
バックエンドの設定
-
ストレージの指定。私の環境ではmultiバックエンドを使用していたので
multi
を指定。 -
デフォルトのバックエンドにleveldbを指定
riak.confstorage_backend = multi multi_backend.default.storage_backend = leveldb
-
各ストレージの設定
riak.confmulti_backend.default.leveldb.data_root = $(platform_data_dir)/elevel_db multi_backend.elevel_db_tmp_multi.leveldb.data_root = $(platform_data_dir)/data/elevel_db multi_backend.default.bitcask.data_root = $(platform_data_dir)/bitcask multi_backend.bitcask_tmp_multi.bitcask.data_root = $(platform_data_dir)/bitcask_tmp multi_backend.bitcask_tmp_multi.bitcask.expiry.grace_time = 1h
管理画面の設定
-
管理画面を有効に。かつ認証を有効に
riak.confriak_control = on riak_control.auth.mode = userlist riak_control.auth.user.admin.password = pass
-
検索を有効に
riak.confsearch = on
起動
以上、保存してriakを起動する.
$ riak start