Riak Awan Panyimpenan. Bagian 1: Nyetél Riak KV

Riak CS (Cloud Storage) - parangkat lunak anu gampang dianggo pikeun ngatur panyimpenan obyék, dijalankeun di luhur Riak KV. Riak (KV) mangrupikeun database nilai konci NoSQL anu disebarkeun. Riak CS dirancang pikeun nyadiakeun kesederhanaan, kasadiaan, distribusi gudang awan tina skala naon, sarta bisa dipaké pikeun ngawangun arsitéktur awan - duanana publik jeung swasta - atawa salaku gudang infrastruktur pikeun aplikasi tur jasa kacida saratna. Riak CS API kompatibel jeung Amazon S3 tur ngarojong kamampuhan pikeun nampa laporan dina sagala rupa kaayaan.

Riak Awan Panyimpenan. Bagian 1: Nyetél Riak KV
Tulisan ieu mangrupikeun tarjamahan gratis tina manual resmi pikeun versi sistem Riak CS 2.1.1

Dina sistem panyimpen Riak CS, tilu komponén tiasa dianggo babarengan, anu hartosna unggal komponén kedah dikonpigurasi pikeun dianggo sareng komponén anu sanés:

  • Riak (KV) - sistem pangkalan data anu bertindak salaku sistem tungtung.
  • Riak CS - Lapisan panyimpen awan di luhur Riak anu nyayogikeun panyimpen sareng kamampuan API, nyimpen file sareng metadata di Riak, teras nyebarkeun ka pangguna akhir.
  • Stanchion - Ngatur patarosan anu ngalibetkeun éntitas unik sacara global sapertos ember sareng pangguna dina conto Riak. Contona, nyieun pamaké, nyieun atawa mupus ember.

Salaku tambahan, anjeun ogé tiasa ngonpigurasikeun klien S3 pikeun dianggo dina olahtalatah sareng sistem Riak CS.

Anjeun kedah rencanana gaduh hiji titik Riak pikeun tiap titik Riak CS dina sistem Anjeun. Riak jeung Riak CS titik bisa dijalankeun dina mesin fisik béda, tapi dina kalolobaan kasus eta leuwih hade ngajalankeun hiji titik Riak jeung hiji titik Riak CS dina mesin fisik sarua. Anggap hiji mesin fisik boga kakuatan cukup pikeun nyugemakeun kaperluan duanana titik Riak jeung Riak CS, Anjeun umumna bakal ningali kinerja hadé alatan latency jaringan ngurangan.

Lamun sistem Anjeun diwangun ku sababaraha titik, konfigurasi utamana ngeunaan nyetel komunikasi antara komponén. Setélan sanésna, sapertos dimana file log bakal disimpen, gaduh nilai standar sareng ngan ukur kedah dirobih upami anjeun hoyong nganggo nilai non-standar.

Nyetél komponén sistem. Nyetél Riak KV pikeun CS

Kusabab Riak CS mangrupikeun aplikasi anu diwangun dina luhureun Riak, penting pisan pikeun nengetan konfigurasi Riak anjeun nalika ngajalankeun Riak CS. Dokumén ieu mangrupikeun pituduh konfigurasi Riak sareng dokumen rujukan anu ngajelaskeun parameter konfigurasi penting.

Sateuacan nyetél, pastikeun Riak KV sareng Riak CS dipasang dina unggal titik dina kluster anjeun. Stanchion, di sisi anu sanés, ngan ukur kedah dipasang dina hiji titik dina sakabéh klaster.

Riak Awan Panyimpenan. Bagian 1: Nyetél Riak KV

Backends pikeun Riak CS

Backend standar anu dianggo ku Riak nyaéta Bitcask, tapi pakét Riak CS kalebet backend khusus anu kedah dianggo ku kluster Riak anu mangrupikeun bagian tina sistem Riak CS. Versi biasa boga backend Multi baku nu hadir kalawan Riak.

Ember Riak anu sami anu dianggo di jero Riak CS nganggo indéks sekundér, anu ayeuna peryogi backend LevelDB. Bagian séjén tina sistem Riak CS tiasa nyandak kauntungan tina ngagunakeun backend Bticask. Pamakéan sampel Multi backend kaasup dina Riak CS pikeun ngamangpaatkeun duanana backends ieu pikeun ngahontal kombinasi pangalusna kinerja sarta fungsionalitas. Bagian salajengna ngajelaskeun kumaha leres ngonpigurasikeun Riak pikeun ngagunakeun Multi-backend ieu.

Patukang tonggong nyaeta naon Riak bakal dipaké pikeun nyimpen data. Riak KV boga sababaraha backends di arsenal na: Bitcask, LevelDB, Mémori jeung Multi.

Salaku tambahan, sistem itungan neundeun ngagunakeun Riak MapReduse pikeun ngahijikeun file kana ember. Ieu ngandung harti yén anjeun kedah nyarios ka sadaya titik Riak dimana milarian file Riak CS anu disiapkeun sateuacan neundeun komputasi.

Sababaraha parameter sejenna kudu dirobah pikeun ngonpigurasikeun titik Riak salaku bagian tina sistem Riak CS, kayaning alamat IP na alamat IP na port pikeun olahtalatah ngaliwatan Protocol Buffers. Setélan séjén bisa dirobah lamun perlu. Bagian di handap ieu ngajelaskeun kumaha carana ngonpigurasikeun titik Riak pikeun beroperasi salaku bagian tina sistem Riak CS.

Nyetél backend Riak

Mimiti, file konfigurasi riak.conf atanapi advanced.config/app.config diédit. Berkas ieu tiasa ditempatkeun di /etc/riak atanapi /opt/riak/etc directories. Sacara standar, Riak nganggo backend Bitcask. Hal kahiji anu urang kedah laksanakeun nyaéta ngarobih file konfigurasi ku cara ngahapus garis ieu:

RIAK.CONF

## Delete this line:
storage_backend = bitcask

ADVANCED.CONFIG

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

APP.CONFIG

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

Salajengna, urang kedah nunjukkeun kabutuhan modul RiakCS pikeun Riak sareng maréntahkeun Riak nganggo backend anu dikonpigurasi nyayogikeun Riak CS. Urang kedah nganggo file advanced.config atanapi app.config pikeun ieu sareng tambahkeun pilihan ieu:

ADVANCED.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
]}

APP.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 pisan pikeun dicatet yén seueur nilai ieu bakal gumantung kana variasi diréktori khusus pikeun sistem operasi anjeun, janten turutan petunjuk anu sasuai. Salaku conto, pilihan add_paths nganggap yén Riak CS dipasang dina /usr/lib/riak-cs, sedengkeun pilihan data_root nganggap yén Riak dipasang dina /var/lib. (Catetan: Dina hal kuring éta add_paths - /usr/lib64/riak-cs/).

Konfigurasi ieu nganggap yén Riak CS dipasang dina mesin anu sami sareng Riak. Upami henteu, maka pakét kedah disalin ka host anu misah.

Nyetél ciptaan duduluran

Ayeuna, urang kedah nyetél parameter allow_mult ka leres. Urang tiasa nambihan garis dina file konfigurasi riak.conf, atanapi bagian riak_core dina advanced.config atanapi app.config.

RIAK.CONF

buckets.default.allow_mult = true

ADVANCED.CONFIG

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

APP.CONFIG

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

Ieu bakal ngidinan Riak nyieun duduluran nu dipikabutuh pikeun Riak CS fungsi. Upami anjeun nyambung ka Riak CS nganggo perpustakaan klien, tong hariwang: anjeun henteu kedah ngabéréskeun konflik, sabab sadaya operasi Riak CS mastikeun konsisten sakumaha anu didefinisikeun.

Dulur mangrupa cara pikeun nyimpen sababaraha objék dina hiji konci ku kituna objék boga nilai béda dina titik béda.

Catetan: allow_mult
Sakur titik Riak anu ogé ngarojong Riak CS bakal allow_mult disetel ka leres sepanjang waktos. Riak CS bakal ngareset peluncuran upami nilaina palsu.

Nyetél Hostname sareng Alamat IP

Unggal titik Riak boga ngaran, nu bisa dieusian dina pilihan nodename di riak.conf. Upami anjeun nganggo file konfigurasi app.config, anjeun kedah nyiptakeun file anu disebut vm.args dina diréktori anu sami sareng app.config sareng nangtukeun nami host nganggo bandéra -name. Kami ngarékoméndasikeun nangtukeun ngaran titik dina format @. Tur jadi lamun boga tilu titik ngajalankeun on hiji host 100.0.0.1, anjeun tiasa nelepon aranjeunna [email dijaga], [email dijaga]jeung [email dijaga] atanapi anjeun tiasa masihan nami langkung spésifik, sapertos [email dijaga], [email dijaga] teras salajengna. Conto di handap nunjukkeun ngarobih nami host kana [email dijaga], anu bakal dijalankeun dina localhost.

RIAK.CONF

 nodename = [email protected] 

VM.ARGS

 -name [email protected]

Anjeun kedah nami sadaya titik sateuacan ngamimitian sareng gabung kana kluster.

Tes setelan

Ayeuna sadaya setélan titik anu diperyogikeun parantos réngsé, urang tiasa nyobian ngaluncurkeun Riak:

kerang

 riak start 

Catetan Jawaban dina kasus kuring:

Riak Awan Panyimpenan. Bagian 1: Nyetél Riak KV

Di dieu anjeun kedah ngantosan sakedik. Teras anjeun tiasa ngamimitian nguji titik jalan.

kerang

 riak ping

Upami résponna pong, maka Riak ngajalankeun; upami résponna nyaéta Node henteu ngaréspon ping, maka aya anu salah.

Catetan Jawaban dina kasus kuring:

Riak Awan Panyimpenan. Bagian 1: Nyetél Riak KV

Mun titik teu ngamimitian leres, tingali erlang.log.1 log di / log diréktori titik lamun masalahna bisa dicirikeun. Salah sahiji kasalahan anu paling umum nyaéta invalid_storage_backend. Nu nunjukkeun yén jalur ka perpustakaan Riak CS di advanced.config atanapi di app.config lepat (atanapi Riak CS teu dipasang dina server). Sanajan kasalahan ieu, pastikeun anjeun teu robah tina riak_cs_kv_multi_backend kana riak_kv_multi_backend.

Ngonpigurasikeun Riak ngagunakeun panyangga protokol

Setélan panyangga protokol Riak aya di riak.conf atanapi di bagian riak_api dina file advanced.config atanapi app.config, anu aya dina diréktori /etc/riak/. Sacara standar, host gaduh alamat IP 127.0.0.1 sareng port 8087. Anjeun kedah ngarobih ieu upami anjeun badé ngajalankeun Riak sareng Riak CS di lingkungan non-lokal. Ganti 127.0.0.1 sareng alamat IP host Riak sareng port 8087 sareng anu 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
]}

APP.CONFIG

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

Catetan:Nilai parameter listener.protobuf.internal dina riak.conf (atanapi nilai parameter pb dina advanced.conf/app.config) file kedah cocog sareng nilai pikeun riak_host di Riak CS riak-cs.config sareng Stanchion stanchion.conf (atanapi riak_host masing-masing dina file .config / app.config).

Catetan ngeunaan nomer port
Nomer port anu béda tiasa diperyogikeun upami palabuhan bentrok sareng palabuhan anu dianggo ku aplikasi anu sanés atanapi upami anjeun nganggo pangimbang beban atanapi server proxy.

Disarankeun ogé yén pamaké mastikeun yén ukuran protobuf.backlog Riak (atawa dina file advanced.config/app.config ieu pb_backlog) sarua atawa leuwih gede ti pool.request.size dieusian pikeun Riak CS di riak-cs. config (atanapi request_pool_size dina file advanced.config/ app.conf).

Lamun nilai pool.request.size di Riak CS geus robah, mangka nilai protobuf.backlog ogé kudu diropéa dina Riak.

Setélan Riak séjén

File riak.conf sareng advanced.config kalebet setélan sanés anu ngonpigurasikeun nyiptakeun file log sareng dimana aranjeunna disimpen. Setélan ieu ngagaduhan nilai standar sareng kedah dianggo dina kalolobaan kasus. Kanggo inpormasi anu langkung lengkep, kami nyarankeun maca dokuméntasi ngeunaan file konfigurasi.

Nyetél alamat IP pikeun Riak

Nalika nyetél alamat IP pikeun Riak, anjeun kedah yakin yén titik Riak gaduh alamat IP anu unik, naha anjeun damel sareng ngan hiji titik atanapi nambihan langkung seueur titik kana sistem. Alamat IP Riak dikandung dina riak.conf atanapi - upami anjeun nganggo file app.config - dina file konfigurasi vm.args, anu aya dina diréktori /etc/riak (atanapi /opt/riak/etc/ dina sistem operasi anu sanés).

Mimitina, garis anu ngandung alamat IP Riak nunjuk ka localhost di lokasi ieu:

RIAK.CONF

 nodename = [email protected]

VM.ARGS

 -name [email protected]

Ganti 127.0.0.1 sareng alamat IP anu dipikahoyong atanapi hostname tina titik Riak.

Kinerja sareng Setélan Bandwidth

Pikeun alesan kinerja, kami nyarankeun pisan nambahkeun nilai kana file konfigurasi Riak riak.conf atanapi vm.args, ayana dina /etc/riak/ atawa /opt/riak/etc diréktori.

RIAK.CONF

 erlang.max_ports = 65536

VM.ARGS

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

Nonaktipkeun JavaScript MapReduce

Disarankeun henteu nganggo warisan JavaScript MapReduce sareng versi naon waé Riak CS. Pikeun alesan kinerja, Anjeun kudu nganonaktipkeun mesin virtual ngajalankeun operasi JavaScript MapReduce ku netepkeun dina file konfigurasi riak.conf, atawa dina bagian riak_kv advanced.conf atawa app.config:

RIAK.CONF

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

ADVANCED.CONFIG

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

APP.CONFIG

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

Salajengna urang kedah ngonpigurasikeun komponén sésana tina sistem Riak CS.

manual aslina.

sumber: www.habr.com

Tambahkeun komentar