Riak Cloud Storage. Fizarana 1: Fametrahana Riak KV

Riak CS (Cloud Storage) – logiciel mora ampiasaina amin'ny fandaminana fitahirizana zavatra, mandeha eo ambonin'ny Riak KV. Riak (KV) dia angon-drakitra manan-danja NoSQL zaraina. Ny Riak CS dia natao hanomezana fahatsorana, fahafahana, fizarana fitahirizana rahona amin'ny ambaratonga rehetra, ary azo ampiasaina hananganana rafitra rahona - na ho an'ny daholobe na tsy miankina - na ho fitahirizana fotodrafitrasa ho an'ny fampiharana sy serivisy be entana. Riak CS API dia mifanaraka amin'ny Amazon S3 ary manohana ny fahafahana mandray tatitra momba ny toe-javatra samihafa.

Riak Cloud Storage. Fizarana 1: Fametrahana Riak KV
Ity lahatsoratra ity dia fandikana maimaim-poana amin'ny boky ofisialy ho an'ny rafitra Riak CS version 2.1.1

Ao amin'ny rafitra fitahirizana Riak CS, singa telo no miara-miasa, izay midika fa ny singa tsirairay dia tsy maintsy amboarina mba hiara-miasa amin'ireo singa hafa:

  • Riak (KV) - rafitra angon-drakitra izay miasa toy ny rafitra farany.
  • Riak CS - Lamba fitehirizana rahona eo an-tampon'i Riak izay manome fahafaha-manao fitahirizana sy API, mitahiry rakitra sy metadata ao Riak, ary avy eo mizara azy ireo amin'ny mpampiasa farany.
  • Stanchion - Mitantana fanontaniana mikasika ireo sampan-draharaha tsy manam-paharoa manerantany toy ny siny sy mpampiasa amin'ny ohatra Riak. Ohatra, mamorona mpampiasa, mamorona na mamafa siny.

Ankoatra izany, azonao atao koa ny manamboatra ny mpanjifa S3 hampiasaina amin'ny fandefasana hafatra miaraka amin'ny rafitra Riak CS.

Tokony hieritreritra ny hanana node Riak iray ho an'ny node Riak CS tsirairay amin'ny rafitrao ianao. Ny node Riak sy Riak CS dia azo atao amin'ny milina ara-batana samihafa, fa amin'ny ankamaroan'ny toe-javatra dia tsara kokoa ny mampandeha ny node Riak iray sy ny node Riak CS iray amin'ny milina ara-batana iray ihany. Raha heverinao fa manana hery ampy hanome fahafaham-po ny filan'ny node Riak sy Riak CS ny milina ara-batana iray, dia ho hitanao fa mahomby kokoa noho ny fihenan'ny tamba-jotra.

Raha misy node maromaro ny rafitrao dia ny fametrahana fifandraisana eo amin'ny singa no tena fototry ny fanamafisana. Ny toe-javatra hafa, toy ny toerana hitehirizana ny rakitra dia manana soatoavina mahazatra ary mila ovaina raha te hampiasa sanda tsy manara-penitra ianao.

Fametrahana singa rafitra. Fametrahana Riak KV ho an'ny CS

Koa satria Riak CS dia rindranasa natsangana eo an-tampon'i Riak, dia zava-dehibe tokoa ny mandinika ny firafitry ny Riak anao rehefa mihazakazaka Riak CS. Ity antontan-taratasy ity dia sady torolalana fanamafisam-peo Riak no antontan-taratasim-pahalalana mamaritra ny mari-pamantarana fanamafisana lehibe.

Alohan'ny fametrahana, ataovy azo antoka fa Riak KV sy Riak CS dia napetraka amin'ny node rehetra ao amin'ny cluster anao. Stanchion, etsy ankilany, dia tokony hapetraka amin'ny node iray ao amin'ny cluster manontolo.

Riak Cloud Storage. Fizarana 1: Fametrahana Riak KV

Backends ho an'ny Riak CS

Ny backend default ampiasain'i Riak dia Bitcask, fa ny fonosana Riak CS dia misy backend manokana izay tsy maintsy ampiasain'ny cluster Riak izay ao anatin'ny rafitra Riak CS. Ny dikan-teny mahazatra dia manana backend Multi mahazatra izay miaraka amin'i Riak.

Ireo siny Riak mitovy ampiasaina ao anatin'ny Riak CS dia mampiasa fanondroana faharoa, izay mitaky backend LevelDB ankehitriny. Ny ampahany hafa amin'ny rafitra Riak CS dia afaka mahazo tombony amin'ny fampiasana ny backend Bticask. Ny fampiasana santionany Multi backend dia tafiditra ao amin'ny Riak CS mba hanararaotra ny roa amin'ireo backend ireo mba hahazoana ny fampifangaroana tsara indrindra amin'ny fampisehoana sy ny fiasa. Ny fizarana manaraka dia mamaritra ny fomba fanamboarana tsara an'i Riak hampiasa ity Multi-backend ity.

Backend no hampiasain'i Riak hitahiry angona. Riak KV dia manana backend maromaro ao amin'ny arsenal: Bitcask, LevelDB, Memory ary Multi.

Fanampin'izany, ny rafitra kajy fitahirizana dia mampiasa Riak MapReduse mba hanangonana rakitra ao anaty siny. Midika izany fa tsy maintsy milaza amin'ny nodes Riak rehetra ianao hoe aiza no hitadiavana rakitra Riak CS voaomana alohan'ny fitahirizana informatika.

Maromaro ny masontsivana hafa tsy maintsy ovaina mba handrindrana ny node Riak ho ampahany amin'ny rafitra Riak CS, toy ny adiresy IP sy ny adiresy IP ary ny seranana handefasana hafatra amin'ny alΓ lan'ny Protocol Buffers. Ny fanovana hafa dia azo ovaina raha ilaina. Ireto fizarana manaraka ireto dia mamaritra ny fomba fanamboarana ny node Riak mba hiasa ao anatin'ny rafitra Riak CS.

Fametrahana ny backend Riak

Voalohany, ovaina ny riak.conf na advanced.config/app.config. Ireo rakitra ireo dia azo jerena ao amin'ny /etc/riak na /opt/riak/etc lahatahiry. Amin'ny alΓ lan'ny default, mampiasa ny backend Bitcask i Riak. Ny zavatra voalohany tokony hataontsika dia ny manova ny rakitra fanamafisana amin'ny alΓ lan'ny fanesorana ity andalana manaraka ity:

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

Manaraka, mila mampiseho ny filΓ na RiakCS modules ho an'i Riak isika ary manoro hevitra an'i Riak hampiasa ny backend voarindra manome Riak CS. Mila mampiasa ny rakitra advanced.config na app.config isika amin'izany ary ampio ireto safidy manaraka ireto:

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

Zava-dehibe ny manamarika fa ny ankamaroan'ireo soatoavina ireo dia miankina amin'ny fiovaovan'ny lahatahiry manokana amin'ny rafitra fiasanao, koa araho ny torolΓ lana mifanaraka amin'izany. Ohatra, ny safidy add_paths dia mihevitra fa ny Riak CS dia napetraka ao amin'ny /usr/lib/riak-cs, raha toa kosa ny safidy data_root dia mihevitra fa Riak dia napetraka ao amin'ny /var/lib. (Fanamarihana: Raha ny ahy dia add_paths - /usr/lib64/riak-cs/).

Ity fanamafisana ity dia mihevitra fa ny Riak CS dia napetraka amin'ny milina mitovy amin'i Riak. Raha tsy izany dia mila adika amin'ny mpampiantrano mitokana ilay fonosana.

Fametrahana famoronana mpiray tam-po

Ankehitriny, mila mametraka ny parameter allow_mult ho marina isika. Afaka manampy andalana ao amin'ny fichier config riak.conf isika, na fizarana riak_core ao amin'ny advanced.config na 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
]}

Izany dia ahafahan'i Riak mamorona mpiray tampo izay ilaina amin'ny fiasan'i Riak CS. Raha mifandray amin'ny Riak CS ianao amin'ny fampiasana ny tranokalan'ny mpanjifa, aza manahy: tsy mila mamaha olana ianao, satria ny hetsika Riak CS rehetra dia mifanaraka tsara araka izay voafaritra.

Iray tampo dia fomba fitehirizana zavatra marobe amin'ny fanalahidy iray mba hananana sanda samihafa amin'ny nodes samihafa ilay zavatra.

Fanamarihana: allow_mult
Izay node Riak izay manohana ny Riak CS dia hanana allow_mult ho marina amin'ny fotoana rehetra. Riak CS dia hamerina ny fandefasana raha diso ny sandany.

Fametrahana ny Hostname sy ny adiresy IP

Ny node Riak tsirairay dia manana anarana, izay azo faritana amin'ny safidy nodename ao amin'ny riak.conf. Raha mampiasa ny fisie app.config ianao dia mila mamorona rakitra antsoina hoe vm.args ao amin'ny lahatahiry mitovy amin'ny app.config ary mamaritra ny anaran'ny mpampiantrano mampiasa ny saina -name. Manoro hevitra izahay hamaritra anarana node amin'ny endrika @. Koa raha manana node telo mandeha amin'ny mpampiantrano iray 100.0.0.1 ianao dia azonao atao ny miantso azy ireo [email voaaro], [email voaaro]ary [email voaaro] na azonao omena anarana manokana kokoa, toy ny [email voaaro], [email voaaro] sy ny sisa. Ny ohatra etsy ambany dia mampiseho ny fanovana ny anaran'ny mpampiantrano ho [email voaaro], izay handeha amin'ny localhost.

RIAK.CONF

 nodename = [email protected] 

VM.ARGS

 -name [email protected]

Tsy maintsy manonona ny nodes rehetra ianao alohan'ny hanombohana azy ireo sy hiditra ao amin'ny cluster.

Andrana fanamboarana

Ankehitriny rehefa vita ny firafitry ny node ilaina rehetra, dia afaka manandrana manomboka Riak isika:

SHELL

 riak start 

Fanamarihana Ny valiny amin'ny raharahako:

Riak Cloud Storage. Fizarana 1: Fametrahana Riak KV

Eto ianao dia mila miandry kely. Avy eo dia afaka manomboka manandrana ny node mihazakazaka ianao.

SHELL

 riak ping

Raha pong ny valiny, dia mihazakazaka i Riak; raha tsy mamaly pings ny valiny, dia nisy zavatra tsy nety.

Fanamarihana Ny valiny amin'ny raharahako:

Riak Cloud Storage. Fizarana 1: Fametrahana Riak KV

Raha tsy nanomboka tsara ny node dia jereo ny log erlang.log.1 ao amin'ny lahatahiry /log an'ny node raha azo fantarina ny olana. Iray amin'ireo lesoka mahazatra indrindra ny invalid_storage_backend. Izay milaza fa tsy mety ny lalana mankany amin'ny tranomboky Riak CS amin'ny advanced.config na amin'ny app.config (na tsy apetraka amin'ny mpizara ny Riak CS). Na eo aza io hadisoana io, ataovy azo antoka fa tsy niova avy amin'ny riak_cs_kv_multi_backend ho riak_kv_multi_backend ianao.

Ny fanamafisana an'i Riak hampiasa ny buffers protocol

Ny firafitry ny buffer protocol Riak dia hita ao amin'ny riak.conf na ao amin'ny fizarana riak_api ao amin'ny rakitra advanced.config na app.config, izay hita ao amin'ny lahatahiry /etc/riak/. Amin'ny alΓ lan'ny default, manana adiresy IP an'ny 127.0.0.1 sy port 8087 ny mpampiantrano. Mila manova ireo ianao raha mikasa ny hampandeha an'i Riak sy Riak CS amin'ny tontolo tsy eo an-toerana. Soloy ny 127.0.0.1 amin'ny adiresy IP mpampiantrano Riak sy port 8087 amin'ny iray mety.

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

Fanamarihana:Ny sandan'ny mari-pamantarana listener.protobuf.internal ao amin'ny riak.conf (na ny sandan'ny pb parameter ao amin'ny advanced.conf/app.config) rakitra dia tsy maintsy mifanaraka amin'ny sanda ho an'ny riak_host ao amin'ny Riak CS riak-cs.config ary Stanchion stanchion.conf (na riak_host tsirairay avy amin'ny rakitra .config/app.config).

Fanamarihana momba ny laharan'ny seranan-tsambo
Mety ilaina ny laharan'ny seranan-tsambo hafa raha toa ka mifanipaka amin'ny seranana ampiasain'ny fampiharana hafa ny seranana na raha mampiasa mpandrindra entana na mpizara proxy ianao.

Amporisihina ihany koa ny mpampiasa hiantoka fa ny haben'ny Riak protobuf.backlog (na amin'ny rakitra advanced.config/app.config ity dia pb_backlog) dia mitovy na lehibe noho ny dobo.request.size voatondro ho an'ny Riak CS ao amin'ny riak-cs. config (na request_pool_size amin'ny rakitra advanced.config/app.conf).

Raha niova ny sandan'ny pool.request.size ao amin'ny Riak CS, dia tsy maintsy havaozina amin'ny Riak koa ny sandan'ny protobuf.backlog.

Fikirana Riak hafa

Ny rakitra riak.conf sy advanced.config dia misy toe-javatra hafa izay manamboatra ny famoronana rakitra log sy ny toerana misy azy ireo. Ireo toe-javatra ireo dia manana sanda default ary tokony hiasa amin'ny ankamaroan'ny tranga. Raha mila fanazavana fanampiny dia manoro hevitra izahay hamaky ny antontan-taratasy momba ny fichier configuration.

Mametraka adiresy IP ho an'i Riak

Rehefa manangana adiresy IP ho an'i Riak dia tsy maintsy azonao antoka fa manana adiresy IP tokana ny node Riak, na miasa miaraka amin'ny node iray fotsiny ianao na manampy node bebe kokoa amin'ny rafitra. Ny adiresy IP Riak dia voarakitra ao amin'ny riak.conf na - raha mampiasa ny app.config rakitra ianao - ao amin'ny rakitra fanamafisana vm.args, izay hita ao amin'ny lahatahiry /etc/riak (na /opt/riak/etc/ amin'ny rafitra fiasa hafa).

Amin'ny voalohany, ny tsipika misy ny adiresy IP Riak dia manondro ny localhost amin'ity toerana ity:

RIAK.CONF

 nodename = [email protected]

VM.ARGS

 -name [email protected]

Soloy ny 127.0.0.1 amin'ny adiresy IP tianao na ny anaran'ny mpampiantrano ny node Riak.

Fampisehoana sy Bandwidth Settings

Noho ny antony fampandehanana dia manoro hevitra mafy izahay mba hampidirana soatoavina amin'ny fisie riak.conf na vm.args, hita ao amin'ny lahatahiry /etc/riak/ na /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

Ny fanesorana ny JavaScript MapReduce

Tsy soso-kevitra ny hampiasa JavaScript MapReduce lova miaraka amin'ny dikan-teny Riak CS rehetra. Noho ny anton'ny fampandehanana dia tokony hanajanona ny milina virtoaly manao ny asa JavaScript MapReduce ianao amin'ny alΓ lan'ny fametrahana ao amin'ny fisie riak.conf, na ao amin'ny fizarana riak_kv amin'ny advanced.conf na 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
]}

Avy eo dia mila manamboatra ny singa sisa amin'ny rafitra Riak CS isika.

Boky torolalana voalohany.

Source: www.habr.com

Add a comment