Kaydinta Riak Cloud. Qaybta 1. Dejinta Riak KV

Riak CS (Kaydinta daruuraha) waa software kaydinta shayga si fudud loo isticmaali karo oo ku shaqeeya korka Riak KV. Riak (KV) waa kaydka xogta muhiimka ah ee NoSQL. Riak CS waxaa loogu talagalay inay bixiso fududaynta, helitaanka, qaybinta kaydinta daruuraha ee miisaan kasta, waxaana loo isticmaali karaa in lagu dhiso naqshadaha daruuraha - labadaba mid guud iyo mid gaar ah - ama kaydinta kaabayaasha ee codsiyada iyo adeegyada aadka loo raray. Riak CS API waxay la jaan qaadaysaa Amazon S3 waxayna taageertaa awoodda helitaanka warbixinnada xaaladaha kala duwan.

Kaydinta Riak Cloud. Qaybta 1. Dejinta Riak KV
Maqaalkani waa tarjumaad bilaash ah oo ah buug-gacmeedka rasmiga ah ee Riak CS nooca 2.1.1

Nidaamka kaydinta Riak CS, saddex qaybood ayaa wada shaqeeya, taas oo macnaheedu yahay in qayb kasta loo habeeyo si ay ula shaqeyso qaybaha kale:

  • Riak (K.V.) - nidaamka keydka macluumaadka oo u shaqeeya sida nidaamka dhammaadka.
  • Riak CS waa lakabka kaydinta daruuraha ee sare ee Riak kaas oo bixiya kaydinta iyo awooda API, ku kaydisa faylasha iyo xogta badan ee Riak, ka dibna u gudbiya isticmaalayaasha dhamaadka.
  • Stanchion - waxay maamushaa weydiimaha ku lug leh hay'adaha caalamiga ah sida baaldiyada iyo isticmaalayaasha tusaale Riak. Tusaale ahaan, abuurista isticmaalayaasha, abuurista ama tirtirida baaldiyada.

Intaa waxaa dheer, waxaad sidoo kale samayn kartaa macmiilka S3 si loogu isticmaalo fariimaha nidaamka Riak CS.

Waa inaad qorshaysaa inaad yeelato hal Riak node kasta Riak CS node ee nidaamkaaga. Riak iyo Riak CS nodes waxaa lagu ordi karaa mashiino kala duwan, laakiin inta badan waxaa la doorbidaa in lagu socodsiiyo hal Riak node iyo hal Riak CS node isla mashiinka jirka. Iyadoo loo maleynayo in hal mashiin uu leeyahay awood ku filan oo uu ku daboolo baahiyaha Riak iyo Riak CS nodes, waxaad guud ahaan arki doontaa waxqabad wanaagsan sababtoo ah daahitaanka shabakada oo yaraaday.

Haddii nidaamkaagu ka kooban yahay dhowr nood, qaabayntu waa marka ugu horraysa ee isgaadhsiinta u dhaxaysa qaybaha. Goobaha kale, sida halka iyo sida loo kaydin doono faylalka log, waxay leeyihiin qiimayaal aan caadi ahayn oo kaliya oo u baahan in la beddelo haddii aad rabto inaad isticmaasho qiyamka aan caadiga ahayn.

Dejinta qaybaha nidaamka. Diyaarinta Riak KV ee CS

Maadaama Riak CS uu yahay codsi ka dul dhisan Riak, aad bay muhiim u tahay inaad fiiro gaar ah u yeelato qaabayntaada Riak markaad bilaabayso Riak CS. Dukumeentigani waa labadaba hagaha qaabaynta Riak iyo dukumeenti tixraac ah oo lagu qeexayo cabbirada qaabeynta muhiimka ah.

Kahor intaadan dejin, hubi in Riak KV iyo Riak CS ay ku rakiban yihiin nood kasta oo ka mid ah kooxdaada. Stanchion, si ka duwan, waa in lagu rakibaa hal nood oo ka mid ah kooxda oo dhan.

Kaydinta Riak Cloud. Qaybta 1. Dejinta Riak KV

Taageerada Riak CS

Dhabarka dambe ee uu isticmaalo Riak waa Bitcask, laakiin xirmada Riak CS waxaa ku jira gadaal gaar ah oo ay tahay in ay isticmaasho kooxda Riak ee qayb ka ah nidaamka Riak CS. Nooca caadiga ah wuxuu leeyahay dhabarka dambe ee caadiga ah ee la socda Riak.

Isla baaldiyada Riak ee gudaha ay isticmaalaan Riak's CS waxay isticmaalaan tusmooyinka sare ee hadda u baahan LevelDB dhabarka. Qaybaha kale ee nidaamka Riak CS waxay ka faa'iideysan karaan isticmaalka dhabarka dambe ee Bticask. Isticmaalka dhabarka dambe ee badan oo tusaale ah ayaa lagu daray Riak CS si ay uga faa'iidaystaan ​​​​labadaba dhabarka dambe si loo gaaro isku dhafka ugu fiican ee waxqabadka iyo shaqeynta. Qaybta soo socotaa waxay sharraxaysaa sida saxda ah ee loo habeeyo Riak si loo isticmaalo dhabarka-badan.

Dhabarka dambe waa waxa Riak isticmaali doono si uu u kaydiyo xogta. Riak KV waxa ay ku leedahay arsenal dhowr gadaal oo kala ah: Bitcask, LevelDB, Memory iyo Multi.

Intaa waxaa dheer, nidaamka xisaabinta kaydinta wuxuu isticmaalaa Riak MapReduse si uu u soo koobo faylasha baaldiyada. Tani waxay ka dhigan tahay waa inaad u sheegtaa dhammaan qanjidhada Riak halka laga raadinayo faylasha Riak CS ee la diyaariyey ka hor inta aanad xisaabin kaydinta.

Dhowr cabbir oo kale waa in la beddelo si loo habeeyo Riak node oo qayb ka ah nidaamka Riak CS, sida ciwaanka IP-ga iyo ciwaanka IP-ga iyo dekedda fariimaha la isku diro iyada oo loo marayo Protocol Buffers. Goobaha kale waa la bedeli karaa haddii loo baahdo. Qaybaha soo socdaa waxay sharxayaan sida loo sameeyo node Riak si uu ugu shaqeeyo qayb ka mid ah nidaamka Riak CS.

Riak backend dejinta

Marka hore, riak.conf ama Advanced.config/app.config faylasha qaabeynta waa la tafatiray. Faylashani waxay ku yaalaan /etc/riak ama /opt/riak/etc directories. Sida caadiga ah, Riak waxay isticmaashaa dhabarka dambe ee Bitcask. Waxa ugu horreeya ee aan u baahanahay inaan sameyno waa inaan bedelno faylka qaabeynta anagoo ka saarnay khadka soo socda:

RIAK.CONF

## Delete this line:
storage_backend = bitcask

HOREY.QSIR

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

APP.CONFIG

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

Marka xigta, waxaan u baahanahay inaan muujino baahida loo qabo cutubyada RiakCS ee Riak oo aan u sheegno Riak inay adeegsato dib-u-habaynta bixinta Riak CS. Waxaan u baahanahay inaan u isticmaalno Advanced.config ama app.config faylka tan oo aan ku darno xulashooyinka soo socda:

HOREY.QSIR

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

Aad bay muhiim u tahay in la ogaado in qaar badan oo ka mid ah qiyamkan ay ku xirnaan doonaan kala duwanaanta hagayaasha gaarka ah ee nidaamkaaga hawlgalka, markaa raac tilmaamaha si habboon. Tusaale ahaan, ikhtiyaarka add_paths waxay u maleynayaan in Riak CS lagu rakibay /usr/lib/riak-cs, halka xogta_root xulashooyinka ay u malaynayaan in Riak lagu rakibay /var/lib. (Fiiro gaar ah xaaladdeyda waxay ahayd add_paths - /usr/lib64/riak-cs/).

Qaabayntani waxay u malaynaysaa in Riak CS lagu rakibay isla mishiinka Riak. Haddaysan ahayn, markaas xirmada waxay u baahan tahay in lagu koobiyeeyo martigeliyaha goonida ah.

Dejinta abuurista walaalaha

Hadda, waxaan u baahanahay inaan dhigno allow_mult cabbirka runta. Waxaan ku dari karnaa xariiq faylka qaabeynta riak.conf, ama qaybta riak_core ee Advanced.config ama app.config.

RIAK.CONF

buckets.default.allow_mult = true

HOREY.QSIR

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

Tani waxay u oggolaan doontaa Riak inuu abuuro walaalo lagama maarmaan u ah Riak CS inuu shaqeeyo. Haddii aad ku xidhayso Riak CS adoo isticmaalaya maktabadda macmiilka, ha werwerin: uma baahnid inaad xalliso isku dhacyada, maadaama dhammaan hawlgallada Riak CS ay si adag u waafaqsan yihiin qeexitaankooda.

walaal waa hab lagu kaydiyo walxo badan oo isku mid ah si ay shaygu u yeesho qiimeyo kala duwan oo ku saabsan qanjidhada kala duwan.

Xusuusin: allow_mult
Node kasta oo Riak ah oo waliba taageera Riak CS wuxuu yeelan doonaa allow_mult mid run ah mar walba. Riak CS wuxuu dib u dajin doonaa bilowga haddii qiimuhu been yahay.

Dejinta magaca martida loo yahay iyo cinwaanka IP

Node kasta oo Riak ah wuxuu leeyahay magac, kaas oo lagu qeexi karo ikhtiyaarka nodename ee riak.conf. Haddii aad isticmaalayso app.config faylka, waxaad u baahan tahay inaad abuurto fayl la yiraahdo vm.args isla tusaha app.config oo aad sheeg magaca martida loo yahay adoo isticmaalaya calanka -name. Waxaan kugula talineynaa magacaabista martigeliyaha iyadoo la adeegsanayo qaabka @. Markaa haddii aad leedahay saddex nood oo ku socda isla martigeliyaha 100.0.0.1, waad magacaabi kartaa iyaga [emailka waa la ilaaliyay], [emailka waa la ilaaliyay]iyo [emailka waa la ilaaliyay] ama waxaad bixin kartaa magacyo gaar ah sida [emailka waa la ilaaliyay], [emailka waa la ilaaliyay] iyo wixi la mida. Tusaalaha hoose wuxuu muujinayaa beddelka magaca noode ee magaca [emailka waa la ilaaliyay], kaas oo ku shaqayn doona localhost.

RIAK.CONF

 nodename = [email protected] 

VM.ARGS

 -name [email protected]

Waa in aad magacowdaa dhammaan noodaha ka hor inta aanad bilaabin oo aad ku darto kooxda.

Tijaabada hagaajinta

Hadda oo dhammaan qaabaynta noodhka lagama maarmaanka ah la dhammaystiray, waxaan isku dayi karnaa inaan bilowno Riak:

SHEEKH

 riak start 

Ogow. Ka jawaab kiiskeyga:

Kaydinta Riak Cloud. Qaybta 1. Dejinta Riak KV

Halkan waa inaad wax yar sugtaa. Markaa waxaad bilaabi kartaa tijaabinta noodhka socda.

SHEEKH

 riak ping

Haddii jawaabtu tahay pong, markaas Riak wuu socdaa; haddii jawaabtu tahay Node oo aan ka jawaabin pings, markaa wax khaldameen.

Ogow. Ka jawaab kiiskeyga:

Kaydinta Riak Cloud. Qaybta 1. Dejinta Riak KV

Haddii uu sandurku si sax ah u bilaabin, eeg erlang.log.1 gal galka node's /log directory haddii dhibaatada la aqoonsan karo. Mid ka mid ah khaladaadka ugu caansan waa invalid_storage_backend. Taas oo tilmaamaysa in waddada loo maro maktabadda Riak CS ee horumarsan.config ama app.config ay khaldan tahay (ama Riak CS laguma rakibin server-ka). Iyadoo ay jirto khaladkan, hubi inaadan ka beddelin riak_cs_kv_multi_backend una beddelo riak_kv_multi_backend.

Habaynta Riak si loo isticmaalo hab-dhisyada borotokoolka

Hababka kaydinta borotokoolka Riak waxa laga helaa riak.conf ama qaybta riak_api ee Advanced.config ama faylalka app.config ee ku yaala /etc/riak/ directory. Sida caadiga ah, martigaliyuhu wuxuu leeyahay ciwaanka IP-ga ee 127.0.0.1 iyo deked 8087. Waxaad u baahan tahay inaad bedesho kuwan haddii aad qorsheyneyso inaad ku maamusho Riak iyo Riak CS meel ka baxsan deegaanka deegaanka. Ku beddel 127.0.0.1 cinwaanka IP-ga ee Riak node iyo dekedda 8087 oo leh midka saxda ah.

RIAK.CONF

 listener.protobuf.internal = 10.0.2.10:10001

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

Fiiro gaar ah:Qiimaha dhegeystaha.protobuf.internal parameter gudaha riak.conf (ama qiimaha pb parameter inAdvanced.conf/app.config) faylka waa inuu u dhigmaa qiyamka riak_host gudaha Riak CS riak-cs.config iyo Stanchion stanchion.conf (ama riak_host siday u kala horreeyaan .config/app.config) faylasha horumarsan.

Qoraal ku saabsan lambarka dekedda
Waxaa laga yaabaa inaad u baahato nambar ka duwan kan dekedu haddii dekeddu ay khilaafto dekedaha uu isticmaalo codsi kale, ama haddii aad isticmaalayso xisaabiye culays ama wakiil wakiil.

Waxa kale oo lagula talinayaa dadka isticmaala inay hubiyaan in cabbirka Riak protobuf.backlog (ama pb_backlog ee Advanced.config/app.config files) ay la mid tahay ama ka weyn tahay pool.request.size ee lagu qeexay Riak CS ee riak-cs. config (ama request_pool_size gudaha Advanced.config/app.conf files).

Haddii qiimaha pool.request.size lagu beddelay Riak CS, markaa qiimaha protobuf.backlog waa in sidoo kale lagu cusboonaysiiyaa Riak.

Goobaha kale ee Riak

Faylasha riak.conf iyo Advanced.config waxaa ku jira jaangooyo kale oo xakameynaya sida loo soo saaro galalka log-ga iyo sida loo keydiyo. Goobahani waxay leeyihiin qiyamka caadiga ah waana inay shaqeeyaan inta badan kiisaska. Macluumaad dheeri ah, waxaan kugula talineynaa inaad akhrido dukumeentiyadayada faylasha qaabeynta.

Dejinta ciwaanka IP-ga ee Riak

Markaad dejinayso ciwaanka IP ee Riak, waxaad u baahan tahay inaad hubiso in qanjidhada Riak ay leeyihiin ciwaanka IP-ga gaarka ah, haddii aad ku socoto hal nood ama aad ku darto noono badan nidaamka. Ciwaanka IP-ga Riak wuxuu ku jiraa riak.conf ama - haddii aad isticmaalayso faylka app.config - ee faylka qaabeynta vm.args, kaas oo sidoo kale ku yaal /etc/riak directory (ama /opt/riak/etc/) nidaamyada kale ee hawlgalka).).

Markii hore, xadhiga ka kooban ciwaanka IP-ga ee Riak wuxuu tilmaamayaa martida deegaanka ee goobtan:

RIAK.CONF

 nodename = [email protected]

VM.ARGS

 -name [email protected]

Ku beddel 127.0.0.1 cinwaanka IP-ga aad door bidayso ama magaca martida loo yahay ee Riak node.

Habaynta waxqabadka iyo bandwidth

Sababaha waxqabadka awgood, waxaanu si adag ugu talinaynaa in lagu daro qiyamka faylalka qaabaynta Riak riak.conf ama vm.args ee ku yaala /etc/riak/ ama /opt/riak/etc directory.

RIAK.CONF

 erlang.max_ports = 65536

VM.ARGS

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

Deminta Khariidadda JavaScript

Waxaa lagu talinayaa in aan la isticmaalin JavaScript MapReduce ee dhaxalka leh iyada oo lala kaashanayo nooc kasta oo Riak CS ah. Sababaha wax qabadka awgeed, waa inaad joojisaa mishiinka farsamada ee qabta JavaScript MapReduce function adiga oo dejinaya faylka qaabaynta riak.conf, ama qaybta riak_kvAdvanced.conf ama app.config:

RIAK.CONF

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

HOREY.QSIR

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

Marka xigta, waxaan u baahanahay inaan habeyno qaybaha haray ee nidaamka Riak CS.

Tilmaamaha asalka ah.

Source: www.habr.com

Add a comment