Riak Cloud Storage. Osa 1. Riak KV seadistamine

Riak CS (Cloud Storage) – kasutajasĂ”bralik tarkvara objektide salvestamiseks, mis töötab Riak KV peal. Riak (KV) on jaotatud NoSQL andmebaas, mis töötab vĂ”tme-vÀÀrtuse (key-value) sĂŒsteemi pĂ”himĂ”ttel. Riak CS on loodud tagama lihtsuse, kĂ€ttesaadavuse ja jaotatuse igas suuruses pilvesalvestuse jaoks ning seda saab kasutada nii avalike kui ka privaatsete pilvearhitektuuride loomiseks vĂ”i kui infrastruktuuri salvestust kĂ”rgete koormustega rakenduste ja teenuste jaoks. Riak CS API on ĂŒhilduv Amazon S3-ga ja toetab erinevate olukordade aruande loomise vĂ”imalust.

Riak Cloud Storage. Osa 1. Riak KV seadistamine
See artikkel on vaba tĂ”lge ametlikust juhendist Riak CS sĂŒsteemi versioonile 2.1.1

Riak CS salvestussĂŒsteemis töötavad kolm komponenti koos, mis tĂ€hendab, et iga komponendi seadistamine on vajalik teiste komponentidega töötamiseks:

  • Riak (KV) – andmebaasisĂŒsteem, mis tegutseb lĂ”pp sĂŒsteemina.
  • Riak CS — Riak'i poolt pakutav pilveandmete salvestuse kiht, mis vĂ”imaldab salvestada ja API funktsioone, hoiab faile ja metaandmeid Riakis ning edastab need siis lĂ”ppkasutajatele.
  • Stanchion — haldab pĂ€ringuid, mis hĂ”lmavad globaalselt unikaalseid objekte, nagu nĂ€iteks kĂ€bucketid ja kasutajad Riak'i eksemplaris. NĂ€iteks kasutajate loomine, kĂ€bucketite loomine vĂ”i kustutamine.

Lisaks saate seadistada S3 kliendi Riak CS sĂŒsteemiga suhtlemiseks.

Te peate planeerima ĂŒhe Riak'i sĂ”lme olemasolu iga Riak CS sĂ”lme jaoks teie sĂŒsteemis. Riak ja Riak CS sĂ”lmed vĂ”ivad töötada erinevates fĂŒĂŒsilistes masinates, kuid enamikul juhtudel on parem kĂ€itada ĂŒhte Riak'i ja ĂŒhte Riak CS sĂ”lme samas fĂŒĂŒsilises masinas. Eeldades, et ĂŒks fĂŒĂŒsiline masin on piisavalt vĂ”imas, et rahuldada mĂ”lema Riak'i ja Riak CS sĂ”lme vajadusi, nĂ€ete tavaliselt paremat jĂ”udlust vĂ”rgu latentsuse vĂ€henemise tĂ”ttu.

Kui teie sĂŒsteem koosneb mitmest sĂ”lmest, siis konfigureerimise esimesed sammud hĂ”lmavad komponentide vahelist suhtluse seadistamist. Teised seadistused, nagu logifailide salvestamise asukoht, on vaikimisi ja neid tuleb muuta ainult siis, kui soovite kasutada kohandatud vÀÀrtusi.

SĂŒsteemi komponentide seadistamine. Riak KV seadistamine CS-ile

Kuna Riak CS on rakendus, mis on vÀlja töötatud Riaki peale, on vÀga oluline pöörata tÀhelepanu oma Riaki konfigureerimisele, kui Riak CS-i kÀivitatakse. See dokument toimib samal ajal juhendina Riaki konfigureerimiseks ja abimaterjalina, mis kirjeldab olulisi konfigureerimisparameetreid.

Enne seadistamist veenduge, et Riak KV ja Riak CS on installitud igas sĂ”lmes teie klastris. Stanchion, seevastu, peab olema installitud ainult ĂŒhes sĂ”lmes kogu klastris.

Riak Cloud Storage. Osa 1. Riak KV seadistamine

Riak CS-i tagapinnad

Vaikimisi tagapind, mida Riak kasutab, on Bitcask, kuid Riak CS pakett sisaldab spetsiaalset tagapinda, mida Riaki klaster peab kasutama, olles osa Riak CS sĂŒsteemist. Tavalises versioonis on tavaline Multi tagapind, mis on Riakiga kaasas.

Riak CS-s kasutatavad samad Riak-konteinerid kasutavad teisekordseid indekseid, mis nĂ”uavad nĂŒĂŒd LevelDB tagapinda. Muud Riak CS sĂŒsteemi osad vĂ”ivad kasutada Bticask tagapinda. Riak CS-i on lisatud nahkseks Multi tagapind, et kasutada Ă€ra nende kahe tagapinna eeliseid, et saavutada parim jĂ”udlus ja funktsionaalsus. JĂ€rgmises jaos kirjeldatakse, kuidas Riaki Ă”igesti konfigureerida, et kasutada seda Multi tagapinda.

Tagapind on see, mida Riak kasutab andmete salvestamiseks. Riak KV arsenal sisaldab mitmeid tagapindu: Bitcask, LevelDB, Memory ja Multi.

Lisaks teeb andmete salvestamise sĂŒsteem Riak MapReduce'i abil failide kogumite summeerimist. See tĂ€hendab, et peate teatama kĂ”igile Riak-sĂ”lmedele, kus otsida ettevalmistatud Riak CS faile enne salvestamise arvutamist.

MĂ”ned muud parameetrid peavad olema muudetud, et seadistada Riak sĂ”lm osana Riak CS sĂŒsteemist, nagu nĂ€iteks IP-aadress ja port sĂ”numite vahetamiseks Protocol Buffers'i kaudu. ÜlejÀÀnud seadeid saab muuta, kui see on vajalik. Allpool on toodud jaotised, mis selgitavad, kuidas seadistada Riak sĂ”lm tööle Riak CS sĂŒsteemi osana.

Riak taustteenuse seadistamine

Esiteks muudetakse riak.conf vÔi advanced.config/app.config konfiguratsioonifaile. Need failid vÔivad asuda /etc/riak vÔi /opt/riak/etc kataloogides. Vaikimisi kasutab Riak Bitcask taustteenust. Esimene asi, mida peame tegema, on muuta konfiguratsioonifaili, eemaldades jÀrgmise rea:

RIAK.CONF

## Delete this line:
storage_backend = bitcask

ADVANCED.CONFIG

{riak_kv,
 [ %% Kustuta see rida: 
{storage_backend, riak_kv_bitcask_backend},
 ]}

APP.CONFIG

{riak_kv, 
  [ %% Kustuta see rida:
    {storage_backend, riak_kv_bitcask_backend},
]}

SeejÀrel peame nÀitama, et RiakCS moodulid on Riaki jaoks vajalikud, ning nÀitama Riakile, et kasutada seadistatud taustteenust, mis toetab Riak CS-i. Selleks peame muutma advanced.config vÔi app.config faili ja lisama jÀrgmised valikud:

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, [{<>, 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, [{<>, 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
]}

On oluline mĂ€rkida, et paljusid nendest vÀÀrtustest mĂ”jutavad teie operatsioonisĂŒsteemiga seotud kataloogide variatsioonid, seetĂ”ttu jĂ€rgige juhiseid vastavalt neile. NĂ€iteks, parameter add_paths eeldab, et Riak CS on paigaldatud /usr/lib/riak-cs, samas kui data_root parameetrid eeldavad, et Riak on paigaldatud /var/lib. (MĂ€rkus: Minu puhul oli see add_paths — /usr/lib64/riak-cs/).

See konfigureerimine eeldab, et Riak CS on paigaldatud samasse masinasse, kus on Riak. Kui ei, siis tuleb pakett kopeerida eraldi hosti.

Hajutamise seadistamine

NĂŒĂŒd peame seadistama parameetri allow_mult vÀÀrtuseks true. Saame lisada rea konfigureerimisfaili riak.conf, vĂ”i jaotises riak_core advanced.config vĂ”i app.config.

RIAK.CONF

buckets.default.allow_mult = true

ADVANCED.CONFIG

{riak_core, [
    %% Muud seaded
    {default_bucket_props, [{allow_mult, true}]},
    %% Muud seaded
]}

APP.CONFIG

{riak_core, [
    %% Muud seaded
    {default_bucket_props, [{allow_mult, true}]},
    %% Muud seaded
]}

See vĂ”imaldab Riak'il luua sublinge, mis on vajalikud Riak CS'i toimimiseks. Kui te ĂŒhendate Riak CS'iga kliendiraamatukogu abil, siis muretsemine ei ole vajalik: te ei pea lahendama konflikte, kuna kĂ”ik Riak CS'i toimingud on rangelt kooskĂ”lastatud oma mÀÀratlemise kohaselt.

Subling on viis salvestada mitmeid objekte ĂŒhe vĂ”tme all, et objekt oleks erinevates sĂ”lmedes erinevate vÀÀrtustega.

MĂ€rkus: allow_mult
Iga Riak sÔlm, mis toetab ka Riak CS'i, peab jÔudma pidevalt true vÀÀrtuseni allow_mult parameetri jaoks. Riak CS kÀivitamine katkestatakse, kui vÀÀrtus on false.

SÔlme nime ja IP-aadressi seadistamine

Iga Riaki sĂ”lm omab nime, mille saab mÀÀrata riak.conf failis valikus nodename. Kui kasutate konfiguratsioonifaili app.config, peate looma faili nimega vm.args samas kataloogis, kus asub app.config, ja mÀÀrama sĂ”lme nime flagi -name abil. Soovitame mÀÀrata sĂ”lmedele nimesid formaadis @. Nii et kui teil on kolm kĂ€ivitatud sĂ”lme ĂŒhel hostil 100.0.0.1, vĂ”ite nimetada need riak1@100.0.0.1, riak2@100.0.0.1 ja riak3@100.0.0.1 vĂ”i anda neile spetsiifilisemaid nimesid, nagu test_cluster1@100.0.0.1, user_data3@100.0.0.1 ja nii edasi. Allpool oleva nĂ€ite puhul muudetakse sĂ”lme nime riak1@127.0.0.1, millel on kohaliku hosti tugi.

RIAK.CONF

 nodename = riak1@127.0.0.1 

VM.ARGS

 -name riak1@127.0.0.1

Te peate mÀÀrama nimed kÔikidele sÔlmedele enne nende kÀivitamist ja klastrisse lisamist.

Seadistustestimine

NĂŒĂŒd, kui kĂ”ik vajalikud sĂ”lmede seadistused on tehtud, vĂ”ime proovida Riaki kĂ€ivitada:

SHELL

 riak start 

MĂ€rk. Vastus minu puhul:

Riak Cloud Storage. Osa 1. Riak KV seadistamine

Siin tuleb natuke oodata. Siis saab juba alustada kÀivitatud sÔlme testimist.

SHELL

 riak ping

Kui vastuseks on pong, siis tÀhendab see, et Riak on kÀivitatud: kui vastuseks on Node not responding to pings, siis on midagi valesti lÀinud.

MĂ€rk. Vastus minu puhul:

Riak Cloud Storage. Osa 1. Riak KV seadistamine

Kui sĂ”lm kĂ€ivitus vale, vaadake faili erlang.log.1, mis asub sĂ”lme kaustas /log, et probleem tuvastada. Üks levinumaid vigu on invalid_storage_backend. See viitab sellele, et teek Riak CS advanced.config vĂ”i app.config failis on vale (vĂ”i Riak CS ei ole serveris installitud). ÜkskĂ”ik millest see viga tuleneb, veenduge, et te ei ole muutnud riak_cs_kv_multi_backend'i riak_kv_multi_backend'iks.

Riaki seadistamine protokollibufrite (protocol buffers) kasutamiseks

Riaki protokollibufrite seaded asuvad riak.conf failis vÔi riak_api jaotises advanced.config vÔi app.config failides, mis asuvad kaustas /etc/riak/. Vaikimisi on hosti IP-aadress 127.0.0.1 ja port 8087. Peate need muutma, kui plaanite Riaki ja Riak CS't kÀivitada mitte-lokaalses keskkonnas. Asendage 127.0.0.1 Riaki sÔlme IP-aadress ja port 8087 sobivatega.

RIAK.CONF

 listener.protobuf.internal = 10.0.2.10:10001

ADVANCED.CONF

{riak_api, [
    %% Muud seaded
    {pb, ["10.0.2.10", 10001]},
    %% Muud seaded
]}

APP.CONFIG

riak_api, [
    %% Muud seaded
    {pb, ["10.0.2.10", 10001]},
    %% Muud seaded
]}

MÀrkus:Parameetri listener.protobuf.internal vÀÀrtus failis riak.conf (vÔi parameetri pb vÀÀrtus failis advanced.conf / app.config) peab vastama vÀÀrtustele riak_host Riak CS failis riak-cs.config ja Stanchioni failis stanchion.conf (vÔi vastavalt riak_host advanced.config / app.config failides).

MĂ€rkus pordi numbri kohta
VÔib olla vajalik muu pordinumber, kui port konfliktib mÔne teise rakenduse kasutatava pordiga vÔi kui kasutate koormuse tasakaalustajat vÔi puhverserverit.

Samuti on soovitatav, et kasutajad veenduksid, et Riak protobuf.backlog (vÔi advanced.config / app.config failides pb_backlog) oleks vÔrdne vÔi suurem kui Riak CS jaoks mÀÀratud pool.request.size vÀÀrtus, mis on mÀÀratud failis riak-cs.config (vÔi request_pool_size advanced.config / app.conf failides).

Kui Riak CS-s on muudetud vÀÀrtust pool.request.size, tuleb ka Riakis uuendada vÀÀrtust protobuf.backlog.

Muud Riaki seaded

Failid riak.conf ja advanced.config sisaldavad muid seadeid, mis konfigureerivad logifailide loomist ja nende salvestamise teid. Need seaded on vaikimisi vÀÀrtustega ja peaksid töötama enamikus juhtudel. TÀiendavateks teadmiseks soovitame lugeda meie dokumentatsiooni konfiguratsioonifailide kohta.

Riaki IP-aadressi seadistamine

Seadistamisel IP-aadressid Riaki jaoks peate veenduma, et Riaki sĂ”lmedel on ainulaadne IP-aadress, olgu te siis töötamas vaid ĂŒhe sĂ”lmega vĂ”i lisades sĂŒsteemi tĂ€iendavaid sĂ”lmi. Riaki IP-aadress on kirjeldatud failis riak.conf vĂ”i — kui kasutate failinime app.config — konfiguratsioonifailis vm.args, mis asub kas /etc/riak kaustas (vĂ”i /opt/riak/etc/ teistes operatsioonisĂŒsteemides).

Alguses nÀitab Riaki IP-aadressi sisaldav rida kohaliku hosti kohta jÀrgmist:

RIAK.CONF

 nodename = riak@127.0.0.1

VM.ARGS

 -name riak@127.0.0.1

Asendage 127.0.0.1 soovitud Riaki sÔlme IP-aadressiga vÔi hostinimega.

JÔudluse ja lÀbilaskevÔime seadistused

JÔudluse pÔhjuse tÔttu soovitame tungivalt lisada vÀÀrtused Riaki konfiguratsioonifailidesse riak.conf vÔi vm.args, mis asuvad /etc/riak/ vÔi /opt/riak/etc kaustades.

RIAK.CONF

 erlang.max_ports = 65536

VM.ARGS

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

JavaScript MapReduce'i vĂ€ljalĂŒlitamine

Soovitame mitte kasutada vananenud JavaScript MapReduce'i koos ĂŒhegi Riak CS versiooniga. JĂ”udluse pĂ€rast peate peatama JavaScript MapReduce operatsioonide teostamise virtuaalmasina, seadistades selle riak.conf konfiguratsioonifailis vĂ”i riak_kv sektsioonis advanced.conf vĂ”i app.config:

RIAK.CONF

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

ADVANCED.CONFIG

{riak_kv, [
    %% Muud seadistused
    {map_js_vm_count, 0},
    {reduce_js_vm_count, 0},
    {hook_js_vm_count, 0}
    %% Muud seadistused
]}

APP.CONFIG

{riak_kv, [
    %% Muud seadistused
    {map_js_vm_count, 0},
    {reduce_js_vm_count, 0},
    {hook_js_vm_count, 0}
    %% Muud seadistused
]}

SeejĂ€rel peame seadistama ĂŒlejÀÀnud Riak CS sĂŒsteemi komponente.

Algselt juhendist.

Allikas: habr.com

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster