Riak Cloud Storage. Wāhanga 1: Te whakatu Riak KV

Riak CS (Pupuri Kapua) – pūmanawa ngawari ki te whakamahi mo te whakarite rokiroki ahanoa, kei runga ake o Riak KV. Ko Riak (KV) he putunga uara matua NoSQL kua tohatohahia. I hangaia a Riak CS ki te whakarato i te ngawari, te waatea, te tohatoha o te rokiroki kapua o tetahi tauine, ka taea te whakamahi ki te hanga hoahoanga kapua - ma te iwi whanui me te tangata motuhake - hei rokiroki hanganga ranei mo nga tono me nga ratonga tino utaina. Riak CS API he hototahi ki Amazon S3 me te tautoko i te kaha ki te whiwhi purongo mo nga ahuatanga rereke.

Riak Cloud Storage. Wāhanga 1: Te whakatu Riak KV
Ko tenei tuhinga he whakamaori kore utu o te pukapuka whaimana mo te Riak CS system version 2.1.1

I roto i te punaha rokiroki Riak CS, e toru nga waahanga e mahi tahi ana tetahi ki tetahi, ko te tikanga me whirihora ia waahanga kia mahi tahi me era atu waahanga:

  • Riak (KV) – he pūnaha pātengi raraunga e mahi ana hei pūnaha mutunga.
  • Riak CS - He paparanga rokiroki kapua kei runga ake o Riak e whakarato ana i te rokiroki me te kaha o te API, te penapena i nga konae me nga metadata i Riak, ka tohatoha ki nga kaiwhakamahi mutunga.
  • Te kaitao - Whakahaerehia nga patai e pa ana ki nga hinonga ahurei o te ao penei i nga peere me nga kaiwhakamahi i roto i te tauira Riak. Hei tauira, te hanga kaiwhakamahi, te hanga, te whakakore ranei i nga peere.

I tua atu, ka taea hoki e koe te whirihora i te kiritaki S3 mo te whakamahi i roto i nga korero me te punaha Riak CS.

Me whakamahere koe kia kotahi Riak node mo ia Riak CS node i runga i to punaha. Ka taea te whakahaere i nga pona Riak me Riak CS i runga i nga miihini tinana rereke, engari i te nuinga o te waa he pai ake te whakahaere i tetahi riak node me tetahi Riak CS node i runga i te miihini tinana kotahi. Ki te whakaaro he nui te mana o tetahi miihini tinana ki te whakatutuki i nga hiahia o nga pona Riak me Riak CS, ka kite koe i te pai ake o te mahi na te iti o te torohūtanga whatunga.

Mena he maha nga pona o to punaha, ko te whirihoranga ko te whakarite korero i waenga i nga waahanga. Ko etahi atu tautuhinga, penei i te waahi ka penapena nga konae rangitaki, he uara taunoa, me whakarereke mena ka hiahia koe ki te whakamahi i nga uara kore-paerewa.

Te whakarite i nga waahanga punaha. Te whakatu Riak KV mo CS

I te mea ko te Riak CS he tono i hangaia i runga ake o Riak, he mea tino nui ki te aro ki to whirihoranga Riak i te wa e whakahaere ana i a Riak CS. Ko tenei tuhinga he aratohu whirihoranga Riak me tetahi tuhinga tohutoro e whakaatu ana i nga tawhā whirihoranga nui.

I mua i te tatūnga, me whakarite kia whakauruhia a Riak KV me Riak CS ki runga i ia node o to tautau. Ko te Stanchion, i tetahi atu taha, me whakauru noa ki runga i tetahi node o te kohinga katoa.

Riak Cloud Storage. Wāhanga 1: Te whakatu Riak KV

Nga tuara mo Riak CS

Ko te papamuri taunoa e whakamahia ana e Riak ko Bitcask, engari kei roto i te kete Riak CS he tuara motuhake e tika ana kia whakamahia e te roopu Riak he waahanga o te punaha Riak CS. Ko te putanga auau kei te Paerewa Paerewa Paerewa e haere mai ana me Riak.

Ko nga peere Riak ano i whakamahia i roto i te Riak CS e whakamahi ana i nga tohu tuarua, e hiahia ana inaianei ki te tuara LevelDB. Ko etahi atu waahanga o te punaha Riak CS ka whai hua mai i te whakamahi i te Bticask backend. Ko te whakamahi i te tauira Whakamuri maha kei roto i te Riak CS ki te whakamahi i enei waahanga e rua ki te whakatutuki i te huinga pai o te mahi me te mahi. Ko te waahanga e whai ake nei e whakaatu ana me pehea te whirihora tika i a Riak ki te whakamahi i tenei Whakamutunga-maha.

Whakamuri Ko te mea ka whakamahia e Riak hei tiaki raraunga. He maha nga tuara o Riak KV i roto i tana taonga: Bitcask, LevelDB, Mahara me te Maha.

I tua atu, ka whakamahia e te punaha tatauranga rokiroki a Riak MapReduse ki te whakahiato i nga konae ki roto i nga peere. Ko te tikanga me korero koe ki nga kohanga Riak katoa kei hea te rapu i nga konae Riak CS kua rite i mua i te rokiroki rorohiko.

Me whakarereke etahi atu tawhā ki te whirihora i te riak node hei waahanga o te punaha Riak CS, penei i te IP IP me te IP IP me te tauranga mo te tuku karere ma te Kawa Buffers. Ka taea te whakarereke i etahi atu tautuhinga mehemea e tika ana. Ko nga waahanga e whai ake nei e whakaatu ana me pehea te whirihora i te riak node kia mahi hei waahanga o te punaha Riak CS.

Te whakatu Riak backend

Tuatahi, ka whakatikahia nga konae whirihoranga riak.conf or advanced.config/app.config. Ka taea enei konae ki roto i /etc/riak ranei /opt/riak/etc whaiaronga. Ma te taunoa, ka whakamahi a Riak i te Bitcask backend. Ko te mea tuatahi me mahi maatau ko te whakarereke i te konae whirihoranga ma te tango i te rarangi e whai ake nei:

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

I muri mai, me whakaatu e matou te hiahia mo nga waahanga RiakCS mo Riak me te ako ki a Riak ki te whakamahi i te backend kua whirihorahia e whakarato ana i te Riak CS. Me whakamahi tatou i te konae advanced.config, app.config ranei mo tenei me te taapiri i nga whiringa e whai ake nei:

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

He mea nui kia mahara ko te nuinga o enei uara ka whakawhirinaki ki nga rereketanga whaiaronga e pa ana ki to punaha whakahaere, na reira me whai i nga tohutohu. Hei tauira, ko te whiringa add_paths e kii ana kua whakauruhia a Riak CS ki /usr/lib/riak-cs, ko nga whiringa data_root e kii ana kua whakauruhia a Riak ki /var/lib. (Tuhipoka: I taku keehi ko te add_paths - /usr/lib64/riak-cs/).

Ko tenei whirihoranga e kii ana kua whakauruhia a Riak CS ki runga i te miihini rite ki a Riak. Ki te kore, me kape te kete ki tetahi kaihautu motuhake.

Te whakarite i te hanga teina

Inaianei, me tautuhi te tawhā allow_mult ki te pono. Ka taea e tatou te taapiri i tetahi raina ki te konae whirihoranga riak.conf, he waahanga riak_core ranei kei advanced.config, app.config ranei.

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

Ma tenei ka taea e Riak te hanga teina e tika ana mo Riak CS ki te mahi. Mena ka hono koe ki a Riak CS ma te whakamahi i te whare pukapuka kiritaki, kaua e manukanuka: kaore koe e whakatau i nga raruraru, i te mea he tino rite nga mahi Riak CS katoa ki te mea kua tautuhia.

Teina he huarahi ki te penapena taonga maha i roto i te taviri kotahi kia rereke nga uara o te ahanoa i runga i nga waahanga rereke.

Tuhipoka: allow_mult
Ko nga node Riak e tautoko ana hoki i a Riak CS ka tukuna_mult ki te pono i nga wa katoa. Ka tautuhi ano a Riak CS i te whakarewatanga ki te he te uara.

Te tautuhi i te Ingoa Kaihautū me te Wāhitau IP

He ingoa kei ia node Riak, ka taea te tohu i roto i te whiringa ingoa node i riak.conf. Mena kei te whakamahi koe i te konae whirihoranga app.config, me hanga e koe he konae e kiia nei ko vm.args i roto i te raarangi rite ki te app.config me te tohu i te ingoa kaihautu ma te whakamahi i te haki -name. Ka tūtohu mātou ki te whakapūtā ingoa kōpuku ki te hōputu @. Na, ki te toru nga pona e rere ana i runga i te ope 100.0.0.1, ka taea e koe te waea atu [email tiakina], [email tiakina]a [email tiakina] ka taea ranei e koe te hoatu ingoa motuhake ake, penei [email tiakina], [email tiakina] me etahi atu. Ko te tauira i raro nei e whakaatu ana i te huri i te ingoa kaihautu ki [email tiakina], ka rere ki te localhost.

RIAK.CONF

 nodename = [email protected] 

VM.ARGS

 -name [email protected]

Me whakaingoatia nga pokapu katoa i mua i te tiimata me te hono atu ki te tautau.

Whakamātautau tatūnga

Inaianei kua oti katoa nga tautuhinga node e tika ana, ka taea e tatou te ngana ki te whakarewa i a Riak:

SHELL

 riak start 

Tuhipoka Ko te whakautu mo taku keehi:

Riak Cloud Storage. Wāhanga 1: Te whakatu Riak KV

I konei me tatari koe kia iti. Na ka taea e koe te timata ki te whakamatautau i te node rere.

SHELL

 riak ping

Mena he pong te whakautu, kei te rere a Riak; mena ko te whakautu ko Node kaore i te whakautu ki nga ping, katahi ka he.

Tuhipoka Ko te whakautu mo taku keehi:

Riak Cloud Storage. Wāhanga 1: Te whakatu Riak KV

Mena kaore i tika te tiimata o te node, tirohia te takiuru erlang.log.1 i roto i te /log directory o te node mena ka kitea te raru. Ko tetahi o nga hapa noa he invalid_storage_backend. E tohu ana he he te ara ki te whare pukapuka Riak CS i advanced.config, i app.config ranei (kaore ranei a Riak CS i whakauruhia ki runga i te tūmau). Ahakoa tenei hapa, kia mohio kaore koe i huri mai i te riak_cs_kv_multi_backend ki te riak_kv_multi_backend.

Te whirihora i a Riak ki te whakamahi i nga kawa kawa

Kei roto i te riak.conf nga tautuhinga riak protocol riak, kei te riak_api ranei kei roto i nga konae advanced.config, app.config ranei, kei roto i te raarangi /etc/riak/. Ma te taunoa, kei te kaihautu he IP IP o 127.0.0.1 me te tauranga 8087. Me whakarereke e koe enei ki te whakamahere koe ki te whakahaere i a Riak me Riak CS i roto i te taiao kore-rohe. Whakakapihia te 127.0.0.1 me te Riak host IP address me te tauranga 8087 me tetahi e tika ana.

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

Tuhipoka:Ko te uara o te listener.protobuf.internal tawhā i te riak.conf (te uara ranei o te tawhā pb i advanced.conf/app.config) me rite ki nga uara mo te riak_host i Riak CS riak-cs.config me Stanchion stanchion.conf (riak_host ranei i roto i nga konae .config/app.config) matatau.

He korero mo te tau tauranga
Ka hiahiatia he tau tauranga rereke mena ka taupatupatu te tauranga ki nga tauranga e whakamahia ana e tetahi atu tono, mena kei te whakamahi koe i te taurite kawenga, i te tūmau takawaenga ranei.

E taunaki ana hoki kia whakarite nga kaiwhakamahi ko te rahi Riak protobuf.backlog (i roto ranei i nga konae advanced.config/app.config ko pb_backlog tenei) he rite, nui ake ranei i te pool.request.size kua tohua mo Riak CS i riak-cs. whirihora (te tono_pool_size i roto i nga konae advanced.config/ app.conf).

Mena kua hurihia te uara o te pool.request.size i Riak CS, me whakahou ano te uara o te protobuf.backlog ki Riak.

Ētahi atu tautuhinga Riak

Kei roto i nga kōnae riak.conf me advanced.config etahi atu tautuhinga e whirihora ana i te hanga o nga konae rangitaki me te waahi ka tiakina. Ko enei tautuhinga he uara taunoa, me mahi i te nuinga o nga keehi. Mo etahi atu korero, ka tūtohu kia panuihia a maatau tuhinga mo nga konae whirihoranga.

Te whakatu i tetahi wahitau IP mo Riak

I te wa e whakarite ana koe i tetahi wahitau IP mo Riak, me tino mohio koe he wahitau IP ahurei nga node Riak, ahakoa kei te mahi koe me te kotahi noa te node, me te taapiri atu ranei i etahi atu pona ki te punaha. Ko te wahitau IP Riak kei roto i te riak.conf ranei - mena kei te whakamahi koe i te konae app.config - kei te konae whirihoranga vm.args, kei reira kei roto i te raarangi /etc/riak (ranei /opt/riak/etc/ i runga i etahi atu punaha whakahaere).

I te timatanga, ko te raina kei roto te wahitau IP Riak e tohu ana ki te localhost i tenei waahi:

RIAK.CONF

 nodename = [email protected]

VM.ARGS

 -name [email protected]

Whakakapihia te 127.0.0.1 ki to wahitau IP pai ake, ingoa rangatira ranei o te riak node.

Tautuhinga Mahinga me te Aratuku

Mo nga take mahi, e kaha ana matou ki te taapiri i nga uara ki nga konae whirihoranga Riak riak.conf, vm.args ranei, kei roto i te raarangi /etc/riak/ /opt/riak/etc ranei.

RIAK.CONF

 erlang.max_ports = 65536

VM.ARGS

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

Te whakakore i te JavaScript MapReduce

E taunaki ana kia kaua e whakamahi i te JavaScript MapReduce tuku iho me tetahi putanga o Riak CS. Mo nga take mahi, me whakakorehia e koe te miihini mariko e mahi ana i nga mahi JavaScript MapReduce ma te whakanoho ki te konae whirihoranga riak.conf, ki te waahanga riak_kv ranei o advanced.conf or 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
]}

I muri mai ka hiahia taatau ki te whirihora i nga waahanga e toe ana o te punaha Riak CS.

pukapuka taketake.

Source: will.com

Tāpiri i te kōrero