Stóráil Scamall Riak. Cuid 1: Riak KV a chur ar bun

Riak CS (Stóráil Néal) – bogearraí atá éasca le húsáid chun stóráil réad a eagrú, a ritheann ar bharr Riak KV. Is bunachar sonraí dáilte eochairluacha NoSQL é Riak (KV). Tá Riak CS deartha chun simplíocht, infhaighteacht, dáileadh stórála scamall ar aon scála a sholáthar, agus is féidir é a úsáid chun ailtireachtaí scamall a thógáil - poiblí agus príobháideach araon - nó mar stóráil bonneagair le haghaidh feidhmchláir agus seirbhísí an-ualach. Tá Riak CS API comhoiriúnach le Amazon S3 agus tacaíonn sé leis an gcumas tuairiscí a fháil ar chásanna éagsúla.

Stóráil Scamall Riak. Cuid 1: Riak KV a chur ar bun
Is aistriúchán saor in aisce é an t-alt seo ar an lámhleabhar oifigiúil don chóras Riak CS leagan 2.1.1

I gcóras stórála Riak CS, oibríonn trí chomhpháirt i gcomhar lena chéile, rud a chiallaíonn go gcaithfear gach comhpháirt a chumrú chun oibriú leis na comhpháirteanna eile:

  • Riak (KV) – córas bunachair sonraí a fheidhmíonn mar chóras deiridh.
  • Riak CS - Ciseal stórála scamall ar bharr Riak a sholáthraíonn cumais stórála agus API, stórálann comhaid agus meiteashonraí i Riak, agus ansin iad a dháileadh ar úsáideoirí deiridh.
  • Stanchion - Bainistíonn sé fiosrúcháin a bhaineann le haonáin uathúla ar fud an domhain amhail buicéid agus úsáideoirí i gcás Riak. Mar shampla, úsáideoirí a chruthú, buicéid a chruthú nó a scriosadh.

Ina theannta sin, is féidir leat an cliant S3 a chumrú freisin le húsáid i dteachtaireachtaí le córas Riak CS.

Ba cheart go mbeadh sé beartaithe agat nód Riak amháin a bheith agat do gach nód Riak CS ar do chóras. Is féidir nóid Riak agus Riak CS a reáchtáil ar mheaisíní fisiceacha éagsúla, ach i bhformhór na gcásanna is fearr nód Riak amháin agus nód Riak CS amháin a reáchtáil ar an meaisín fisiceach céanna. Ag glacadh leis go bhfuil go leor cumhachta ag meaisín fisiceach amháin chun riachtanais an dá nóid Riak agus Riak CS a shásamh, feicfidh tú go ginearálta feidhmíocht níos fearr mar gheall ar latency líonra laghdaithe.

Má tá roinnt nóid i do chóras, baineann cumraíocht go príomha le cumarsáid a bhunú idir comhpháirteanna. Tá luachanna réamhshocraithe ag socruithe eile, mar shampla an áit a stórálfar na comhaid logála, agus ní gá iad a athrú ach amháin más mian leat luachanna neamhchaighdeánacha a úsáid.

Comhpháirteanna córais a shocrú. Riak KV a shocrú le haghaidh CS

Ós rud é gur feidhmchlár é Riak CS a tógadh ar bharr Riak, tá sé an-tábhachtach aird a thabhairt ar do chumraíocht Riak agus tú ag rith Riak CS. Is treoir chumraíochta Riak agus doiciméad tagartha é an doiciméad seo a chuireann síos ar pharaiméadair chumraíochta tábhachtacha.

Sula socrú, déan cinnte go bhfuil Riak KV agus Riak CS suiteáilte ar gach nód i do bhraisle. Níor chóir Stanchion, ar an láimh eile, a shuiteáil ach ar nód amháin sa bhraisle iomlán.

Stóráil Scamall Riak. Cuid 1: Riak KV a chur ar bun

Inneall do Riak CS

Is é Bitcask an t-inneall réamhshocraithe a úsáideann Riak, ach cuimsíonn pacáiste Riak CS inneall speisialta a chaithfidh braisle Riak atá mar chuid de chóras Riak CS a úsáid. Tá an t-inneall caighdeánach Il ag an leagan rialta a thagann le Riak.

Úsáideann na buicéid Riak céanna a úsáidtear taobh istigh de Riak CS innéacsanna tánaisteacha, a dteastaíonn inneall LevelDB orthu anois. Is féidir le codanna eile de chóras Riak CS leas a bhaint as inneall Bticask a úsáid. Tá úsáid Il-innill samplach san áireamh i Riak CS chun leas a bhaint as an dá inneall seo chun an meascán feidhmíochta agus feidhmiúlachta is fearr a bhaint amach. Déanann an chéad chuid eile cur síos ar conas Riak a chumrú i gceart chun an Il-innill seo a úsáid.

Inneall Is é an rud a úsáidfidh Riak chun sonraí a shábháil. Tá roinnt aiséirí ag Riak KV ina Arsenal: Bitcask, LevelDB, Memory agus Multi.

Ina theannta sin, úsáideann an córas ríofa stórála Riak MapReduse chun comhaid a chomhiomlánú ina mbuicéid. Ciallaíonn sé seo go gcaithfidh tú a insint do gach nóid Riak cá háit le comhaid Riak CS ullmhaithe a chuardach roimh stóráil ríomhaireachta.

Ní mór roinnt paraiméadair eile a athrú chun an nód Riak a chumrú mar chuid de chóras Riak CS, mar sheoladh IP agus seoladh IP agus port le haghaidh teachtaireachtaí trí Mhaoláin Phrótacail. Is féidir socruithe eile a athrú más gá. Déanann na hailt seo a leanas cur síos ar conas nód Riak a chumrú chun oibriú mar chuid de chóras Riak CS.

Inneall Riak a shocrú

Ar dtús, cuirtear na comhaid cumraíochta riak.conf nó advanced.config/app.config in eagar. Is féidir na comhaid seo a aimsiú in eolairí /etc/riak nó /opt/riak/etc. De réir réamhshocraithe, úsáideann Riak backend Bitcask. Is é an chéad rud is gá dúinn a dhéanamh ná an comhad cumraíochta a athrú tríd an líne seo a leanas a bhaint:

RIAK.CONF

## Delete this line:
storage_backend = bitcask

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

Ansin, ní mór dúinn a léiriú go bhfuil gá le modúil RiakCS do Riak agus treoir a thabhairt do Riak úsáid a bhaint as an inneall cumraithe a sholáthraíonn Riak CS. Ní mór dúinn an comhad advanced.config nó app.config a úsáid chuige seo agus na roghanna seo a leanas a chur leis:

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

Tá sé an-tábhachtach a thabhairt faoi deara go mbeidh go leor de na luachanna seo ag brath ar éagsúlachtaí eolaire a bhaineann go sonrach le do chóras oibriúcháin, mar sin lean na treoracha dá réir. Mar shampla, glacann an rogha add_paths leis go bhfuil Riak CS suiteáilte in /usr/lib/riak-cs, agus glacann na roghanna data_root leis go bhfuil Riak suiteáilte in /var/lib. (Nóta: I mo chás bhí sé add_paths - /usr/lib64/riak-cs/).

Glacann an chumraíocht seo leis go bhfuil Riak CS suiteáilte ar an meaisín céanna le Riak. Mura bhfuil, is gá an pacáiste a chóipeáil chuig óstach ar leith.

Cruthú siblíní a shocrú

Anois, ní mór dúinn an paraiméadar allow_mult a shocrú go fíor. Is féidir linn líne a chur sa chomhad cumraíochta riak.conf, nó alt riak_core in advanced.config nó app.config.

RIAK.CONF

buckets.default.allow_mult = true

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

Tabharfaidh sé seo deis do Riak siblíní a chruthú atá riachtanach chun go bhfeidhmeoidh Riak CS. Má nascann tú le Riak CS ag baint úsáide as an leabharlann cliant, ná bíodh imní ort: ní bheidh ort coinbhleachtaí a réiteach, mar go bhfuil gach oibríocht Riak CS comhsheasmhach go docht mar atá sainmhínithe.

Siblín Is bealach é chun rudaí iolracha a stóráil in aon eochair amháin ionas go mbeidh luachanna difriúla ag an réad ar nóid éagsúla.

Nóta: allow_mult
Aon nód Riak a thacaíonn freisin Riak CS beidh allow_mult socraithe chun fíor i gcónaí. Athshocróidh Riak CS an seoladh má tá an luach bréagach.

Socrú an Óstainm agus Seoladh IP

Tá ainm ag gach nód Riak, is féidir a shonrú sa rogha nódainm i riak.conf. Má tá an comhad cumraíochta app.config á úsáid agat, ní mór duit comhad ar a dtugtar vm.args a chruthú sa chomhadlann céanna le app.config agus sonraigh an t-ainm óstach ag baint úsáide as an -name flag. Molaimid ainmneacha nóid a shonrú san fhormáid @. Agus mar sin má tá trí nóid agat ag rith ar óstach amháin 100.0.0.1, is féidir leat glaoch orthu [ríomhphost faoi chosaint], [ríomhphost faoi chosaint]Agus [ríomhphost faoi chosaint] nó is féidir leat ainmneacha níos sainiúla a thabhairt, mar shampla [ríomhphost faoi chosaint], [ríomhphost faoi chosaint] agus mar sin de. Léiríonn an sampla thíos an t-ainm ósta a athrú go [ríomhphost faoi chosaint], a bheidh ar siúl ar localhost.

RIAK.CONF

 nodename = [email protected] 

VM.ARGS

 -name [email protected]

Caithfidh tú na nóid go léir a ainmniú sula dtosóidh tú orthu agus sula dtéann tú isteach sa bhraisle.

Tástáil socraithe

Anois go bhfuil na socruithe nód riachtanacha go léir críochnaithe, is féidir linn iarracht a dhéanamh Riak a sheoladh:

SHELL

 riak start 

Nóta An freagra i mo chás:

Stóráil Scamall Riak. Cuid 1: Riak KV a chur ar bun

Anseo ní mór duit fanacht beagán. Ansin, is féidir leat tosú ag tástáil an nód reatha.

SHELL

 riak ping

Más freagra pong é, tá Riak ag rith; más é an freagra ná Node ag freagairt pings, chuaigh rud éigin mícheart.

Nóta An freagra i mo chás:

Stóráil Scamall Riak. Cuid 1: Riak KV a chur ar bun

Murar thosaigh an nód i gceart, féach ar an logáil erlang.log.1 in eolaire /log an nód más féidir an fhadhb a aithint. Ceann de na hearráidí is coitianta ná invalid_storage_backend. Rud a thugann le fios go bhfuil an cosán chuig leabharlann Riak CS in advanced.config nó in app.config mícheart (nó nach bhfuil Riak CS suiteáilte ar an bhfreastalaí). In ainneoin na hearráide seo, cinntigh nach bhfuil tú tar éis athrú ó riak_cs_kv_multi_backend go riak_kv_multi_backend.

Riak a chumrú chun maoláin phrótacail a úsáid

Tá socruithe maoláin prótacail Riak suite i riak.conf nó sa rannán riak_api sna comhaid advanced.config nó app.config, atá suite sa eolaire /etc/riak/. De réir réamhshocraithe, tá seoladh IP de 127.0.0.1 agus port 8087 ag an ósta. Beidh ort iad seo a athrú má tá sé beartaithe agat Riak agus Riak CS a reáchtáil i dtimpeallacht neamh-áitiúil. Cuir seoladh IP óstach Riak agus port 127.0.0.1 in ionad 8087 le ceann oiriúnach.

RIAK.CONF

 listener.protobuf.internal = 10.0.2.10:10001

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

Tabhair faoi deara:Ní mór luach an pharaiméadar listener.protobuf.internal sa chomhad riak.conf (nó luach an pharaiméadar pb in advanced.conf/app.config) na luachanna le haghaidh riak_host i Riak CS riak-cs.config agus Stanchion stanchion.conf (nó riak_host faoi seach i gcomhaid .config/app.config) chun cinn.

Nóta faoin uimhir phoirt
D’fhéadfadh go mbeadh uimhir phoirt eile ag teastáil má thagann salachar ar an gcalafort agus na poirt a úsáideann feidhmchlár eile nó má tá tú ag baint úsáide as cothromóir ualaigh nó seachfhreastalaí.

Moltar freisin d’úsáideoirí a chinntiú go bhfuil an méid protobuf.backlog Riak (nó i gcomhaid advanced.config/app.config is é seo pb_backlog) cothrom le nó níos mó ná an pool.request.size sonraithe do Riak CS i riak-cs. config (nó request_pool_size i gcomhaid advanced.config/ app.conf).

Má athraíodh luach pool.request.size i Riak CS, ansin ní mór luach protobuf.backlog a nuashonrú in Riak freisin.

Socruithe Riak eile

Áirítear ar na comhaid riak.conf agus advanced.config socruithe eile a chumraíonn cruthú comhaid logála agus áit a shábháiltear iad. Tá luachanna réamhshocraithe ag na socruithe seo agus ba cheart go n-oibreodh siad i bhformhór na gcásanna. Le haghaidh tuilleadh faisnéise, molaimid ár gcáipéisíocht faoi chomhaid chumraíochta a léamh.

Seoladh IP a shocrú do Riak

Agus seoladh IP á bhunú do Riak, caithfidh tú a bheith cinnte go bhfuil seoladh IP uathúil ag na nóid Riak, cibé an bhfuil tú ag obair le nód amháin nó ag cur níos mó nóid leis an gcóras. Tá an seoladh IP Riak i riak.conf nó - má tá an comhad app.config á úsáid agat - sa chomhad cumraíochta vm.args, atá suite ann san eolaire /etc/riak (nó /opt/riak/etc/ ar chórais oibriúcháin eile).

Ar dtús, díríonn an líne ina bhfuil an seoladh IP Riak chuig an localhost ag an suíomh seo:

RIAK.CONF

 nodename = [email protected]

VM.ARGS

 -name [email protected]

Cuir an seoladh IP is fearr leat nó an t-óstainm don nód Riak in ionad 127.0.0.1.

Socruithe Feidhmíochta agus Bandaleithead

Ar chúiseanna feidhmíochta, molaimid go láidir luachanna a chur leis na comhaid cumraíochta Riak riak.conf nó vm.args, atá suite san eolaire /etc/riak/ or /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

JavaScript MapReduce a dhíchumasú

Moltar gan JavaScript MapReduce oidhreachta a úsáid le haon leagan de Riak CS. Ar chúiseanna feidhmíochta, ba cheart duit an meaisín fíorúil a dhéanann oibríochtaí JavaScript MapReduce a dhíchumasú trí shocrú sa chomhad cumraíochta riak.conf, nó sa chuid riak_kv de advanced.conf nó app.config:

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

Ansin ní mór dúinn na comhpháirteanna atá fágtha den chóras Riak CS a chumrú.

Lámhleabhar bunaidh.

Foinse: will.com

Add a comment