Riakは、高可用性、フォールトトレランス、操作のシンプルさ、スケーラビリティを提供する分散型NoSQLデータベースです。 RiakはErlangで記述されており、Riak KV(Key-value)、Riak TS(IoT /時系列用に最適化)、Riak CS(Riak Cloud Storage)など、さまざまなバージョンを提供する「Basho」製品の一部です。
このチュートリアルでは、Ubuntu18.04LTSサーバーにNoSQLデータベースRiakKVをインストールして構成する方法を段階的に説明します。 3つのUbuntuサーバーでRiakKVクラスターを作成します。
- 3台のサーバーUbuntu18.04/ 16.04
- hakase-riak01 10.1.1.10
- hakase-riak02 10.1.1.11
- hakase-riak03 10.1.1.12
- root権限
何をしますか?
- Ubuntu18.04にRiakKVをインストールする
- 基本的なRiakKV構成
- RiakKVクラスターのセットアップ
- テスト
このガイドで行う最初のステップは、すべてのサーバーにRiak KVパッケージをインストールすることです。したがって、この段階ですべてのサーバーですべてのコマンドを実行します。
packagecloudリポジトリからRiakKVをインストールし、UbuntuXenialバージョン用のRiakKVパッケージを使用します。
packagecloudキーを追加し、「apt-transport-https」をインストールします。
curl https://packagecloud.io/gpg.key | sudo apt-key add -
sudo apt-get install -y apt-transport-https
次に、'/etc/apt/sources.list.d'ディレクトリに移動し、新しいリポジトリファイル'riak.list'を作成します。
cd /etc/apt/sources.list.d/
vim riak.list
RiakKVリポジトリを下に貼り付けます。
# this file was generated by packagecloud.io for # the repository at https://packagecloud.io/basho/riak deb https://packagecloud.io/basho/riak/ubuntu/ xenial main deb-src https://packagecloud.io/basho/riak/ubuntu/ xenial main
保存して終了します。
リポジトリを更新し、以下のaptコマンドを使用してRiakKVパッケージをインストールします。
sudo apt update
sudo apt install riak -y
インストールを待ちます。
注:
- このステージのすべてのコマンドをすべてのサーバーノードで実行します。
このステップでは、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.11:8098 listener.protobuf.internal = 10.1.11.11:8087
保存して終了します。
次に、riak構成をテストしてから、riakサービスを開始します。
riak chkconfig
riak start
そして、以下が結果です。
次に、以下のコマンドを実行して、riakサービスの構成をテストします。
riak ping
curl -v http://10.1.1.11:8098/types/default/props
'riakping'コマンドから'pong'の結果を取得し、curlコマンドからHTTPステータスコード'200'を取得するようにしてください。
Riak KV分散NoSQLの基本構成が完了し、RiakKVクラスターをセットアップする準備が整いました。
注:
- このステージのすべてのコマンドをすべてのサーバーノードで実行します。
このステップでは、「hakase-riak02」ノードと「hakase-riak03」ノードを最初のノードに結合して、クラスターをセットアップします。
'hakase-riak02'ノードで、以下のriak-adminを実行します。
riak-admin cluster join [email protected]
ここで「hakase-riak01」ノードに戻り、以下のriak-adminコマンドを実行します。
riak-admin cluster plan
riak-admin cluster commit
また、「hakase-riak02」ノードがクラスターに追加されました。以下のコマンドを使用して確認してください。
riak-admin cluster status
'hakase-riak03'ノードで、以下のriak-adminコマンドを実行します。
riak-admin cluster join [email protected]
ここで「hakase-riak01」ノードに戻り、以下のriak-adminコマンドを実行します。
riak-admin cluster plan
riak-admin cluster commit
すべてのサーバーノード「hakase-riak02」と「hakase-riak03」がクラスターに追加されました。以下のコマンドを使用して再度確認してください。
riak-admin cluster status
RiakKVクラスターのインストールと構成が完了しました。
Riak KV NoSQLクラスターが作成されました。次に、データイメージをクラスターにアップロードしてクラスターをテストし、他のノードからのアクセスをテストして、すべてのノード間のデータレプリケーションを確認します。
'hakase-riak01'サーバーで、以下のwgetコマンドを使用してイメージをダウンロードします。
cd ~/
wget https://vignette.wikia.nocookie.net/nichijou/images/a/a0/113407.jpg -O hakase.jpg
次に、curlコマンドを使用して画像をRiakKVクラスターにアップロードします。
curl -XPUT http://10.9.9.10:8098/riak/images/hakase.jpg -H "Content-type: image/jpg" --data-binary @hakase.jpg
Webブラウザーを開き、他のノードのIPアドレスを入力すると、同じ画像が表示されます。
'hakase-riak02'。
http://10.1.1.11:8098/riak/images/hakase.jpg
'hakase-riak03'。
http://10.1.1.12:8098/riak/images/hakase.jpg
画像データを削除する場合は、以下のcurlコマンドを使用してください。
curl -XDELETE 'http://10.9.9.10:8098/riak/images/hakase.jpg'
Ubuntu18.04でのRiakKVクラスターのインストールと構成が正常に完了しました。