Riak Cloud Storage. 1. zatia: Riak KV ezartzea

Riak CS (Hodeiko biltegiratzea) – Objektuen biltegiratzea antolatzeko software erabilerraza, Riak KVren gainean exekutatzen dena. Riak (KV) NoSQL gako-balioen datu-base banatua da. Riak CS sinpletasuna, erabilgarritasuna, edozein eskalatako hodeiko biltegiratzearen banaketa eskaintzeko diseinatuta dago, eta hodeiko arkitekturak eraikitzeko erabil daiteke (publikoak zein pribatuak) edo karga handiko aplikazio eta zerbitzuetarako azpiegitura biltegiratze gisa. Riak CS API Amazon S3-rekin bateragarria da eta hainbat egoerari buruzko txostenak jasotzeko gaitasuna onartzen du.

Riak Cloud Storage. 1. zatia: Riak KV ezartzea
Artikulu hau Riak CS sistemaren 2.1.1 bertsioaren eskuliburu ofizialaren doako itzulpena da

Riak CS biltegiratze-sisteman, hiru osagaiek elkarrekin lan egiten dute, hau da, osagai bakoitza beste osagaiekin lan egiteko konfiguratu behar da:

  • Riak (KV) – amaierako sistema gisa jokatzen duen datu-base sistema.
  • Riak CS - Hodeiko biltegiratze-geruza bat Riak-en gainean, biltegiratze eta API gaitasunak eskaintzen dituena, fitxategiak eta metadatuak Riak-en gordetzen dituena eta, ondoren, azken erabiltzaileei banatzen dizkiena.
  • Stantxoa - Mundu mailan entitate esklusiboak dituzten kontsultak kudeatzen ditu, esate baterako, kuboak eta erabiltzaileak Riak instantzian. Adibidez, erabiltzaileak sortzea, kuboak sortzea edo ezabatzea.

Gainera, S3 bezeroa Riak CS sistemarekin mezularitzan erabiltzeko ere konfigura dezakezu.

Zure sistemako Riak CS nodo bakoitzeko Riak nodo bat izatea aurreikusi beharko zenuke. Riak eta Riak CS nodoak makina fisiko ezberdinetan exekutatu daitezke, baina kasu gehienetan hobe da Riak nodo bat eta Riak CS nodo bat makina fisiko berean exekutatu. Makina fisiko batek Riak eta Riak CS nodoen beharrak asetzeko nahikoa potentzia duela suposatuz, orokorrean errendimendu hobea ikusiko duzu sarearen latentzia murriztua dela eta.

Zure sistema hainbat nodoz osatuta badago, konfigurazioa osagaien arteko komunikazioa konfiguratzea da nagusiki. Beste ezarpen batzuek, esate baterako, erregistro-fitxategiak non gordeko diren, balio lehenetsiak dituzte eta estandarrak ez diren balioak erabili nahi badituzu bakarrik aldatu behar dira.

Sistemaren osagaiak konfiguratzea. CSrako Riak KV konfiguratzea

Riak CS Riak-en gainean eraikitako aplikazioa denez, oso garrantzitsua da zure Riak konfigurazioari arreta jartzea Riak CS exekutatzen duzunean. Dokumentu hau Riak-en konfigurazio-gida eta konfigurazio-parametro garrantzitsuak deskribatzen dituen erreferentzia-dokumentua da.

Konfiguratu aurretik, ziurtatu Riak KV eta Riak CS zure klusterreko nodo guztietan instalatuta daudela. Stanchion, berriz, kluster osoko nodo batean bakarrik instalatu behar da.

Riak Cloud Storage. 1. zatia: Riak KV ezartzea

Riak CSrako backendak

Riak-ek erabiltzen duen backend lehenetsia Bitcask da, baina Riak CS paketeak Riak CS sistemaren parte den Riak klusterrak erabili behar duen backend berezi bat dauka. Bertsio arruntak Riak-ekin datorren Multi backend estandarra du.

Riak CS barruan erabiltzen diren Riak ontzi berdinek bigarren mailako indizeak erabiltzen dituzte, eta orain LevelDB backend bat behar dute. Riak CS sistemaren beste zati batzuk Bticask backend-a erabiltzean onuragarriak izan daitezke. Multi backend lagin baten erabilera Riak CS-n sartzen da bi backend horiek aprobetxatzeko errendimenduaren eta funtzionalitatearen konbinazio onena lortzeko. Hurrengo atalean, Riak-ek behar bezala konfiguratu deskribatzen du Multi-backend hau erabiltzeko.

Backend-a da Riak datuak gordetzeko erabiliko duena. Riak KV-k hainbat backend ditu bere armategian: Bitcask, LevelDB, Memory eta Multi.

Gainera, biltegiratze-kalkulu-sistemak Riak MapReduse erabiltzen du fitxategiak kuboetan batzeko. Horrek esan nahi du Riak nodo guztiei non bilatu behar diren prestaturiko Riak CS fitxategiak biltegiratzea konputatu aurretik.

Beste hainbat parametro aldatu behar dira Riak nodoa Riak CS sistemaren parte gisa konfiguratzeko, hala nola IP helbidea eta IP helbidea eta ataka Protokolo Bufferen bidez mezularitzarako. Beharrezkoa izanez gero, beste ezarpen batzuk alda daitezke. Hurrengo ataletan Riak nodo bat Riak CS sistemaren parte gisa funtzionatzeko nola konfiguratu deskribatzen da.

Riak backend-a konfiguratzen

Lehenik eta behin, riak.conf edo advanced.config/app.config konfigurazio fitxategiak editatzen dira. Fitxategi hauek /etc/riak edo /opt/riak/etc direktorioetan egon daitezke. Berez, Riak-ek Bitcask backend-a erabiltzen du. Egin behar dugun lehenengo gauza konfigurazio fitxategia aldatzea da lerro hau kenduz:

RAK.CONF

## Delete this line:
storage_backend = bitcask

AURRERATUA.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},
]}

Ondoren, RiakCS moduluen beharra frogatu behar dugu Riak-erako eta Riak-i Riak CS eskaintzen duen konfiguratutako backend-a erabiltzeko agindu. Advanced.config edo app.config fitxategia erabili behar dugu horretarako eta aukera hauek gehitu:

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

Oso garrantzitsua da kontuan izan balio horietako asko zure sistema eragilearen direktorioa aldaketen araberakoak izango direla, beraz, jarraitu argibideak. Adibidez, add_paths aukerak Riak CS /usr/lib/riak-cs-en instalatuta dagoela suposatzen du, data_root aukerak, berriz, Riak /var/lib-en instalatuta dagoela. (Oharra: nire kasuan add_paths - /usr/lib64/riak-cs/ izan zen).

Konfigurazio honek Riak CS Riak-en makina berean instalatuta dagoela suposatzen du. Hala ez bada, paketea beste ostalari batera kopiatu behar da.

Anai-arreben sorkuntza konfiguratzea

Orain, allow_mult parametroa true ezarri behar dugu. Lerro bat gehi dezakegu riak.conf konfigurazio fitxategian, edo riak_core atal bat advanced.config edo app.config-en.

RAK.CONF

buckets.default.allow_mult = true

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

Horri esker, Riak-ek Riak CS-k funtziona dezan beharrezkoak diren anai-arrebak sortuko ditu. Bezero liburutegia erabiliz Riak CSra konektatzen bazara, ez kezkatu: ez dituzu gatazkak konpondu beharko, Riak CSko eragiketa guztiak guztiz koherenteak baitira definitu bezala.

Anai-arreba Hainbat objektu gako batean gordetzeko modu bat da, objektuak nodo ezberdinetan balio desberdinak izan ditzan.

Oharra: allow_mult
Riak CS ere onartzen duen edozein Riak nodok allow_mult ezarriko du uneoro true. Riak CS-k abiaraztea berrezarriko du balioa faltsua bada.

Ostalariaren izena eta IP helbidea ezartzea

Riak nodo bakoitzak izen bat du, riak.conf-eko nodename aukeran zehaztu daitekeena. app.config konfigurazio-fitxategia erabiltzen ari bazara, vm.args izeneko fitxategi bat sortu behar duzu app.config-en direktorio berean eta zehaztu ostalariaren izena -name bandera erabiliz. Nodoen izenak @ formatuan zehaztea gomendatzen dugu. Beraz, 100.0.0.1 ostalari batean exekutatzen diren hiru nodo badituzu, deitu dezakezu [posta elektroniko bidez babestua], [posta elektroniko bidez babestua]Eta [posta elektroniko bidez babestua] edo izen zehatzagoak eman ditzakezu, adibidez [posta elektroniko bidez babestua], [posta elektroniko bidez babestua] eta abar. Beheko adibidean ostalari-izena honela aldatzen da [posta elektroniko bidez babestua], localhost-en exekutatuko dena.

RAK.CONF

 nodename = [email protected] 

VM.ARGS

 -name [email protected]

Nodo guztiei izena eman behar diezu haiek abiarazi eta klusterra sartu aurretik.

Konfigurazio proba

Orain beharrezko nodoen ezarpen guztiak osatuta, Riak abiarazten saia gaitezke:

SHELL

 riak start 

Ohar Nire kasuan erantzuna:

Riak Cloud Storage. 1. zatia: Riak KV ezartzea

Hemen pixka bat itxaron behar duzu. Ondoren, martxan dagoen nodoa probatzen has zaitezke.

SHELL

 riak ping

Erantzuna pong bada, Riak exekutatzen ari da; erantzuna Node-k ping-ei erantzuten ez badie bada, zerbait gaizki joan da.

Ohar Nire kasuan erantzuna:

Riak Cloud Storage. 1. zatia: Riak KV ezartzea

Nodoa behar bezala abiarazi ez bada, begiratu nodoaren /log direktorioko erlang.log.1 erregistroari arazoa identifikatu bada. Akats ohikoenetako bat invalid_storage_backend da. Horrek adierazten du advanced.config edo app.config-en Riak CS liburutegirako bidea okerra dela (edo Riak CS ez dagoela zerbitzarian instalatuta). Errore hau izan arren, ziurtatu riak_cs_kv_multi_backend-tik riak_kv_multi_backend-era aldatu ez zarela.

Riak protokolo-buffer-ak erabiltzeko konfiguratzea

Riak protokoloaren bufferaren ezarpenak riak.conf edo riak_api atalean daude advanced.config edo app.config fitxategietan, zeinak /etc/riak/ direktorioan dauden. Lehenespenez, ostalariak 127.0.0.1 IP helbidea eta 8087 ataka ditu. Hauek aldatu beharko dituzu Riak eta Riak CS ingurune ez-toki batean exekutatzeko asmoa baduzu. Ordeztu 127.0.0.1 Riak ostalariaren IP helbidearekin eta 8087 ataka egoki batekin.

RAK.CONF

 listener.protobuf.internal = 10.0.2.10:10001

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

Oharra:riak.conf fitxategiko listener.protobuf.internal parametroaren balioak (edo advanced.conf/app.config) fitxategiko riak_host-en balioekin bat egin behar du Riak CS riak-cs.config eta Stanchion stanchion.conf (edo riak_host hurrenez hurren .config/app.config) fitxategi aurreratuetan.

Portuaren zenbakiari buruzko ohar bat
Baliteke beste ataka-zenbaki bat behar izatea portuak beste aplikazio batek erabiltzen dituen atakekin gatazkan badago edo karga-orekatzailea edo proxy zerbitzaria erabiltzen ari bazara.

Era berean, erabiltzaileek Riak protobuf.backlog tamaina (edo advanced.config/app.config fitxategietan pb_backlog da) Riak CS-rako zehaztutako pool.request.size riak-cs-n zehaztutako pool.request.size-aren berdina edo handiagoa dela ziurtatzea gomendatzen da. config (edo request_pool_size advanced.config/ app.conf fitxategietan).

Pool.request.size-ren balioa Riak CSn aldatu bada, protobuf.backlog-en balioa ere eguneratu behar da Riak-en.

Beste Riak ezarpenak

riak.conf eta advanced.config fitxategiek erregistro-fitxategiak sortzea eta non gordetzen diren konfiguratzen duten beste ezarpen batzuk dituzte. Ezarpen hauek balio lehenetsiak dituzte eta kasu gehienetan funtzionatu beharko lukete. Informazio gehiago lortzeko, konfigurazio-fitxategiei buruzko gure dokumentazioa irakurtzea gomendatzen dugu.

Riak-en IP helbide bat konfiguratzea

Riak-en IP helbide bat konfiguratzean, ziurtatu behar duzu Riak-eko nodoek IP helbide bakarra dutela, nodo bakarrarekin lan egiten ari zaren edo sisteman nodo gehiago gehitzen ari zaren ala ez. Riak IP helbidea riak.conf edo -app.config fitxategia erabiltzen ari bazara - vm.args konfigurazio fitxategian dago, bertan dagoen /etc/riak direktorioan (edo /opt/riak/etc/). beste sistema eragile batzuetan).

Hasieran, Riak IP helbidea duen lerroak tokiko ostalari lokalera seinalatzen du:

RAK.CONF

 nodename = [email protected]

VM.ARGS

 -name [email protected]

Ordeztu 127.0.0.1 zure gogoko IP helbidea edo Riak nodoaren ostalari-izenarekin.

Errendimendua eta banda zabalera ezarpenak

Errendimendu arrazoiengatik, gomendatzen dugu /etc/riak/ edo /opt/riak/etc direktorioetan dauden Riak konfigurazio fitxategietan balioak gehitzea riak.conf edo vm.args.

RAK.CONF

 erlang.max_ports = 65536

VM.ARGS

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

JavaScript MapReduce desgaitu

Gomendagarria da JavaScript MapReduce zaharra ez erabiltzea Riak CS-ren edozein bertsiorekin. Errendimendu arrazoiengatik, JavaScript MapReduce eragiketak egiten dituen makina birtuala desgaitu beharko zenuke riak.conf konfigurazio-fitxategian edo advanced.conf edo app.config-en riak_kv atalean ezarriz:

RAK.CONF

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

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

Ondoren, Riak CS sistemaren gainerako osagaiak konfiguratu behar ditugu.

Jatorrizko eskuliburua.

Iturria: www.habr.com

Gehitu iruzkin berria