
Pada artikel ini, kami akan menyelesaikan konfigurasi komponen-komponen sistem Riak Cloud Storage.
Artikel ini adalah penyelesaian dari serangkaian terjemahan gratis dari manual resmi untuk sistem Riak CS 2.1.1.
Bagian 1. Menyiapkan Riak KV
Bagian 2. Menyiapkan komponen Riak CS
Menyiapkan Stanchion
Anda harus menggunakan satu dan hanya satu node Stanchion di cluster Anda. Semua node Riak CS di cluster ini harus dikonfigurasi untuk berkomunikasi dengan node Stanchion sehingga cluster dapat melacak dan merekonsiliasi operasi sebab akibat.
Semua pengaturan yang digunakan oleh node Stanchion terdapat di file stanchion.conf, yang terletak di direktori / etc / stanchion pada kebanyakan sistem operasi.
Jika Anda meningkatkan dari versi sebelum Riak CS 2.0.0 - ketika stanchion.conf dan riak-cs.conf diperkenalkan - Anda masih dapat menggunakan file konfigurasi app.config yang lama. Contoh di bawah ini akan sama.
STANCHION.CONF
configuration.name = value
APP.CONFIG
{stanchion, [
%% Configs here
]}
Mengonfigurasi alamat IP dan port untuk Stanchion
Jika Anda hanya memiliki satu node Riak CS, Anda tidak perlu mengubah pengaturan Stanchion, karena Stanchion hanya mendengarkan permintaan dari host lokal. Jika cluster Riak CS memiliki banyak node, maka Anda harus mengatur alamat IP dan port tempat Stanchion akan mendengarkan permintaan dari node lain.
Anda dapat menyetel alamat IP menggunakan parameter pendengar . Ganti 127.0.0.1 dengan alamat IP node Stanchion dan port 8080 dengan port node:
STANCHION.CONF
listener = 127.0.0.1:8080
APP.CONFIG
{stanchion, [
{host, {"127.0.0.1", 8085}},
%% Other configs
]}
Catatan tentang pencocokan alamat
IP Alamat IP yang Anda masukkan di sini harus cocok dengan alamat IP pada parameter stanchion_host di riak.conf untuk Riak dan riak-cs.conf untuk Riak CS.
Jika Anda ingin menggunakan SSL, pastikan parameter ssl.certfile dan ssl.keyfile tidak diberi komentar dan dikonfigurasi dengan benar.
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
]}
Menyiapkan akun administrator
Administrator dibuat saat mengkonfigurasi komponen Riak CS. Izin yang sama harus ditambahkan untuk setiap Stanchion yang digunakan di cluster. Ini dikonfigurasi di stanchion.conf, yang terletak di direktori / etc / stanchion. Masukkan admin.key dan admin.secret
STANCHION.CONF yang sama
admin.key = OUCXMB6I3HOZ6D0GWO2D
admin.secret = a58Mqd3qN-SqCoFIta58Mqd3qN7umE2hnunGag==
APP.CONFIG
{stanchion, [
%% Admin user credentials
{admin_key, "OUCXMB6I3HOZ6D0GWO2D"},
{admin_secret, "a58Mqd3qN-SqCoFIta58Mqd3qN7umE2hnunGag=="},
%% Other configs
]}
Menyiapkan informasi Riak KV
Jika Anda menjalankan satu node untuk eksperimen, atau jika node Riak KV berjalan secara lokal dan dikonfigurasi untuk mendengarkan lalu lintas buffer protokol pada 0.0.0.0, maka pengaturan default akan baik-baik saja.
Jika tidak, perbarui alamat IP dan port untuk host Riak di file konfigurasi Stanchion.
STANCHION.CONF
riak_host = 127.0.0.1:8087
APP.CONFIG
{stanchion, [
{riak_host, {"127.0.0.1", 8087}},
%% Other configs
]}
Load Balancing dan Proxy untuk Riak CS

Jika Anda berencana menggunakan Riak CS untuk keperluan industri, kami sangat menyarankan Anda untuk memasang penyeimbang beban atau proxy, perangkat lunak atau perangkat keras, setelah Riak CS. Juga perhatikan bahwa Anda tidak boleh secara langsung mengekspos Riak CS ke antarmuka jaringan terbuka.
Pengguna Riak CS melaporkan keberhasilan penggunaan Riak CS dengan load balancer atau proxy. Solusi kolaboratif mencakup penyeimbang beban perangkat keras berpemilik, opsi penyeimbang beban berbasis cloud seperti Amazon's Elastic Load Balancer, dan solusi perangkat lunak sumber terbuka seperti HAProxy dan Nginx.
Panduan ini mengulas secara singkat solusi berbagi kode sumber HAProxy dan Nginx dan menyediakan beberapa konfigurasi dan saran operasional yang dikumpulkan dari komunitas pengguna dan teknik Riak.
HAProxy
HAProxy adalah solusi cepat dan andal untuk load balancing dan proxy lalu lintas aplikasi HTTP dan TCP.
Para pengguna melaporkan penggunaan HAProxy yang berhasil dalam kombinasi dengan Riak CS dalam sejumlah konfigurasi dan skenario. Informasi lebih lanjut dan contoh konfigurasi untuk bagian ini adalah untuk pengguna tingkat lanjut di komunitas CS Riak, selain komentar dari para insinyur Riak.
Contoh Konfigurasi Contoh
berikut adalah titik awal untuk mengkonfigurasi HAProxy sebagai penyeimbang beban untuk instalasi Riak CS.
Catatan tentang
Batas File Terbuka Batas file terbuka sistem operasi harus lebih besar dari 256.000 untuk contoh konfigurasi berikut. Periksa dokumentasi untuk batas file terbuka untuk pengaturan rinci nilai untuk sistem operasi yang berbeda.
KONFIG
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
Harap dicatat bahwa contoh di atas dianggap sebagai titik awal dan sedang dalam proses.
Anda harus berhati-hati saat menerapkan konfigurasi ini dan mengubahnya agar sesuai dengan lingkungan Anda.
Detail konfigurasi spesifik yang perlu diperhatikan dari contoh ini adalah opsi yang diberi komentar untuk menggunakan SSL. HAProxy mendukung SSL secara langsung sejak versi 1.5. Pastikan instance HAProxy Anda dibuat dengan dukungan OpenSSL, Anda dapat mengaktifkan SSL dengan menghapus komentar pada baris dan memodifikasinya agar sesuai dengan lingkungan Anda.
Anda dapat menemukan informasi lebih lanjut di dokumentasi HAProxy .
Juga, perhatikan pilihan health check Riak CS melalui endpoint / riak-cs / ping. Parameter ini diperlukan untuk memvalidasi setiap host Riak CS sebagai bagian dari metode load balancing round robin.
Nginx
Beberapa pengguna telah melaporkan berhasil menggunakan server HTTP Nginx untuk permintaan proxy untuk Riak CS. Contoh yang menyediakan akses ke Riak CS disertakan di sini untuk referensi.
Contoh Konfigurasi
Di bawah ini adalah contoh konfigurasi awal untuk Nginx yang berfungsi sebagai proxy front-end untuk Riak CS.
KONFIGASI
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;
}
}
Perhatikan bahwa direktif proxy_set_header Host $ http_host diperlukan untuk memastikan bahwa header HTTP Host: diteruskan ke Riak CS saat diterima, dan tidak diterjemahkan ke dalam nama host atau alamat server backend Riak CS.
Penting juga untuk diperhatikan bahwa proxy_pass tidak boleh diakhiri dengan garis miring, karena ini dapat menyebabkan berbagai masalah.
Pengaturan klien S3

Tutorial ini menunjukkan cara menggunakan s3cmd sebagai klien S3. Meskipun tidak mencakup semua fitur klien, ini akan menunjukkan kepada Anda cara membuat konfigurasi dan menjalankan beberapa perintah dasar.
Catatan: Versi Tanda Tangan s3cmd
Jika Anda menggunakan s3cmd versi 1.5.0 atau lebih tinggi, Anda perlu menambahkan tanda --signature-v2 untuk setiap perintah yang menargetkan cluster Riak CS sehingga s3cmd akan menggunakan AWS versi 2 dan bukan AWS 3 default.
Pengaturan awal
Untuk menggunakan s3cmd bersama dengan Riak CS, Anda harus mengkonfigurasi utilitas untuk berinteraksi dengan sistem Riak CS Anda. Salah satu caranya adalah dengan membuat file .s3cfg dan menyimpannya di direktori home Anda. Saat Anda menjalankan perintah apa pun yang terkait dengan s3cmd, konten file akan dibaca secara default. Alternatifnya, Anda dapat menentukan file konfigurasi menggunakan tanda -c . Contoh:
SHELL
s3cmd -c /PATH/TO/CONFIG/FILE <command>
Cara alternatif untuk mengkonfigurasi s3cmd adalah dengan menjalankan s3cmd --configure , yang akan meluncurkan alat interaktif dan membuat file konfigurasi berdasarkan apa yang Anda masukkan.
Di bagian selanjutnya, Anda akan menemukan contoh kecil dari file .s3cfg yang dapat digunakan untuk mengkonfigurasi komunikasi dengan Riak CS.
Contoh file konfigurasi s3cmd untuk penggunaan lokal
Gunakan contoh file konfigurasi .s3cfg ini untuk berkomunikasi dengan Riak CS secara lokal pada port 8080 dengan s3cmd (ingatlah untuk menyertakan informasi khusus untuk instalasi Riak CS Anda jika perlu).
KONFIGASI
[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
Contoh file konfigurasi s3cmd untuk digunakan dalam produksi
Gunakan contoh file konfigurasi .s3cfg ini untuk berinteraksi dengan Riak CS melalui s3cmd pada sistem produksi.
KONFIGASI
[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
Untuk mengkonfigurasi klien s3cmd untuk pengguna, Anda harus mengubah access_key dan secret_key.
Mengonfigurasi lokasi penyimpanan
Secara default, file .3cfg menggunakan layanan Amazon S3 sebagai backend penyimpanan. Untuk sistem Riak CS, ubah pengaturan berikut agar mengarah ke sistem penyimpanan Anda.
- host_base - berikan nama domain atau jalur ke penyimpanan data Anda, misalnya data.example.com
- host_bucket - Tentukan lokasi keranjang, misalnya my_cs_bucket.data.example.com
Menggunakan SSL di klien
Jika Anda menggunakan SSL, setel parameter use_https ke True .
Tautan
Penyimpanan Cloud Riak. Bagian 1. Mengonfigurasi
Penyimpanan Awan Riak KV Riak. Bagian 2. Mengonfigurasi komponen
Riak CS Riak Cloud Storage. Bagian 3. Stanchion, Proxy dan Load Balancing, Manual Asli Klien S3
.