Riak CS (Cloud Storage) - bathar-bog a tha furasta a chleachdadh airson stòradh stuthan a chuir air dòigh, aâ ruith air mullach Riak KV. Tha Riak (KV) na stòr-dĂ ta luach-iuchrach NoSQL sgaoilte. Tha Riak CS air a dhealbhadh gus sĂŹmplidheachd, ruigsinneachd, cuairteachadh stòraidh neòil de sgèile sam bith a thoirt seachad, agus faodar a chleachdadh gus ailtireachd sgòthan a thogail - an dĂ chuid poblach agus prĂŹobhaideach - no mar stòradh bun-structair airson tagraidhean agus seirbheisean lĂ n luchdaichte. Tha Riak CS API co-chòrdail ri Amazon S3 agus a 'toirt taic don chomas aithisgean fhaighinn air diofar shuidheachaidhean.

Tha an artaigil seo na eadar-theangachadh an-asgaidh den leabhar-lĂ imhe oifigeil airson siostam Riak CS dreach 2.1.1
Ann an siostam stòraidh Riak CS, bidh trĂŹ pĂ irtean ag obair ann an co-bhonn ri chèile, a tha aâ ciallachadh gum feum gach pĂ irt a bhith air a rèiteachadh gus obrachadh leis na pĂ irtean eile:
- Riak (KV) - siostam stòr-dà ta a bhios ag obair mar shiostam crÏochnachaidh.
- Riak CS - Sreath stòraidh sgòthan a bharrachd air Riak a bheir seachad comasan stòraidh agus API, a âstòradh faidhlichean agus meata-dĂ ta ann an Riak, agus an uairsin gan sgaoileadh gu luchd-cleachdaidh deireannach.
- Stanchion - Aâ riaghladh cheistean anns a bheil buidhnean gun samhail air feadh na cruinne leithid bucaidean agus luchd-cleachdaidh ann an eisimpleir Riak. Mar eisimpleir, a 'cruthachadh luchd-cleachdaidh, a' cruthachadh no a sguabadh Ă s bucaidean.
A bharrachd air an sin, faodaidh tu cuideachd an neach-dèiligidh S3 a rèiteachadh airson a chleachdadh ann an teachdaireachdan leis an t-siostam Riak CS.
Bu chòir dhut planadh gum bi aon nód Riak agad airson gach nód Riak CS air an t-siostam agad. Faodar nodan Riak agus Riak CS a ruith air diofar innealan corporra, ach sa mhòr-chuid de chÚisean tha e nas fheà rr aon nód Riak agus aon nód Riak CS a ruith air an aon inneal corporra. Leis gu bheil cumhachd gu leòr aig aon inneal fiosaigeach gus feumalachdan gach cuid nodan Riak agus Riak CS a shà sachadh, mar as trice chÏ thu coileanadh nas fheà rr mar thoradh air latency lÏonra nas lugha.
Ma tha grunn nodan anns an t-siostam agad, tha an rèiteachadh gu sònraichte mu bhith aâ stèidheachadh conaltradh eadar co-phĂ irtean. Tha luachan bunaiteach aig roghainnean eile, leithid far an tèid na faidhlichean log a stòradh, agus cha leig thu leas ach atharrachadh ma tha thu airson luachan neo-Ă bhaisteach a chleachdadh.
A 'suidheachadh co-phĂ irtean siostam. Aâ stèidheachadh Riak KV airson CS
Leis gur e tagradh a th âann an Riak CS a chaidh a thogail air mullach Riak, tha e glè chudromach aire a thoirt don rèiteachadh Riak agad nuair a bhios tu aâ ruith Riak CS. Tha an sgrĂŹobhainn seo an dĂ chuid na stiĂšireadh rèiteachaidh Riak agus na sgrĂŹobhainn iomraidh aâ toirt cunntas air paramadairean rèiteachaidh cudromach.
Mus cuir thu air dòigh, dèan cinnteach gu bheil Riak KV agus Riak CS air an stĂ ladh air a h-uile nĂłd sa bhuidheann agad. Cha bu chòir Stanchion, air an lĂ imh eile, a bhith air a chuir a-steach ach air aon nĂłd anns aâ bhuidheann gu lèir.

CĂšl-fhiosrachadh airson Riak CS
Is e Bitcask an backend bunaiteach a chleachdas Riak, ach tha pasgan Riak CS aâ toirt a-steach backend sònraichte a dhâ fheumas a bhith air a chleachdadh leis aâ bhuidheann Riak a tha na phĂ irt de shiostam Riak CS. Anns an dreach cunbhalach tha an backend Ă bhaisteach Multi a thig le Riak.
Bidh na h-aon bhucaidean Riak a chleachdar taobh a-staigh Riak CS aâ cleachdadh clĂ ran-amais Ă rd-sgoile, a tha a-nis feumach air backend LevelDB. Faodaidh pĂ irtean eile de shiostam Riak CS buannachd fhaighinn bho bhith aâ cleachdadh backend Bticask. Tha cleachdadh sampall Multi backend air a ghabhail a-steach ann an Riak CS gus brath a ghabhail air an dĂ backend sin gus am measgachadh as fheĂ rr de choileanadh agus comas-gnĂŹomh a choileanadh. Tha an ath earrann ag innse mar a chuireas tu Riak air dòigh gu ceart gus an Ioma-backend seo a chleachdadh.
CĂšl-fhiosrachadh Is e sin a chleachdas Riak airson dĂ ta a shĂ bhaladh. Tha grunn backends aig Riak KV san arsenal aige: Bitcask, LevelDB, Memory and Multi.
A bharrachd air an sin, bidh an siostam Ă ireamhachaidh stòraidh aâ cleachdadh Riak MapReduse gus faidhlichean a chruinneachadh ann am bucaidean. Tha seo aâ ciallachadh gum feum thu innse dha na nodan Riak gu lèir far am bu chòir dhut coimhead airson faidhlichean Riak CS ullaichte mus tèid an stòradh.
Feumar grunn pharaimearan eile atharrachadh gus an nĂłd Riak a rèiteachadh mar phĂ irt den t-siostam Riak CS, leithid an seòladh IP agus seòladh IP agus port airson teachdaireachdan tro Protocol Buffers. Faodar roghainnean eile atharrachadh ma tha sin riatanach. Tha na h-earrannan a leanas aâ toirt cunntas air mar a chuireas tu nĂłd Riak air dòigh gus obrachadh mar phĂ irt de shiostam Riak CS.
A 'stèidheachadh cÚl-taic Riak
An toiseach, tha na faidhlichean rèiteachaidh riak.conf no advanced.config/app.config air an deasachadh. Faodar na faidhlichean sin a lorg ann an / etc/riak or / opt/riak/etc directory. Gu gnĂ thach, bidh Riak aâ cleachdadh backend Bitcask. Is e aâ chiad rud a dhâ fheumas sinn a dhèanamh am faidhle rèiteachaidh atharrachadh le bhith aâ toirt air falbh an loidhne a leanas:
RIAK.CONF
## Delete this line:
storage_backend = bitcaskADVANCED.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},
]}An ath rud, feumaidh sinn sealltainn gu bheil feum air modalan RiakCS airson Riak agus stiĂšireadh a thoirt do Riak an backend rèiteachaidh a chleachdadh aâ toirt seachad Riak CS. Feumaidh sinn am faidhle advanced.config no app.config a chleachdadh airson seo agus cuir ris na roghainnean a leanas:
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
]}Tha e glè chudromach cuimhneachadh gum bi mòran de na luachan sin an urra ri caochlaidhean eòlaire a tha sònraichte don t-siostam obrachaidh agad, mar sin lean an stiĂšireadh a rèir sin. Mar eisimpleir, tha an roghainn add_paths aâ gabhail ris gu bheil Riak CS air a chuir a-steach / usr / lib / riak-cs, fhad âs a tha na roghainnean data_root aâ gabhail ris gu bheil Riak air a chuir a-steach / var / lib. (Nòta: Anns a 'chĂšis agam b' e add_paths a bh 'ann - / usr/lib64/riak-cs/).
Tha an rèiteachadh seo aâ gabhail ris gu bheil Riak CS air a chuir a-steach air an aon inneal ri Riak. Mura h-eil, feumaidh am pasgan a bhith air a chopaigeadh gu aoigheachd air leth.
Cruthachadh sibling a stèidheachadh
A-nis, feumaidh sinn am paramadair allow_mult a shuidheachadh gu fÏor. Faodaidh sinn loidhne a chuir ris anns an fhaidhle rèiteachaidh riak.conf, no roinn riak_core ann an advanced.config no app.config.
RIAK.CONF
buckets.default.allow_mult = trueADVANCED.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
]}Leigidh seo le Riak peathraichean a chruthachadh a tha riatanach airson Riak CS a bhith ag obair. Ma nĂŹ thu ceangal ri Riak CS aâ cleachdadh an leabharlann teachdaiche, na gabh dragh: cha bhith agad ri còmhstrithean fhuasgladh, leis gu bheil gnĂŹomhachd Riak CS gu tur cunbhalach mar a chaidh a mhĂŹneachadh.
peathraichean na dhòigh air grunn nithean a stòradh ann an aon iuchair gus am bi luachan eadar-dhealaichte aig an nÏ air diofar nodan.
Thoir an aire: allow_mult
Bidh cead_mult air a shuidheachadh gu fÏor an-còmhnaidh aig nód Riak sam bith a bheir taic do Riak CS. Cuiridh Riak CS ath-shuidheachadh air bhog ma tha an luach meallta.
A 'suidheachadh an t-ainm aoigheachd agus an seòladh IP
Tha ainm aig gach nĂłd Riak, a dh'fhaodar a shònrachadh ann an riak.conf a 'cleachdadh an roghainn nodename. Ma tha thu a 'cleachdadh am faidhle rèiteachaidh app.config, feumaidh tu faidhle leis an ainm vm.args a chruthachadh anns an aon eòlaire far a bheil app.config suidhichte, agus sònraich ainm an nĂłd a' cleachdadh a 'bhratach-ainm. Tha sinn aâ moladh gun sònraich thu ainmean nod anns aâ chruth @. Mar sin ma tha trĂŹ nodan agad aâ ruith air aon aoigh 100.0.0.1, dhâ fhaodadh tu an ainmeachadh riak1@100.0.0.1, riak2@100.0.0.1, agus riak3@100.0.0.1 no dhâ fhaodadh tu ainmean nas sònraichte a thoirt dhaibh mar test_cluster1@100.0.0.1, user_data agus on.3. Tha an eisimpleir gu h-ĂŹosal aâ sealltainn atharrachadh an t-ainm aoigheachd gu riak100.0.0.1@1 a dhâ obraicheas air an localhost.
RIAK.CONF
nodename = riak1@127.0.0.1 VM.ARGS
-name riak1@127.0.0.1Feumaidh tu a h-uile nod ainmeachadh mus tòisich thu orra agus a dhol dhan bhuidheann.
Deuchainn rèiteachaidh
A-nis gu bheil na roghainnean nodan riatanach uile air an crĂŹochnachadh, is urrainn dhuinn feuchainn ri Riak a chuir air bhog:
SGEUL
riak start Thoir an aire Am freagairt anns a 'chĂšis agam:

An seo feumaidh tu feitheamh beagan. An uairsin faodaidh tu tòiseachadh air deuchainn a dhèanamh air an nód ruith.
SGEUL
riak pingMa tha am freagairt pong, tha Riak aâ ruith; mas e am freagairt nach eil Node aâ freagairt pings, chaidh rudeigin ceĂ rr.
Thoir an aire Am freagairt anns a 'chĂšis agam:

Mura do thòisich an nĂłd gu ceart, thoir sĂšil air log erlang.log.1 ann an eòlaire / log an nĂłd ma thèid an duilgheadas aithneachadh. Is e aon de na mearachdan as cumanta invalid_storage_backend. A tha aâ nochdadh gu bheil an t-slighe gu leabharlann Riak CS ann an advanced.config no ann an app.config ceĂ rr (no Riak CS nach eil air a chuir a-steach air an fhrithealaiche). A dh'aindeoin na mearachd seo, dèan cinnteach nach eil thu air atharrachadh bho riak_cs_kv_multi_backend gu riak_kv_multi_backend.
Aâ rèiteachadh Riak gus bufairean protocol a chleachdadh
Tha na roghainnean bufair protocol Riak suidhichte ann an riak.conf no anns an roinn riak_api anns na faidhlichean advanced.config no app.config, a tha suidhichte anns an /etc/riak/ directory. Gu gnà thach, tha seòladh IP de 127.0.0.1 agus port 8087 aig an aoigh. Feumaidh tu iad sin atharrachadh ma tha thu an dÚil Riak agus Riak CS a ruith ann an à rainneachd nach eil ionadail. Cuir an à ite 127.0.0.1 le seòladh IP aoigheachd Riak agus port 8087 le fear iomchaidh.
RIAK.CONF
listener.protobuf.internal = 10.0.2.10:10001ADVANCED.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
]}Note:Feumaidh luach an neach-èisteachd. Stanchion stanchion.conf (no riak_host fa leth ann an adhartach .config/app.config) faidhlichean.
Nota mun Ă ireamh port
Dhâ fhaodadh gum bi feum air Ă ireamh puirt eadar-dhealaichte ma tha am port aâ dol an aghaidh aâ phuirt a chleachdar le aplacaid eile no ma tha thu aâ cleachdadh cothromaiche luchdan no frithealaiche progsaidh.
Thathas cuideachd aâ moladh gun dèan luchd-cleachdaidh cinnteach gu bheil meud protobuf.backlog Riak (no ann am faidhlichean adhartach.config/app.config is e seo pb_backlog) co-ionann no nas motha na an pool.request.size a chaidh a shònrachadh airson Riak CS ann an riak-cs. config (no request_pool_size ann am faidhlichean adhartach.config/ app.conf).
Ma tha luach pool.request.size ann an Riak CS air atharrachadh, feumar luach protobuf.backlog Ăšrachadh cuideachd ann an Riak.
Roghainnean Riak eile
Tha na faidhlichean riak.conf agus advanced.config a 'gabhail a-steach suidheachaidhean eile a tha a' rèiteachadh cruthachadh faidhlichean log agus far a bheil iad air an sĂ bhaladh. Tha luachan bunaiteach aig na roghainnean sin agus bu chòir dhaibh obrachadh sa mhòr-chuid de chĂšisean. Airson tuilleadh fiosrachaidh, tha sinn aâ moladh na sgrĂŹobhainnean againn mu fhaidhlichean rèiteachaidh a leughadh.
Aâ stèidheachadh seòladh IP airson Riak
Nuair a stèidheachadh Seòlaidhean IP Airson Riak, feumaidh tu dèanamh cinnteach gu bheil seòladh IP sònraichte aig nòdan Riak, ge bith a bheil thu aâ ruith dĂŹreach aon nòd no aâ cur nòdan a bharrachd ris an t-siostam. Tha seòladh IP Riak ann an riak.conf noâma tha thu aâ cleachdadh am faidhle app.configâanns am faidhle rèiteachaidh vm.args, a tha cuideachd suidhichte san eòlaire /etc/riak (no /opt/riak/etc/ air siostaman obrachaidh eile).
An toiseach, tha an loidhne anns a bheil an seòladh IP Riak aâ comharrachadh gu localhost aig an Ă ite seo:
RIAK.CONF
nodename = riak@127.0.0.1VM.ARGS
-name riak@127.0.0.1Cuir an seòladh IP as fheà rr leat no an t-ainm aoigheachd aig nód Riak an à ite 127.0.0.1.
Roghainnean Coileanaidh agus Bandwidth
Airson adhbharan coileanaidh, tha sinn a 'moladh gu là idir luachan a chur ris na faidhlichean rèiteachaidh Riak riak.conf no vm.args, a tha suidhichte anns an eòlaire /etc/riak/ or /opt/riak/etc.
RIAK.CONF
erlang.max_ports = 65536VM.ARGS
## This setting should already be present for recent Riak installs.
-env ERL_MAX_PORTS 65536A' cur JavaScript MapReduce Ă comas
Thathas aâ moladh gun a bhith aâ cleachdadh dĂŹleab JavaScript MapReduce le dreach sam bith de Riak CS. Airson adhbharan dèanadais, bu chòir dhut an inneal brĂŹgheil a tha aâ coileanadh obrachaidhean JavaScript MapReduce a dhĂŹ-cheadachadh le bhith aâ suidheachadh ann am faidhle rèiteachaidh riak.conf, no anns an roinn riak_kv de advanced.conf no 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
]}An uairsin feumaidh sinn na pà irtean eile den t-siostam Riak CS a rèiteachadh.
Source: www.habr.com
