Riak Cloud Storage. 1. del: Nastavitev Riak KV

Riak CS (shramba v oblaku) – programska oprema, enostavna za uporabo, za organiziranje shranjevanja predmetov, ki deluje na vrhu Riak KV. Riak (KV) je porazdeljena baza podatkov ključev in vrednosti NoSQL. Riak CS je zasnovan tako, da zagotavlja preprostost, razpoložljivost in distribucijo shranjevanja v oblaku poljubnega obsega in se lahko uporablja za gradnjo arhitektur v oblaku – javnih in zasebnih – ali kot infrastrukturno shranjevanje za visoko obremenjene aplikacije in storitve. Riak CS API je združljiv z Amazon S3 in podpira možnost prejemanja poročil o različnih situacijah.

Riak Cloud Storage. 1. del: Nastavitev Riak KV
Ta članek je brezplačen prevod uradnega priročnika za sistem Riak CS različica 2.1.1

V sistemu za shranjevanje Riak CS tri komponente delujejo med seboj v povezavi, kar pomeni, da mora biti vsaka komponenta konfigurirana za delo z drugimi komponentami:

  • Riak (KV) – sistem baze podatkov, ki deluje kot končni sistem.
  • Riak CS - Sloj za shranjevanje v oblaku na vrhu Riaka, ki zagotavlja zmogljivosti za shranjevanje in API, shranjuje datoteke in metapodatke v Riak ter jih nato distribuira končnim uporabnikom.
  • Stojalo - Upravlja poizvedbe, ki vključujejo globalno edinstvene entitete, kot so vedra in uporabniki v primeru Riak. Na primer ustvarjanje uporabnikov, ustvarjanje ali brisanje veder.

Poleg tega lahko konfigurirate odjemalca S3 za uporabo pri sporočanju s sistemom Riak CS.

Načrtujte eno vozlišče Riak za vsako vozlišče Riak CS v vašem sistemu. Vozlišča Riak in Riak CS se lahko izvajajo na različnih fizičnih računalnikih, vendar je v večini primerov bolje zagnati eno vozlišče Riak in eno vozlišče Riak CS na istem fizičnem računalniku. Ob predpostavki, da ima en fizični stroj dovolj moči, da zadovolji potrebe vozlišč Riak in Riak CS, boste na splošno opazili boljšo zmogljivost zaradi zmanjšane zakasnitve omrežja.

Če je vaš sistem sestavljen iz več vozlišč, gre pri konfiguraciji predvsem za vzpostavitev komunikacije med komponentami. Druge nastavitve, na primer, kje bodo shranjene dnevniške datoteke, imajo privzete vrednosti in jih je treba spremeniti le, če želite uporabiti nestandardne vrednosti.

Nastavitev komponent sistema. Nastavitev Riak KV za CS

Ker je Riak CS aplikacija, zgrajena na vrhu Riaka, je zelo pomembno, da ste pri izvajanju Riak CS pozorni na svojo konfiguracijo Riak. Ta dokument je hkrati vodnik za konfiguracijo Riak in referenčni dokument, ki opisuje pomembne konfiguracijske parametre.

Pred nastavitvijo se prepričajte, da sta Riak KV in Riak CS nameščena na vsakem vozlišču v vaši gruči. Stanchion pa bi moral biti nameščen samo na enem vozlišču v celotni gruči.

Riak Cloud Storage. 1. del: Nastavitev Riak KV

Zaledja za Riak CS

Privzeto zaledje, ki ga uporablja Riak, je Bitcask, vendar paket Riak CS vključuje posebno zaledje, ki ga mora uporabljati gruča Riak, ki je del sistema Riak CS. Običajna različica ima standardno zaledje Multi, ki je priloženo Riaku.

Ista vedra Riak, ki se uporabljajo znotraj Riak CS, uporabljajo sekundarne indekse, ki zdaj zahtevajo zaledje LevelDB. Drugi deli sistema Riak CS imajo lahko koristi od uporabe zaledja Bticask. Uporaba vzorčnega zaledja Multi je vključena v Riak CS za izkoriščanje obeh ozadij za doseganje najboljše kombinacije zmogljivosti in funkcionalnosti. Naslednji razdelek opisuje, kako pravilno konfigurirati Riak za uporabo tega Multi-backend-a.

Zaledje je tisto, kar bo Riak uporabil za shranjevanje podatkov. Riak KV ima v svojem arzenalu več ozadij: Bitcask, LevelDB, Memory in Multi.

Poleg tega sistem za izračun prostora za shranjevanje uporablja Riak MapReduse za združevanje datotek v vedra. To pomeni, da morate vsem vozliščem Riak povedati, kje naj iščejo pripravljene datoteke Riak CS, preden začnete shrambo.

Za konfiguracijo vozlišča Riak kot dela sistema Riak CS je treba spremeniti več drugih parametrov, na primer naslov IP ter naslov IP in vrata za sporočanje prek medpomnilnikov protokola. Po potrebi lahko spremenite druge nastavitve. Naslednji razdelki opisujejo, kako konfigurirati vozlišče Riak za delovanje kot del sistema Riak CS.

Nastavitev zaledja Riak

Najprej se uredijo konfiguracijske datoteke riak.conf ali advanced.config/app.config. Te datoteke se lahko nahajajo v imeniku /etc/riak ali /opt/riak/etc. Riak privzeto uporablja zaledje Bitcask. Prva stvar, ki jo moramo narediti, je spremeniti konfiguracijsko datoteko tako, da odstranimo naslednjo vrstico:

RIAK.CONF

## Delete this line:
storage_backend = bitcask

NAPRED.KONFIG

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

APL.KONFIG

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

Nato moramo prikazati potrebo po modulih RiakCS za Riak in Riaku naročiti uporabo konfiguriranega zaledja, ki zagotavlja Riak CS. Za to moramo uporabiti datoteko advanced.config ali app.config in dodati naslednje možnosti:

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

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

Zelo pomembno je upoštevati, da bo veliko teh vrednosti odvisnih od različic imenika, značilnih za vaš operacijski sistem, zato sledite navodilom v skladu s tem. Na primer, možnost add_paths predpostavlja, da je Riak CS nameščen v /usr/lib/riak-cs, medtem ko možnosti data_root predpostavljajo, da je Riak nameščen v /var/lib. (Opomba: v mojem primeru je bilo to add_paths - /usr/lib64/riak-cs/).

Ta konfiguracija predvideva, da je Riak CS nameščen na isti napravi kot Riak. Če ne, je treba paket kopirati na ločenega gostitelja.

Nastavitev ustvarjanja sorodnikov

Zdaj moramo parameter allow_mult nastaviti na true. Dodamo lahko vrstico v konfiguracijsko datoteko riak.conf ali razdelek riak_core v datoteko advanced.config ali app.config.

RIAK.CONF

buckets.default.allow_mult = true

NAPRED.KONFIG

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

APL.KONFIG

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

To bo Riaku omogočilo, da ustvari brate in sestre, ki so potrebni za delovanje Riak CS. Če se na Riak CS povežete s knjižnico odjemalcev, ne skrbite: ne bo vam treba razreševati sporov, saj so vse operacije Riak CS strogo skladne, kot je opredeljeno.

brat in sestra je način shranjevanja več objektov v en ključ, tako da ima objekt različne vrednosti na različnih vozliščih.

Opomba: allow_mult
Vsako vozlišče Riak, ki podpira tudi Riak CS, bo imelo allow_mult ves čas nastavljeno na true. Riak CS bo ponastavil zagon, če je vrednost false.

Nastavitev imena gostitelja in naslova IP

Vsako vozlišče Riak ima ime, ki ga lahko podate v možnosti nodename v riak.conf. Če uporabljate konfiguracijsko datoteko app.config, morate ustvariti datoteko z imenom vm.args v istem imeniku kot app.config in določiti ime gostitelja z zastavico -name. Priporočamo, da imena vozlišč navedete v obliki @. Če torej imate tri vozlišča, ki tečejo na enem gostitelju 100.0.0.1, jih lahko pokličete [e-pošta zaščitena], [e-pošta zaščitena]In [e-pošta zaščitena] lahko pa navedete bolj natančna imena, kot npr [e-pošta zaščitena], [e-pošta zaščitena] in tako naprej. Spodnji primer prikazuje spreminjanje imena gostitelja v [e-pošta zaščitena], ki se bo izvajal na lokalnem gostitelju.

RIAK.CONF

 nodename = [email protected] 

VM.ARGS

 -name [email protected]

Vsa vozlišča morate poimenovati, preden jih zaženete in pridružite gruči.

Test nastavitve

Zdaj, ko so vse potrebne nastavitve vozlišča dokončane, lahko poskusimo zagnati Riak:

SHELL

 riak start 

Opomba Odgovor v mojem primeru:

Riak Cloud Storage. 1. del: Nastavitev Riak KV

Tukaj morate malo počakati. Nato lahko začnete testirati delujoče vozlišče.

SHELL

 riak ping

Če je odgovor pong, se Riak izvaja; če je odgovor Node se ne odziva na pinge, je šlo nekaj narobe.

Opomba Odgovor v mojem primeru:

Riak Cloud Storage. 1. del: Nastavitev Riak KV

Če se vozlišče ni pravilno zagnalo, si oglejte dnevnik erlang.log.1 v imeniku /log vozlišča, če je mogoče prepoznati težavo. Ena najpogostejših napak je invalid_storage_backend. Kar pomeni, da je pot do knjižnice Riak CS v advanced.config ali app.config napačna (ali Riak CS ni nameščen na strežniku). Kljub tej napaki se prepričajte, da niste spremenili iz riak_cs_kv_multi_backend v riak_kv_multi_backend.

Konfiguriranje Riaka za uporabo medpomnilnikov protokola

Nastavitve medpomnilnika protokola Riak se nahajajo v riak.conf ali v razdelku riak_api v datotekah advanced.config ali app.config, ki se nahajajo v imeniku /etc/riak/. Privzeto ima gostitelj naslov IP 127.0.0.1 in vrata 8087. To boste morali spremeniti, če nameravate izvajati Riak in Riak CS v nelokalnem okolju. Zamenjajte 127.0.0.1 z naslovom IP gostitelja Riak in vrata 8087 z ustreznim.

RIAK.CONF

 listener.protobuf.internal = 10.0.2.10:10001

NAPREDNO.KONF

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

APL.KONFIG

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

Opomba:Vrednost parametra listener.protobuf.internal v datoteki riak.conf (ali vrednost parametra pb v datoteki advanced.conf/app.config) se mora ujemati z vrednostmi za riak_host v Riak CS riak-cs.config in Stanchion stanchion.conf (ali riak_host v naprednih datotekah .config/app.config).

Opomba o številki vrat
Morda bo potrebna drugačna številka vrat, če so vrata v sporu z vrati, ki jih uporablja druga aplikacija, ali če uporabljate izravnalnik obremenitve ali strežnik proxy.

Priporočljivo je tudi, da uporabniki zagotovijo, da je velikost Riak protobuf.backlog (ali v datotekah advanced.config/app.config to pb_backlog) enaka ali večja od pool.request.size, določene za Riak CS v riak-cs. config (ali request_pool_size v datotekah advanced.config/ app.conf).

Če je bila vrednost pool.request.size v Riak CS spremenjena, je treba v Riaku posodobiti tudi vrednost protobuf.backlog.

Druge nastavitve Riak

Datoteki riak.conf in advanced.config vključujeta druge nastavitve, ki konfigurirajo ustvarjanje dnevniških datotek in mesto njihovega shranjevanja. Te nastavitve imajo privzete vrednosti in bi morale delovati v večini primerov. Za več informacij priporočamo, da preberete našo dokumentacijo o konfiguracijskih datotekah.

Nastavitev naslova IP za Riak

Ko nastavljate naslov IP za Riak, morate biti prepričani, da imajo vozlišča Riak edinstven naslov IP, ne glede na to, ali delate samo z enim vozliščem ali sistemu dodajate več vozlišč. Naslov IP Riak je v datoteki riak.conf ali – če uporabljate datoteko app.config – v konfiguracijski datoteki vm.args, ki se nahaja tam v imeniku /etc/riak (ali /opt/riak/etc/ v drugih operacijskih sistemih).

Na začetku vrstica, ki vsebuje naslov IP Riak, kaže na lokalnega gostitelja na tej lokaciji:

RIAK.CONF

 nodename = [email protected]

VM.ARGS

 -name [email protected]

Zamenjajte 127.0.0.1 z želenim naslovom IP ali imenom gostitelja vozlišča Riak.

Nastavitve zmogljivosti in pasovne širine

Zaradi zmogljivosti močno priporočamo dodajanje vrednosti v konfiguracijske datoteke Riak riak.conf ali vm.args, ki se nahajajo v imeniku /etc/riak/ ali /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

Onemogočanje JavaScript MapReduce

Priporočljivo je, da starega JavaScript MapReduce ne uporabljate z nobeno različico Riak CS. Zaradi zmogljivosti onemogočite navidezni stroj, ki izvaja operacije JavaScript MapReduce, tako da v konfiguracijski datoteki riak.conf ali v razdelku riak_kv datoteke advanced.conf ali app.config nastavite:

RIAK.CONF

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

NAPRED.KONFIG

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

APL.KONFIG

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

Nato moramo konfigurirati preostale komponente sistema Riak CS.

Originalni priročnik.

Vir: www.habr.com

Dodaj komentar