
この記事では、Riak CloudStorageシステムのコンポーネントの構成を完了します。
この記事は、Riak CS2.1.1システムの公式マニュアルの一連の無料翻訳の完成です。
パート1.RiakKVのセットアップ
パート2.RiakCSコンポーネントのセットアップ
支柱の設置
クラスタ内で1つだけのStanchionノードを使用する必要があります。このクラスター内のすべてのRiakCSノードは、クラスターが原因となる操作を監視および調整できるように、Stanchionノードと通信するように構成する必要があります。
Stanchionノードで使用されるすべての設定は、ほとんどのオペレーティングシステムの/ etc / stanchionディレクトリにあるstanchion.confファイルに含まれています。
Riak CS 2.0.0より前のバージョンからアップグレードする場合(stanchion.confおよびriak-cs.confが導入されたとき)、古いapp.config構成ファイルを引き続き使用できます。以下の例は同等です。
STANCHION.CONF
configuration.name = value
APP.CONFIG
{stanchion, [
%% Configs here
]}
StanchionのIPアドレスとポートの構成
Riak CSノードが1つしかない場合、Stanchionはlocalhostからの要求をリッスンしているだけなので、Stanchionの設定を変更する必要はありません。Riak CSクラスターに多数のノードがある場合は、Stanchionが他のノードからの要求をリッスンするIPアドレスとポートを設定する必要があります。リスナー
パラメータを使用してIPアドレスを設定できます。127.0.0.1をStanchionホストIPに置き換え、ポート8080をホストポートに 置き換えます:STANCHION.CONF
listener = 127.0.0.1:8080
APP.CONFIG
{stanchion, [
{host, {"127.0.0.1", 8085}},
%% Other configs
]}
IPアドレスの一致に関する注意
ここに入力するIPアドレスは、Riakの場合はriak.conf、RiakCSの場合はriak-cs.confのstanchion_hostパラメーターのIPアドレスと一致する必要があります。
SSLを使用する場合は、ssl.certfileパラメーターとssl.keyfileパラメーターがコメントアウトされて正しく構成されていないことを確認してください。
STANCHION.CONF
ssl.certfile = "./etc/cert.pem"
ssl.keyfile = "./etc/key.pem"
APP.CONFIG
{stanchion, [
{ssl, [
{certfile, "./etc/cert.pem"},
{keyfile, "./etc/key.pem"}
]},
%% Other configs
]}
管理者アカウントの設定
管理者は、RiakCSコンポーネントを構成するときに作成されます。クラスターで使用されるすべての支柱に同じ権限を追加する必要があります。これは、/ etc / stanchionディレクトリにあるstanchion.confで構成されます。同じadmin.keyとadmin.secretSTANCHION.CONFを入力し
ます
admin.key = OUCXMB6I3HOZ6D0GWO2D
admin.secret = a58Mqd3qN-SqCoFIta58Mqd3qN7umE2hnunGag==
APP.CONFIG
{stanchion, [
%% Admin user credentials
{admin_key, "OUCXMB6I3HOZ6D0GWO2D"},
{admin_secret, "a58Mqd3qN-SqCoFIta58Mqd3qN7umE2hnunGag=="},
%% Other configs
]}
RiakKV情報の設定
実験のために単一のノードを実行している場合、またはRiak KVノードがローカルで実行されており、0.0.0.0でプロトコルバッファトラフィックをリッスンするように構成されている場合は、デフォルト設定で問題ありません。
それ以外の場合は、Stanchion構成ファイルでRiakホストのIPアドレスとポートを更新します。
STANCHION.CONF
riak_host = 127.0.0.1:8087
APP.CONFIG
{stanchion, [
{riak_host, {"127.0.0.1", 8087}},
%% Other configs
]}
RiakCSの負荷分散とプロキシ

Riak CSを産業用に使用する場合は、Riak CSの後にロードバランサーまたはプロキシ、ソフトウェアまたはハードウェアをインストールすることを強くお勧めします。また、RiakCSをオープンネットワークインターフェイスに直接公開してはならないことにも注意してください。
Riak CSユーザーは、ロードバランサーまたはプロキシでRiakCSを使用して正常に報告します。共同ソリューションには、独自のハードウェアロードバランサー、クラウドベースのロードバランサーオプション(AmazonのElastic Load Balancerなど)、およびHAProxyやNginxなどのオープンソースソフトウェアソリューションが含まれます。
このガイドでは、HAProxyおよびNginxソースコード共有ソリューションについて簡単に説明し、Riakユーザーおよびエンジニアリングコミュニティから収集した構成と運用に関するアドバイスを提供します。
HAProxy
HAProxyは、HTTPおよびTCPアプリケーショントラフィックの負荷分散とプロキシ化のための高速で信頼性の高いソリューションです。
ユーザーは、多くの構成とシナリオでRiakCSと組み合わせてHAProxyを正常に使用したと報告しています。このセクションの詳細と構成例は、Riakエンジニアからのコメントに加えて、RiakCSコミュニティの上級ユーザー向けです。
構成例
次の例は、RiakCSインストールのロードバランサーとしてHAProxyを構成するための開始点です。
オープンファイルの
制限に関する注意次の構成例では、オペレーティングシステムのオープンファイルの制限は256,000を超える必要があります。さまざまなオペレーティングシステムの値の詳細な設定については、開いているファイルの制限についてドキュメントを確認してください。
CONFIG
global
log 127.0.0.1 local0
log 127.0.0.1 local1 notice
maxconn 256000
spread-checks 5
daemon
defaults
log global
option dontlognull
option redispatch
option allbackups
no option httpclose
retries 3
maxconn 256000
timeout connect 5000
timeout client 5000
timeout server 5000
frontend riak_cs
bind 10.0.24.100:8080
# Example bind for SSL termination
# bind 10.0.24.100:8443 ssl crt /opt/local/haproxy/etc/data.pem
mode http
option httplog
capture request header Host len 64
acl good_ips src -f /opt/local/haproxy/etc/gip.lst
block if !good_ips
use_backend riak_cs_backend if good_ips
backend riak_cs_backend
mode http
balance roundrobin
# Ping Riak CS to determine health
option httpchk GET /riak-cs/ping
timeout connect 60s
timeout http-request 60s
server riak1 r1s01.example.com:8081 weight 1 maxconn 1024 check
server riak2 r1s02.example.com:8081 weight 1 maxconn 1024 check
server riak3 r1s03.example.com:8081 weight 1 maxconn 1024 check
server riak4 r1s04.example.com:8081 weight 1 maxconn 1024 check
server riak5 r1s05.example.com:8081 weight 1 maxconn 1024 check
上記の例は出発点と見なされ、進行中の作業であることに注意してください。
この構成を適用し、環境に合わせて変更する場合は注意が必要です。
例から注目に値する特定の構成の詳細は、SSLを使用するためのコメントアウトされたオプションです。HAProxyは、バージョン1.5以降、SSLを直接サポートしています。HAProxyインスタンスがOpenSSLサポートで構築されていることを確認してください。行のコメントを解除し、環境に合わせて変更することでSSLを有効にできます。
詳細については、HAProxyのドキュメントを参照してください。
/ riak-cs / pingエンドポイントを介したRiakCSヘルスチェックオプションにも注意してください。このパラメーターは、負荷分散ラウンドロビン方式の一部として各RiakCSホストを検証するために必要です。
Nginx
何人かのユーザーが、NginxHTTPサーバーを使用してRiakCSの要求をプロキシすることに成功したと報告しています。参考までに、RiakCSへのアクセスを提供する例がここに含まれています。
構成例
以下は、RiakCSのフロントエンドプロキシとして機能するNginxの初期構成の例です。
CONFIG
upstream riak_cs_host {
server 10.0.1.10:8080;
}
server {
listen 80;
server_name _;
access_log /var/log/nginx/riak_cs.access.log;
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_redirect off;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 64k; # If set to a smaller value,
# nginx can complain with a
# "headers too large" error
proxy_buffers 8 64k; # Increase from default of (8, 8k).
# If left to default with increased
# proxy_buffer_size, nginx complains
# that proxy_busy_buffers_size is too
# large.
proxy_pass http://riak_cs_host;
}
}
HTTP Host:ヘッダーが受信時にRiak CSに渡され、Riak CSバックエンドサーバーのホスト名またはアドレスに変換されないようにするには 、proxy_set_header Host $ http_hostディレクティブが必要であることに注意してください。
さまざまな問題が発生する可能性があるため、proxy_passがフォワードスラッシュで終わってはならないことに注意することも重要です。
S3クライアントのセットアップ

このチュートリアルでは、s3cmdをS3クライアントとして使用する方法を示します。クライアントのすべての機能を網羅しているわけではありませんが、構成を作成していくつかの基本的なコマンドを実行する方法を示します。
注:s3cmd署名バージョン
s3cmdバージョン1.5.0以降を使用している場合、s3cmdがデフォルトのAWS 3ではなくAWSバージョン2を使用するように、RiakCSクラスターを対象とする各コマンドに--signature-v2フラグを追加する必要があります。
初期設定
s3cmdをRiakCSと組み合わせて使用するには、RiakCSシステムとインターフェイスするようにユーティリティを構成する必要があります。1つの方法は、.s3cfgファイルを作成してホームディレクトリに保存することです。s3cmdに関連するコマンドを実行すると、ファイルの内容がデフォルトで読み取られます。または、-cフラグを使用して構成ファイルを指定することもできます。例:
シェル
s3cmd -c /PATH/TO/CONFIG/FILE <command>
s3cmdを構成する別の方法は、s3cmd --configureを実行することです。これにより、対話型ツールが起動し、入力内容に基づいて構成ファイルが作成されます。
次のセクションでは、RiakCSとの通信を構成するために使用できる.s3cfgファイルの小さな例を示します。
ローカルで使用するためのサンプルs3cmd構成ファイル
この例の.s3cfg構成ファイルを使用して、ポート8080でローカルにs3cmdを使用してRiak CSと通信します(必要に応じて、Riak CSのインストールに固有の情報を含めることを忘れないでください)。
CONFIG
[default]
access_key = 8QON4KC7BMAYYBCEX5J+
bucket_location = US
cloudfront_host = cloudfront.amazonaws.com
cloudfront_resource = /2010-07-15/distribution
default_mime_type = binary/octet-stream
delete_removed = False
dry_run = False
enable_multipart = False
encoding = UTF-8
encrypt = False
follow_symlinks = False
force = False
get_continue = False
gpg_command = /usr/local/bin/gpg
gpg_decrypt = %(gpg_command)s -d --verbose --no-use-agent --batch --yes --passphrase-fd %(passphrase_fd)s -o %(output_file)s %(input_file)s
gpg_encrypt = %(gpg_command)s -c --verbose --no-use-agent --batch --yes --passphrase-fd %(passphrase_fd)s -o %(output_file)s %(input_file)s
gpg_passphrase = password
guess_mime_type = True
host_base = s3.amazonaws.com
host_bucket = %(bucket)s.s3.amazonaws.com
human_readable_sizes = False
list_md5 = False
log_target_prefix =
preserve_attrs = True
progress_meter = True
proxy_host = localhost
proxy_port = 8080
recursive = False
recv_chunk = 4096
reduced_redundancy = False
secret_key = rGyDLBi7clBuvrdrkFA6mAJkwJ3ApUVr4Pr9Aw==
send_chunk = 4096
simpledb_host = sdb.amazonaws.com
skip_existing = False
socket_timeout = 300
urlencoding_mode = normal
use_https = False
verbosity = WARNING
signature_v2 = True
本番環境で使用するためのサンプルs3cmd構成ファイル
この例の.s3cfg構成ファイルを使用して、実稼働システムでs3cmdを介してRiakCSと対話します。
CONFIG
[default]
access_key = EJ8IUJX9X0F2P9HAMIB0
bucket_location = US
cloudfront_host = cloudfront.amazonaws.com
cloudfront_resource = /2010-07-15/distribution
default_mime_type = binary/octet-stream
delete_removed = False
dry_run = False
enable_multipart = False
encoding = UTF-8
encrypt = False
follow_symlinks = False
force = False
get_continue = False
gpg_command = /usr/local/bin/gpg
gpg_decrypt = %(gpg_command)s -d --verbose --no-use-agent --batch --yes --passphrase-fd %(passphrase_fd)s -o %(output_file)s %(input_file)s
gpg_encrypt = %(gpg_command)s -c --verbose --no-use-agent --batch --yes --passphrase-fd %(passphrase_fd)s -o %(output_file)s %(input_file)s
gpg_passphrase = password
guess_mime_type = True
host_base = <YOUR DOMAIN HERE>
host_bucket = %(bucket)s.<YOUR DOMAIN HERE>
human_readable_sizes = False
list_md5 = False
log_target_prefix =
preserve_attrs = True
progress_meter = True
proxy_host =
proxy_port = 0
recursive = False
recv_chunk = 4096
reduced_redundancy = False
secret_key = XOY/9IFKVEDUl6Allrkj7oyH9XW+CANnFLEVuw==
send_chunk = 4096
simpledb_host = sdb.amazonaws.com
skip_existing = False
socket_timeout = 300
urlencoding_mode = normal
use_https = True
verbosity = WARNING
signature_v2 = True
ユーザー用にs3cmdクライアントを構成するには、access_keyとsecret_keyを変更する必要があります。
保管場所の構成
デフォルトでは、.3cfgファイルはストレージバックエンドとしてAmazonS3サービスを使用します。Riak CSシステムの場合は、ストレージシステムを指すように次の設定を変更します。
- host_base-データストアへのドメイン名またはパスを指定します(例:data.example.com)
- host_bucket-バケットの場所を指定します(例:my_cs_bucket.data.example.com)
クライアントでSSLを使用する
SSLを使用している場合は、use_httpsパラメーターをTrueに設定します。
リンク
Riakクラウドストレージ。パート
1。RiakKVRiakクラウドストレージの構成。パート
2。RiakCSRiakCloudStorageコンポーネントの構成。パート3。支柱、プロキシおよび負荷分散、S3クライアント
オリジナルマニュアル。