Riakは、高可用性、フォールトトレランス、操作の簡素化、およびスケーラビリティを提供する分散型NoSQLデータベースです。 RiakはErlangで記述されており、Riak KV(Key-value)、Riak TS(IoT /時系列用に最適化)、Riak CS(Riak Cloud Storage)を含む「Basho」製品ラインの一部です。
このチュートリアルでは、CentOS7サーバーにNoSQLデータベースRiakKVをインストールして構成する方法を説明します。 3台のCentOSサーバーでRiakKVクラスターを作成します。
- 3台のサーバーCentOS7
- riak01 10.1.1.10
- riak02 10.1.1.11
- riak03 10.1.1.12
- root権限
- CentOS7にRiakKVをインストールする
- 基本的なRiakKV構成
- RiakKVクラスターのセットアップ
- テスト
このガイドで行う最初のステップは、3つのCentOSサーバーすべてにRiak KVパッケージをインストールすることです。したがって、この段階ですべてのサーバーですべてのコマンドを実行します。
パッケージクラウドリポジトリからRiakKVをインストールし、CentOS7サーバーにRiakKVパッケージを使用します。
以下のコマンドを実行してリポジトリを追加します。
curl -s https://packagecloud.io/install/repositories/basho/riak/script.rpm.sh | sudo bash
このコマンドは、riakリポジトリとキーをシステムにダウンロードします。
次に、以下のyumコマンドを使用してRiakKVパッケージをインストールします。
sudo yum install riak-2.2.3-1.el7.centos.x86_64
インストールを待ちます。
このステップでは、NoSQLクラスター用にRiakKVを構成します。 Riak KV自体を構成する前に、Ubuntuシステムで開いているファイルの制限を設定する必要があります。
vimエディターを使用して「/etc/security/limits.conf」ファイルを編集します。
vim /etc/security/limits.conf
次に、以下の構成をファイルの最後に貼り付けます。
riak soft nofile 65536 riak hard nofile 200000
保存して終了します。
次に、「/ etc / riak」ディレクトリに移動し、デフォルトの構成ファイル「riak.conf」を編集します。
cd /etc/riak/
vim riak.conf
デフォルトのノード名「[emailprotected]」を「[emailprotected]」に変更します。
nodename = [email protected]
次に、以下のスケジューラ行のコメントを解除します。
erlang.schedulers.force_wakeup_interval = 500 erlang.schedulers.compaction_of_load = false
'ring_size'行のコメントを解除し、デフォルトの'64'のままにします。
ring_size = 64
'ServerIP'を使用してHTTPリスナーとプロトコルバッファを変更します。
listener.http.internal = 10.1.1.10:8098 listener.protobuf.internal = 10.1.11.10:8087
保存して終了します。
次に、riak構成をテストしてから、riakサービスを開始します。
riak chkconfig
riak start
結果は次のとおりです。
次に、以下のコマンドを実行して、riakサービスの構成をテストします。
riak ping
curl -v http://10.1.1.10:8098/types/default/props
'riakping'コマンドから'pong'の結果を取得し、curlコマンドからHTTPステータスコード'200'を取得するようにしてください。
Riak KV分散NoSQLの基本構成が完了し、RiakKVクラスターをセットアップする準備が整いました。
注:
- このステージのすべてのコマンドをすべてのサーバーノードで実行します。
このステップでは、「riak02」ノードと「riak03」ノードを最初のノードに結合してクラスターをセットアップします。
-2番目のノード
'riak02'ノードで、以下のriak-adminを実行します。
riak-admin cluster join [email protected]
ここで「riak01」ノードに戻り、以下のriak-adminコマンドを実行します。
riak-admin cluster plan
riak-admin cluster commit
また、「riak02」ノードがクラスターに追加されました。以下のコマンドを使用して確認してください。
riak-admin cluster status
-サードノード
'riak03'ノードで、以下のriak-adminコマンドを実行します。
riak-admin cluster join [email protected]
ここで「riak01」ノードに戻り、以下のriak-adminコマンドを実行します。
riak-admin cluster plan
riak-admin cluster commit
すべてのサーバーノード「riak02」と「riak03」がクラスターに追加されました。以下のコマンドを使用して再度確認してください。
riak-admin cluster status
RiakKVクラスターのインストールと構成が完了しました。
Riak KV NoSQLクラスターが作成されました。次に、データイメージをクラスターにアップロードしてクラスターをテストし、他のノードからのアクセスをテストして、すべてのノード間のデータレプリケーションを確認します。
「riak01」サーバーで、以下のwgetコマンドを使用してイメージをダウンロードします。
cd ~/
wget https://vignette.wikia.nocookie.net/nichijou/images/a/a0/113407.jpg -O hakase.jpg
次に、curlコマンドを使用して画像をRiakKVクラスターにアップロードします。
curl -XPUT http://10.1.1.10:8098/riak/images/hakase.jpg -H "Content-type: image/jpg" --data-binary @hakase.jpg
Webブラウザーを開き、他のノードのIPアドレスを入力すると、同じ画像が表示されます。
'riak02'。
http://10.1.1.11:8098/riak/images/hakase.jpg
'riak03'。
http://10.1.1.12:8098/riak/images/hakase.jpg
画像データを削除する場合は、以下のcurlコマンドを使用してください。
curl -XDELETE 'http://10.1.1.10:8098/riak/images/hakase.jpg'
CentOS7でのRiakKVクラスターのインストールと構成が正常に完了しました。