LoginSignup
5
8

More than 5 years have passed since last update.

Riak インストール手順(インストールと動作確認)

Last updated at Posted at 2015-10-06

riak 2.0のインストール

あまり世間で騒がれていないのですが、このriak かなり使いやすいです

  • インストール簡単
  • クラスタリング簡単
  • 障害対応簡単

の三拍子揃っています

ここでは、ひとまずインストールの手順だけ記載していこうと思います

Riak って何?

Riakは、amazonのDynamoをベースにした、分散KVSです。 データは永続的に保存されます。redis等も、データは永続的ではありますが、メモリに依存する為、設定メモリを超えたもののデータを保証するものではないのに対して、Riakは、ディスクに依存しているので、ディスクがゆるす限り。データを格納することができます。また、画像や動画も格納することができます

インストール手順

Centos 6.X でインストールする作業証跡になります

前準備

  • limits.conf のバックアップ

詳細は割愛しますが、limits.confはリソースを制限できる設定ファイルになります。


cp /etc/security/limits.conf /etc/security/limits.conf.bak
  • limits.conf の編集

limits.conf の末尾に以下を追記します(設定は再起動後反映されます)


cat << '_EOT_' >> /etc/security/limits.conf
# ulimit settings for Riak
root soft nofile 65536
root hard nofile 65536
riak soft nofile 65536
riak hard nofile 65536
_EOT_
  • limitの変更
ulimit -n 65536

インストール

  • centos 6.X
cd /tmp
wget http://s3.amazonaws.com/downloads.basho.com/riak/2.1/2.1.1/rhel/6/riak-2.1.1-1.el6.x86_64.rpm
rpm -ivh riak-2.1.1-1.el6.x86_64.rpm
  • centos5.X
cd /tmp
wget http://s3.amazonaws.com/downloads.basho.com/riak/2.1/2.1.1/rhel/5/riak-2.1.1-1.el5.x86_64.rpm
rpm -ivh riak-2.1.1-1.el5.x86_64.rpm
  • 環境設定ファイルのバックアップ
cp -a /etc/riak/riak.conf /etc/riak/riak.conf.bak
  • 環境ファイルの編集
storage_backend = leveldb
nodename = riak@192.168.0.111 ## サーバのIP
listener.http.internal = 0.0.0.0:8098
listener.protobuf.internal = 0.0.0.0:8087
riak_control.auth.user.admin.password = naruhaya

Riak の開始

  • Riak の開始
riak start

動作検証

  • member-statusの確認
 riak-admin member-status
================================= Membership ==================================
Status     Ring    Pending    Node
-------------------------------------------------------------------------------
valid     100.0%      --      'riak@192.168.0.111'
-------------------------------------------------------------------------------
Valid:1 / Leaving:0 / Exiting:0 / Joining:0 / Down:0
  • ring-statusの確認
riak-admin ring-status
================================= Membership ==================================
Status     Ring    Pending    Node
-------------------------------------------------------------------------------
valid     100.0%      --      'riak@192.168.0.111'
-------------------------------------------------------------------------------
Valid:1 / Leaving:0 / Exiting:0 / Joining:0 / Down:0
[root@dbcrtmst01 riak]# riak-admin ring-status
================================== Claimant ===================================
Claimant:  'riak@192.168.0.111'
Status:     up
Ring Ready: true

============================== Ownership Handoff ==============================
No pending changes.

============================== Unreachable Nodes ==============================
All nodes are up and reachable
  • 動作検証
riak ping
---
pong
  • データを投入してみる
curl -X PUT -i 'http://192.168.0.111:8098/types/default/buckets/accounts/keys/00100' -H 'Content-Type: application/json' -d '{name: "panda", age: 21}'
curl -X PUT -i 'http://192.168.0.111:8098/types/default/buckets/accounts/keys/00101' -H 'Content-Type: application/json' -d '{name: "kopanda", age: 19}'
  • キー一覧を取得する

上記にて登録されたキーを確認します

curl -i 'http://192.168.0.111:8098/buckets/accounts/keys?keys=true'
----
HTTP/1.1 200 OK
Vary: Accept-Encoding
Server: MochiWeb/1.1 WebMachine/1.10.8 (that head fake, tho)
Date: Tue, 06 Oct 2015 07:34:19 GMT
Content-Type: application/json
Content-Length: 26

{"keys":["00101","00100"]}
  • 対象キーの詳細情報を取得する
curl -i 'http://192.168.0.111:8098/buckets/accounts/keys/00101' 
---
HTTP/1.1 200 OK
X-Riak-Vclock: a85hYGBgzGDKBVI8BTf2l5y8Pq8MIpTImMfKkPel/TxfFgA=
Vary: Accept-Encoding
Server: MochiWeb/1.1 WebMachine/1.10.8 (that head fake, tho)
Link: </buckets/accounts>; rel="up"
Last-Modified: Tue, 06 Oct 2015 07:29:50 GMT
ETag: "5O58TmWzQJT3rTpXsZrOJ6"
Date: Tue, 06 Oct 2015 07:37:41 GMT
Content-Type: application/json
Content-Length: 26

{name: "kopanda", age: 19}

いかがだったでしょうか?結構簡単にセットアップできたのではないかと思います。今回はインストールと基本動作のみ説明した形になっておりますが、本来NoSQLを使うところの利点、いや、Riakを使う上でのメリットの一つである、クラスタリングには一切触れておりません

次回はクラスタの追加・切り離しの部分を話しを中心に説明しようかな?と思います!!

5
8
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
8