Riak pilvesalvestus. Osa 1. Riak KV seadistamine

Riak CS (Cloud Storage) – kasutajasĂ”bralik objektihaldustarkvara, mis töötab Riak KV peal. Riak (KV) on jaotatud NoSQL vĂ”tme-vÀÀrtuse (key-value) andmebaas. Riak CS on kavandatud lihtsuse, saadavuse ja jaotatuse tagamiseks pilvehoidla, mis sobib igas suuruses, ja seda saab kasutada nii avalike kui ka privaatsete pilvearhitektuuride loomiseks vĂ”i infrastruktuurihoidlana kĂ”rgelt koormatud rakenduste ja teenuste jaoks. Riak CS API on ĂŒhilduv Amazon S3-ga ja toetab erinevate olukordade aruandeid.

Riak pilvesalvestus. Osa 1. Riak KV seadistamine
See artikkel on vaba tĂ”lge Riak CS sĂŒsteemi ametlikust juhendist, versioon 2.1.1.

Riak CS hoius faile, mida organiseerivad kolm koos töötavat komponenti, mistÔttu tuleb iga komponent seadistada, et nad saaksid omavahel korralikult suhelda:

  • Riak (KV) – andmebaasisĂŒsteem, mis toimib lĂ”pp- vĂ”i viimane sĂŒsteem.
  • Riak CS — pilvehoidlas, mis asub Riaki kohal, andes andmete salvestamise ja API vĂ”imalused, salvestades faile ja metaandmeid Riakis ja edastades need seejĂ€rel lĂ”ppkasutajatele.
  • Stanchion — haldab pĂ€ringuid, mis hĂ”lmavad globaalselt unikaalseid entiteete, nagu mahutid ja kasutajad Riaki eksemplaris. NĂ€iteks kasutajate loomine, mahutite loomine vĂ”i kustutamine.

Samuti saate seadistada S3 kliendi, et kasutada seda Riak CS sĂŒsteemiga suhtlemiseks.

Peate planeerima ĂŒhe Riaki sĂ”lme iga Riak CS sĂ”lme jaoks teie sĂŒsteemis. Riaki ja Riak CS sĂ”lmed vĂ”ivad töötada erinevates fĂŒĂŒsilistes seadmetes, kuid enamasti on eelistatav kĂ€ivitada ĂŒks Riaki sĂ”lm ja ĂŒks Riak CS sĂ”lm samas fĂŒĂŒsilises seadmes. Eeldades, et ĂŒhel fĂŒĂŒsilisel seadmel on piisavalt jĂ”udlust, et rahuldada mĂ”lema Riaki ja Riak CS sĂ”lme vajadusi, nĂ€ete reeglina paremat jĂ”udlust, kuna vĂ”rgu viivitusi on vĂ€hem.

Kui teie sĂŒsteem koosneb mitmest sĂ”lmest, on konfiguratsioon peamiselt komponentide vahelise suhtlemise seadistamine. Teised seadistused, nĂ€iteks kus ja kuidas logifailid salvestatakse, on vaikeseaded ning neid tuleb muuta ainult juhul, kui soovite kasutada mittevaikeseadeid.

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

Kuna Riak CS on rakendus, mis on vÀlja töötatud Riaki peal, on vÀga oluline pöörata tÀhelepanu oma Riaki konfiguratsioonile, kui kÀivitatakse Riak CS. See dokument on samaaegselt Riaki seadistamise juhend ja ka viidatud dokument, mis kirjeldab olulisi konfiguratsiooni parameetreid.

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

Riak pilvesalvestus. Osa 1. Riak KV seadistamine

Riak CS jaoks mĂ”eldud taustasĂŒsteemid

Vaikimisi on Riaki kasutatav taustasĂŒsteem Bitcask, kuid Riak CS pakett sisaldab spetsiaalset taustasĂŒsteemi, mida peab kasutama Riaki klaster, mis on osa Riak CS sĂŒsteemist. Tavalises versioonis on saadaval standardne Multi taustasĂŒsteem, mis kaasas Riakiga.

Samad Riak konteinerid, mida kasutatakse Riak CS sees, kasutavad sekundaarseid indekseid, mis nĂŒĂŒd nĂ”uavad LevelDB taustasĂŒsteemi. Muud Riak CS sĂŒsteemi osad saavad kasu Bticask taustasĂŒsteemi kasutamisest. NĂ€idis Multi taustasĂŒsteemi kasutamine on Riak CS-is, et saada kasu mĂ”lemast taustasĂŒsteemist, saavutades parima jĂ”udluse ja funktsionaalsuse tasakaalu. JĂ€rgmises osas kirjeldatakse, kuidas Riaki korralikult seadistada selle Multi taustasĂŒsteemi kasutamiseks.

TaustasĂŒsteem — see on see, mida Riak kasutab andmete salvestamiseks. Riak KV-l on mitmeid taustasĂŒsteeme: Bitcask, LevelDB, Memory ja Multi.

Lisaks kasutab andmesalvestuse arvutamise sĂŒsteem Riak MapReduce faile konteineritesse koondamiseks. See tĂ€hendab, et peate teavitama kĂ”iki Riaki sĂ”lmi, kus otsida ettevalmistatud faile Riak CS-i enne salvestuse arvutamist.

MĂ”ned muud parameetrid peavad olema muudetud, et seadistada Riaki sĂ”lm osana Riak CS sĂŒsteemist, nagu IP-aadress ja IP-aadress ning port sĂ”numite vahetamiseks Protocol Buffers kaudu. ÜlejÀÀnud seadistusi saab vajadusel muuta. JĂ€rgmised osad kirjeldavad, kuidas seadistada Riaki sĂ”lme töötama osana Riak CS sĂŒsteemist.

Riaki taustasĂŒsteemi seadistamine

Esiteks, redigeeritakse riak.conf vÔi advanced.config/app.config konfiguratsioonifailid. Need failid vÔivad asuda kaustades /etc/riak vÔi /opt/riak/etc. Vaikimisi kasutab Riak Bitcask tagapinda. Esimene asi, mida peame tegema, on konfiguratsioonifaili muutmine, eemaldades jÀrgmise rea:

RIAK.CONF

## Delete this line:
storage_backend = bitcask

ADVANCED.CONFIG

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

APP.CONFIG

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

JÀrgmisena peame nÀitama RiakCS moodulite vajalikkuse Riak jaoks ja mÀÀrama Riaki kasutama seadistatud tagapinda, mis toetab Riak CS. Selleks peame kasutama advanced.config vÔi app.config faili ja lisama jÀrgmised valikud:

ADVANCED.CONFIG

{eleveldb, [
    {total_leveldb_mem_percent, 30}
    ]},
{riak_kv, [
    %% Muud seaded
    {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"}
        ]}
    ]},
    %% Muud seaded
]}

APP.CONFIG

{eleveldb, [
    {total_leveldb_mem_percent, 30}
    ]},
{riak_kv, [
    %% Muud seaded
    {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"}
        ]}
    ]},
    %% Muud seaded
]}

On vĂ€ga oluline mĂ€rkida, et paljude nende vÀÀrtuste aluseks on teie operatsioonisĂŒsteemiga spetsiifilised kaustade variatsioonid, seega jĂ€rgige juhiseid vastavalt. NĂ€iteks eeldab add_paths parameeter, et Riak CS on installitud kausta /usr/lib/riak-cs, samas kui data_root parameetrid eeldavad, et Riak on installitud kausta /var/lib. (MĂ€rkus: minu puhul oli see add_paths - /usr/lib64/riak-cs/).

See konfiguratsioon eeldab, et Riak CS on installitud samasse masinasse kui Riak. Kui ei, siis tuleb pakett kopeerida eraldi hosti.

SĂŒmbalite loomise seadistus

NĂŒĂŒd peame seadistama allow_mult parameetri vÀÀrtuseks true. Saame lisada rea konfiguratsioonifaili riak.conf, vĂ”i riak_core jaotises 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 sĂŒmbaleid, mis on vajalikud Riak CS'i toimimiseks. Kui ĂŒhendate Riak CS'iga kliendi teegiga, siis Ă€rge muretsege: te ei pea konflikte lahendama, sest kĂ”ik Riak CS toimingud on rangelt kooskĂ”lastatud oma mÀÀratlemise jĂ€rgi.

SĂŒmbal on viis salvestada mitu objekti ĂŒhes vĂ”tmes, et objektidel oleks erinevad vÀÀrtused erinevates sĂ”lmedes.

MĂ€rkus: allow_mult
Iga Riak sĂ”lm, mis toetab ka Riak CS-i, peab alati olema parameetri allow_mult vÀÀrtus true. Riak CS kĂ€ivitamine tĂŒhistatakse, kui vÀÀrtus on false.

SÔlme nime ja IP-aadressi seadistamine

Igal Riak sĂ”lm on nimi, mis saab mÀÀrata failis riak.conf parameetri nodename all. Kui kasutate konfigureerimisse pikendust app.config, peate looma faili nimega vm.args samas kaustas, kus asub app.config, ning mÀÀrama sĂ”lme nime lipu -name abil. Soovitame mÀÀrata sĂ”lme nimed vormingus @. NĂ€iteks, 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 jne. Allolev nĂ€ide nĂ€itab, kuidas muuta sĂ”lme nime riak1@127.0.0.1, mis töötab kohaliku hosti peal.

RIAK.CONF

 nodename = riak1@127.0.0.1 

VM.ARGS

 -name riak1@127.0.0.1

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

Seadistustestimine

NĂŒĂŒd, kui kĂ”ik vajalikud sĂ”lme seadistused on lĂ”petatud, saame proovida Riaki kĂ€ivitada:

SHELL

 riak start 

MĂ€rkus. Vastus minu puhul:

Riak pilvesalvestus. Osa 1. Riak KV seadistamine

Siin tuleks natuke oodata. Siis saab alustada teste kÀivitatud sÔlme suhtes.

SHELL

 riak ping

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

MĂ€rkus. Vastus minu puhul:

Riak pilvesalvestus. Osa 1. Riak KV seadistamine

Kui sĂ”lm kĂ€ivitati vigaselt, vaadake logifaile erlang.log.1 kaustas /log sĂ”lme, et probleemi tuvastada. Üks levinumaid vigu on invalid_storage_backend, mis viitab sellele, et teek Riak CS-ini advanced.config vĂ”i app.config failis on vale (vĂ”i Riak CS ei ole serveris installitud). Vaatamata sellele veale veenduge, et te ei oleks muutnud riak_cs_kv_multi_backend-ilt riak_kv_multi_backend-ile.

Riaki seadistamine protokollipuhvrite (protocol buffers) kasutamiseks

Riaki protokollipuhvrite seaded asuvad failis riak.conf vÔi riak_api sektsioonis advanced.config vÔi app.config, mis asuvad kaustas /etc/riak/. Vaikimisi on hosti IP-aadress 127.0.0.1 ja port 8087. Peate need muutma, kui kavatsete kÀivitada Riaki ja Riak CS-i teises keskkonnas. Asendage 127.0.0.1 Riak sÔlme IP-aadress ning port 8087 sobiva aadressiga.

RIAK.CONF

 listener.protobuf.internal = 10.0.2.10:10001

ADVANCED.CONF

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

APP.CONFIG

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

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

MĂ€rkus pordi numbri kohta
VÔib olla vajalik teine pordinumber, kui port on konfliktis teiste rakenduste kasutatavate portidega vÔi kui kasutate koormuse tasakaalustajat vÔi vahetusserverit.

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

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

Teised Riaki sÀtted

Failid riak.conf ja advanced.config sisaldavad teisi sÀtteid, mis konfigureerivad logifailide loomist ja nende salvestamise teed. Need sÀtted omavad vaikimisi vÀÀrtusi ja peaksid töötama enamikus olukordades. Rohkem teabe saamiseks soovitame lugeda meie konfiguratsioonifailide dokumentatsiooni.

IP-aadressi seadistamine Riaki jaoks

Seadistamise kĂ€igus IP-aadressid Riaki jaoks peate olema kindel, et Riaki sĂ”lmedel on unikaalne IP-aadress, olgu te töötate ainult ĂŒhe sĂ”lmega vĂ”i lisate sĂŒsteemi tĂ€iendavaid sĂ”lmi. Riaki IP-aadress asub riak.conf failis vĂ”i — kui kasutate app.config faili — vm.args konfiguratsioonifailis, mis asub seal samas /etc/riak kaustas (vĂ”i /opt/riak/etc teistes operatsioonisĂŒsteemides).

Alguses nÀitab Riaki IP-aadressi sisaldav rida, et see on kohaliku hosti aadress:

RIAK.CONF

 nodename = riak@127.0.0.1

VM.ARGS

 -name riak@127.0.0.1

Asendage 127.0.0.1 eelistatud IP-aadressi vÔi Riaki sÔlme hostinimega.

TÔhususe ja lÀbilaskevÔime sÀtted

TÔhususe kaalutluste tÔttu soovitame tungivalt lisada vÀÀrtusi Riaki konfigureerimisfailidesse riak.conf vÔi vm.args, mis asuvad /etc/riak/ vÔi /opt/riak/etc kaustas.

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 vĂ€ljalĂŒlitamine

Soovitame mitte kasutada vananenud JavaScript MapReduce koos ĂŒhegi Riak CS versiooniga. TĂ”hususe pĂ”hjuseid silmas pidades peaksite JavaScript MapReduce toimingute teostamiseks vajaliku virtuaalse masina vĂ€ljalĂŒlitama, seadistades riak.conf konfigureerimisfailis vĂ”i advanced.conf vĂ”i app.config riak_kv osas:

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

JĂ€rgmine on vaja seadistada ĂŒlejÀÀnud Riak CS sĂŒsteemi komponendid.

Algne juhend.

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster