Riak Cloud Storage. Part 1: Nggawe Riak KV

Riak CS (Cloud Storage) – lunak gampang kanggo nggunakake kanggo ngatur panyimpenan obyek, mlaku ing ndhuwur Riak KV. Riak (KV) minangka basis data nilai kunci NoSQL sing disebarake. Riak CS dirancang kanggo nyedhiyakake kesederhanaan, kasedhiyan, distribusi panyimpenan awan ing skala apa wae, lan bisa digunakake kanggo mbangun arsitektur maya - umum lan pribadi - utawa minangka panyimpenan infrastruktur kanggo aplikasi lan layanan sing akeh dimuat. Riak CS API kompatibel karo Amazon S3 lan ndhukung kemampuan kanggo nampa laporan ing macem-macem kahanan.

Riak Cloud Storage. Part 1: Nggawe Riak KV
Artikel iki minangka terjemahan gratis saka manual resmi kanggo sistem Riak CS versi 2.1.1

Ing sistem panyimpenan Riak CS, telung komponen bisa bebarengan, sing tegese saben komponen kudu dikonfigurasi kanggo nggarap komponen liyane:

  • Riak (KV) – sistem database sing tumindak minangka sistem pungkasan.
  • Riak CS - Lapisan panyimpenan maya ing ndhuwur Riak sing nyedhiyakake kemampuan panyimpenan lan API, nyimpen file lan metadata ing Riak, banjur disebarake menyang pangguna pungkasan.
  • Stanchion - Ngatur pitakon sing nglibatake entitas unik global kayata ember lan pangguna ing conto Riak. Contone, nggawe pangguna, nggawe utawa mbusak ember.

Kajaba iku, sampeyan uga bisa ngatur klien S3 kanggo digunakake ing olahpesen karo sistem Riak CS.

Sampeyan kudu ngrancang duwe siji simpul Riak kanggo saben simpul Riak CS ing sistem sampeyan. Riak lan Riak CS simpul bisa mbukak ing mesin fisik beda, nanging ing paling kasus iku luwih apik kanggo mbukak siji simpul Riak lan siji simpul Riak CS ing mesin fisik padha. Yen siji mesin fisik nduweni daya sing cukup kanggo nyukupi kabutuhan simpul CS Riak lan Riak, sampeyan bakal bisa ndeleng kinerja sing luwih apik amarga latensi jaringan suda.

Yen sistem sampeyan kalebu sawetara simpul, konfigurasi utamane babagan nyetel komunikasi antarane komponen. Setelan liyane, kayata ing ngendi file log bakal disimpen, duwe nilai standar lan mung kudu diganti yen sampeyan pengin nggunakake nilai non-standar.

Nyetel komponen sistem. Nyetel Riak KV kanggo CS

Wiwit Riak CS minangka aplikasi sing dibangun ing ndhuwur Riak, penting banget kanggo menehi perhatian marang konfigurasi Riak nalika mbukak Riak CS. Dokumen iki minangka pandhuan konfigurasi Riak lan dokumen referensi sing nggambarake paramèter konfigurasi sing penting.

Sadurunge persiyapan, priksa manawa Riak KV lan Riak CS wis diinstal ing saben simpul ing kluster sampeyan. Stanchion, ing sisih liya, mung kudu dipasang ing siji simpul ing kabeh kluster.

Riak Cloud Storage. Part 1: Nggawe Riak KV

Backends kanggo Riak CS

Backend standar sing digunakake dening Riak yaiku Bitcask, nanging paket Riak CS kalebu backend khusus sing kudu digunakake dening kluster Riak sing minangka bagΓ©an saka sistem Riak CS. Versi biasa duwe backend Multi standar sing dilengkapi karo Riak.

Ember Riak sing padha digunakake ing Riak CS nggunakake indeks sekunder, sing saiki mbutuhake backend LevelDB. BagΓ©an liya saka sistem Riak CS bisa entuk manfaat saka nggunakake backend Bticask. Panggunaan sampel Multi backend kalebu ing Riak CS kanggo njupuk kauntungan saka loro backends iki kanggo entuk kombinasi paling apik saka kinerja lan fungsi. Bagean sabanjure nerangake carane ngatur Riak kanthi bener kanggo nggunakake Multi-backend iki.

Backend yaiku apa sing bakal digunakake Riak kanggo nyimpen data. Riak KV duwe sawetara backend ing arsenal: Bitcask, LevelDB, Memori lan Multi.

Kajaba iku, sistem pitungan panyimpenan nggunakake Riak MapReduse kanggo nglumpukake file dadi ember. Iki tegese sampeyan kudu ngandhani kabeh simpul Riak kanggo nggoleki file Riak CS sing wis disiapake sadurunge nyimpen komputasi.

Sawetara paramèter liyane kudu diganti kanggo ngatur simpul Riak minangka bagéan saka sistem Riak CS, kayata alamat IP lan alamat IP lan port kanggo olahpesen liwat Protocol Buffers. Setelan liyane bisa diganti yen perlu. Bagean ing ngisor iki njlèntrèhaké carane ngatur simpul Riak kanggo operate minangka bagéan saka sistem Riak CS.

Nyetel backend Riak

Pisanan, file konfigurasi riak.conf utawa advanced.config/app.config diowahi. File-file kasebut bisa ditemokake ing direktori /etc/riak utawa /opt/riak/etc. Kanthi gawan, Riak nggunakake backend Bitcask. Babagan pisanan sing kudu ditindakake yaiku ngganti file konfigurasi kanthi ngilangi baris ing ngisor iki:

RIAK.CONF

## Delete this line:
storage_backend = bitcask

LANJUT.KONFIG

{riak_kv,
 [ %% Delete this line: 
{storage_backend, riak_kv_bitcask_backend},
 ]}

APLIKASI.CONFIG

{riak_kv, 
  [ %% Delete this line:
    {storage_backend, riak_kv_bitcask_backend},
]}

Sabanjure, kita kudu nduduhake kabutuhan modul RiakCS kanggo Riak lan nglatih Riak nggunakake backend sing dikonfigurasi nyedhiyakake Riak CS. Kita kudu nggunakake file advanced.config utawa app.config kanggo iki lan nambah opsi ing ngisor iki:

LANJUT.KONFIG

{eleveldb, [
    {total_leveldb_mem_percent, 30}
    ]},
{riak_kv, [
    %% Other configs
    {add_paths, ["/usr/lib/riak-cs/lib/riak_cs-2.1.1/ebin"]},
    {storage_backend, riak_cs_kv_multi_backend},
    {multi_backend_prefix_list, [{<<"0b:">>, be_blocks}]},
    {multi_backend_default, be_default},
    {multi_backend, [
        {be_default, riak_kv_eleveldb_backend, [
            {data_root, "/var/lib/riak/leveldb"}
        ]},
        {be_blocks, riak_kv_bitcask_backend, [
            {data_root, "/var/lib/riak/bitcask"}
        ]}
    ]},
    %% Other configs
]}

APLIKASI.CONFIG

{eleveldb, [
    {total_leveldb_mem_percent, 30}
    ]},
{riak_kv, [
    %% Other configs
    {add_paths, ["/usr/lib/riak-cs/lib/riak_cs-2.1.1/ebin"]},
    {storage_backend, riak_cs_kv_multi_backend},
    {multi_backend_prefix_list, [{<<"0b:">>, be_blocks}]},
    {multi_backend_default, be_default},
    {multi_backend, [
        {be_default, riak_kv_eleveldb_backend, [
            {data_root, "/var/lib/riak/leveldb"}
        ]},
        {be_blocks, riak_kv_bitcask_backend, [
            {data_root, "/var/lib/riak/bitcask"}
        ]}
    ]},
    %% Other configs
]}

Penting banget kanggo dicathet yen akeh nilai kasebut bakal gumantung marang variasi direktori khusus kanggo sistem operasi sampeyan, mula tindakake pandhuane. Contone, opsi add_paths nganggep yen Riak CS wis diinstal ing /usr/lib/riak-cs, nalika opsi data_root nganggep yen Riak wis diinstal ing /var/lib. (Wigati: Ing kasusku, iku add_paths - /usr/lib64/riak-cs/).

Konfigurasi iki nganggep yen Riak CS wis diinstal ing mesin sing padha karo Riak. Yen ora, paket kasebut kudu disalin menyang host sing kapisah.

Nyetel kreasi sedulur

Saiki, kita kudu nyetel parameter allow_mult dadi bener. Kita bisa nambah baris ing file konfigurasi riak.conf, utawa bagean riak_core ing advanced.config utawa app.config.

RIAK.CONF

buckets.default.allow_mult = true

LANJUT.KONFIG

{riak_core, [
    %% Other configs
    {default_bucket_props, [{allow_mult, true}]},
    %% Other configs
]}

APLIKASI.CONFIG

{riak_core, [
    %% Other configs
    {default_bucket_props, [{allow_mult, true}]},
    %% Other configs
]}

Iki bakal ngidini Riak nggawe sedulur sing perlu kanggo Riak CS bisa digunakake. Yen sampeyan nyambung menyang Riak CS nggunakake perpustakaan klien, aja padha sumelang: sampeyan ora kudu mutusake masalah konflik, wiwit kabeh operasi Riak CS strictly konsisten minangka ditetepake.

Sedulur minangka cara kanggo nyimpen pirang-pirang obyek ing siji tombol supaya obyek kasebut nduweni nilai sing beda ing node sing beda.

Cathetan: allow_mult
Sembarang simpul Riak sing uga ndhukung Riak CS bakal allow_mult disetel kanggo bener ing kabeh wektu. Riak CS bakal ngreset Bukak yen nilai iku palsu.

Nyetel Jeneng Host lan Alamat IP

Saben simpul Riak duwe jeneng, sing bisa ditemtokake ing pilihan nodename ing riak.conf. Yen sampeyan nggunakake file konfigurasi app.config, sampeyan kudu nggawe file disebut vm.args ing direktori padha app.config lan nemtokake jeneng host nggunakake -name flag. Disaranake nemtokake jeneng simpul ing format @. Lan yen sampeyan duwe telung kelenjar mlaku ing siji inang 100.0.0.1, sampeyan bisa nelpon [email dilindhungi], [email dilindhungi]lan [email dilindhungi] utawa sampeyan bisa menehi jeneng sing luwih spesifik, kayata [email dilindhungi], [email dilindhungi] lan liya-liyane. Conto ing ngisor iki nuduhake ngganti jeneng host dadi [email dilindhungi], sing bakal mbukak ing localhost.

RIAK.CONF

 nodename = [email protected] 

VM.ARGS

 -name [email protected]

Sampeyan kudu menehi jeneng kabeh simpul sadurunge miwiti lan gabung ing kluster.

Tes setelan

Saiki kabeh setelan simpul sing dibutuhake wis rampung, kita bisa nyoba miwiti Riak:

cangkang

 riak start 

Cathetan Jawaban ing kasusku:

Riak Cloud Storage. Part 1: Nggawe Riak KV

Ing kene sampeyan kudu ngenteni sethithik. Banjur sampeyan bisa miwiti nguji simpul sing mlaku.

cangkang

 riak ping

Yen tanggapane pong, banjur Riak mlaku, yen tanggapane Node ora nanggapi ping, mula ana sing salah.

Cathetan Jawaban ing kasusku:

Riak Cloud Storage. Part 1: Nggawe Riak KV

Yen simpul ora miwiti bener, katon ing erlang.log.1 log ing direktori / log saka simpul yen masalah bisa dikenali. Salah sawijining kesalahan sing paling umum yaiku invalid_storage_backend. Kang nuduhake yen path menyang perpustakaan Riak CS ing advanced.config utawa ing app.config salah (utawa Riak CS ora diinstal ing server). Sanajan ana kesalahan iki, priksa manawa sampeyan durung ngganti saka riak_cs_kv_multi_backend dadi riak_kv_multi_backend.

Konfigurasi Riak kanggo nggunakake buffer protokol

Setelan buffer protokol Riak ana ing riak.conf utawa ing bagean riak_api ing file advanced.config utawa app.config, sing ana ing direktori /etc/riak/. Kanthi gawan, host duwe alamat IP 127.0.0.1 lan port 8087. Sampeyan kudu ngganti iki yen sampeyan arep mbukak Riak lan Riak CS ing lingkungan non-lokal. Ganti 127.0.0.1 karo alamat IP host Riak lan port 8087 karo sing cocog.

RIAK.CONF

 listener.protobuf.internal = 10.0.2.10:10001

MAJU.CONF

{riak_api, [
    %% Other configs
    {pb, ["10.0.2.10", 10001]},
    %% Other configs
]}

APLIKASI.CONFIG

riak_api, [
    %% Other configs
    {pb, ["10.0.2.10", 10001]},
    %% Other configs
]}

Wigati:Nilai parameter listener.protobuf.internal ing file riak.conf (utawa nilai parameter pb ing advanced.conf/app.config) kudu cocog karo nilai kanggo riak_host ing Riak CS riak-cs.config lan Stanchion stanchion.conf (utawa riak_host mungguh ing majeng .config / app.config) file.

Cathetan babagan nomer port
Nomer port sing beda bisa uga dibutuhake yen port bertentangan karo port sing digunakake dening aplikasi liyane utawa yen sampeyan nggunakake load balancer utawa server proxy.

Disaranake uga pangguna manawa ukuran protobuf.backlog Riak (utawa ing file advanced.config/app.config iki pb_backlog) padha karo utawa luwih gedhe tinimbang pool.request.size sing ditemtokake kanggo Riak CS ing riak-cs. config (utawa request_pool_size ing file advanced.config/ app.conf).

Yen nilai pool.request.size ing Riak CS wis diganti, banjur nilai protobuf.backlog uga kudu dianyari ing Riak.

Setelan Riak liyane

File riak.conf lan advanced.config kalebu setelan liyane sing ngatur nggawe file log lan ing ngendi disimpen. Setelan iki duwe nilai standar lan kudu bisa digunakake ing umume kasus. Kanggo informasi luwih lengkap, disaranake maca dokumentasi babagan file konfigurasi.

Nyetel alamat IP kanggo Riak

Nalika nyetel alamat IP kanggo Riak, sampeyan kudu yakin manawa simpul Riak duwe alamat IP sing unik, manawa sampeyan nggarap mung siji simpul utawa nambahake simpul liyane ing sistem kasebut. Alamat IP Riak ana ing riak.conf utawa - yen sampeyan nggunakake file app.config - ing file konfigurasi vm.args, sing ana ing direktori /etc/riak (utawa /opt/riak/etc/ ing sistem operasi liyane).

Kaping pisanan, baris sing ngemot alamat IP Riak tumuju menyang localhost ing lokasi iki:

RIAK.CONF

 nodename = [email protected]

VM.ARGS

 -name [email protected]

Ganti 127.0.0.1 nganggo alamat IP sing disenengi utawa jeneng host simpul Riak.

Setelan Kinerja lan Bandwidth

Kanggo alasan kinerja, disaranake nambahake nilai menyang file konfigurasi Riak riak.conf utawa vm.args, sing ana ing direktori /etc/riak/ utawa /opt/riak/etc.

RIAK.CONF

 erlang.max_ports = 65536

VM.ARGS

## This setting should already be present for recent Riak installs.
 -env ERL_MAX_PORTS 65536

Mateni JavaScript MapReduce

Disaranake ora nggunakake warisan JavaScript MapReduce karo versi Riak CS. Kanggo alasan kinerja, sampeyan kudu mateni mesin virtual sing nindakake operasi JavaScript MapReduce kanthi nyetel ing file konfigurasi riak.conf, utawa ing bagean riak_kv advanced.conf utawa app.config:

RIAK.CONF

 javascript.map_pool_size = 0
 javascript.reduce_pool_size = 0
 javascript.hook_pool_size = 0 

LANJUT.KONFIG

{riak_kv, [
    %% Other configs
    {map_js_vm_count, 0},
    {reduce_js_vm_count, 0},
    {hook_js_vm_count, 0}
    %% Other configs
]}

APLIKASI.CONFIG

{riak_kv, [
    %% Other configs
    {map_js_vm_count, 0},
    {reduce_js_vm_count, 0},
    {hook_js_vm_count, 0}
    %% Other configs
]}

Sabanjure kita kudu ngatur komponen isih saka sistem Riak CS.

Manual asli.

Source: www.habr.com

Add a comment