Riak Cloud Storage. Pars I: constituens eum Riak KV

Riak CS (Cloud PRAECLUSIO) - programmatis facilis ad usum obiecti repositionis ordinandi, super Riak KV accurrens. Riak (KV) NoSQL valorem datorum clavis distributus est. Riak CS ordinatur ad simplicitatem, disponibilitatem, distributionem nubium repositionis cuiusvis scalae, et adhiberi potest ad aedificandas nubes architecturas tam publicas quam privatas, vel ad repositionem infrastructuram pro applicationibus et officiis valde oneratis. Riak CS API cum Amazon S3 compatitur et facultatem recipiendi relationes in variis adiunctis sustinet.

Riak Cloud Storage. Pars I: constituens eum Riak KV
Hic articulus est libera translatio manualis officialis pro Riak CS systematis versionis 2.1.1

In systemate repositionis Riak CS tria elementa operantur in conjunctione cum inter se, quae significat singulas partes conformari debere ad operandum cum aliis componentibus;

  • Riak (KV) - systema database quod ut finis ratio agit.
  • Riak CS - Nubes iacuit repositionis super Riak, quod facultates repositiones et API praebet, lima ac metadata in Riak reponit, et deinde eas ad finem utentium distribuit.
  • Stanchion - Procurat queries res singulares globally implicantes sicut in situlis et usoribus in exemplo Riak. Exempli causa, utentes creandi, situlas creandi vel delendi.

Accedit, etiam clientem S3 configurare usui esse in nuntio cum systemate Riak CS.

Cogitas te unum nodi Riak habere pro nodi Riak inter se in systemate tuo CS. Riak et Riak CS nodi possunt currere in diversis machinis physicis, sed in pluribus melius est unam nodi Riak currere et unam nodi Riak CS in eadem machina physica. Una machina physica posito satis vim habet ad satisfaciendi necessitates tam Riak et Riak CS nodi, plerumque meliores effectus ob retis latentiam reductos videbis.

Si systema tuum pluribus nodis constat, figuratio imprimis est de communicatione inter partes constituendo. Aliae occasus, ut si tabulae logatae reponendae erunt, valores default habent et solum mutari necesse est si valores non-commodus uti voles.

Ratio componendi sunt composita. Profecti sunt Riak KV pro CS

Cum Riak CS applicatio super Riak aedificata est, magni momenti est attendere ad configurationem tuam Riak cum Riak CS currentem. Documentum hoc est tum dux configurationis Riak et documentum relativum quam parametri figurationem magni momenti describens.

Priusquam paro, fac Riak KV et Riak CS omnes nodi in botro instituantur. Stanchion autem debet tantum in uno nodo totum botrum institui.

Riak Cloud Storage. Pars I: constituens eum Riak KV

Backends ad Riak CS

Default backend usus a Riak est Bitcask, sed sarcina Riak CS includit specialem backendum, qui uti debet ab botro Riak, quod pars systematis Riak CS est. Regularis versionis habet vexillum Multi tergum quod cum Riak venit.

Eaedem modiolae Riak intus Riak CS adhibitae utuntur indicibus secundis, qui nunc in backend LevelDB requirunt. Aliae partes systematis Riak CS prodesse possunt ab usura backend Bticask. Usus exempli Multi backend comprehenditur in Riak CS ad utilitatem utriusque horum backends ad optimam compositionem perficiendi et functionis consequendam. Proxima sectio describitur quomodo Riak apte configurare hoc Multi-backend utatur.

Backend quod Riak utar ad animam data. Riak KV plures in armamentario suo terga habet: Bitcask, LevelDB, Memoria et Multi.

Accedit, ratio calculi repositionis Riak MapReduse utitur ad files aggregatis in situlis. Hoc significat quod indices omnes nodos Riak ubi quaerendum est paratas Riak CS tabellas ante computationem repositam.

Plures alii parametri mutandi sunt ut nodi Riak configurandi partem systematis Riak CS, sicut IP oratio et IP oratio et portus nuntius per Protocollum Buffers. Aliae occasus mutari possunt, si necesse est. Sequentes sectiones describunt quomodo nodi Riak configurant ad operandum ut pars systematis Riak CS operandum.

Occasus sursum Riak backend

Primum, riak.conf vel advanced.config/app.config imaginum conformationis recensitae sunt. Hae tabulae in directoriis /etc/riak vel /opt/riak/etc collocari possunt. Defalta Riak Bitcask backend utitur. Primum quod faciendum est mutare conformationem fasciculi removendo lineam sequentem:

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

Deinceps demonstrandum est necessitatem modulorum RiakCS pro Riak et Riak instruendi ut tergum conformatum praebeat Riak CS. Opus est ut lima provectus.config vel app.config pro hac et sequentes optiones adde:

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

Plurimum interest animadvertere plures horum bonorum in directoriis variationibus specificis ad systema operantem tuum pendere, ita instructiones sequi. Exempli gratia, optionis add_paths ponit Riak CS in /usr/lib/riak-cs inaugurari, dum optiones data_root assumunt Riak in /var/lib inaugurari. (Nota: In casu meo add_paths - /usr/lib64/riak-cs/ erat).

Haec figuratio ponit quod Riak CS in eadem machina inauguratur ac Riak. Sin minus, sarcina exscribenda est ad hospitem separatum.

Creationem in fratrem profecta

Nunc opus est ut sino_mult parametro ad veros. Lineam addere possumus in riak.conf fasciculi configurationis, vel sectionem riak_core in advanced.config vel 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
]}

Hoc permittet Riak ut siblings creare quae necessaria sunt pro Riak CS ad munus. Si Riak CS cum bibliotheca clientis utens coniungis, noli solliciti: certamina componenda non habebis, cum omnes operationes Riak CS stricte sicut definitae constantes sint.

fratrem modus est multarum objectorum in uno clave recondere ut res diversas valores in diversis nodis habeat.

Nota: allow_mult
Any Riak node that also supports Riak CS will have allow_mult set to true at all times. Riak CS deducet si valor falsa est.

Profecta Hostname et IP Address

Unicuique nodi Riak nomen habet, quod in riak.conf in nodi optioni nomine definiri potest. Si lima configuratione app.config uteris, limam nomine vm.args in eodem presul ac app.config creare debes et exercitum nomine utens -name vexillum designare. Commendo nomina nodi specifica in forma @. Itaque si tres nodos ad unam multitudinem 100.0.0.1 currentes habeas, eos vocare potes [Inscriptio protected], [Inscriptio protected]et [Inscriptio protected] vel nomina subtilius dare potes, ut [Inscriptio protected], [Inscriptio protected] et sic porro. Exemplum infra demonstrat mutato nomine exercitum to [Inscriptio protected]quae persequetur localhost.

RIAK.CONF

 nodename = [email protected] 

VM.ARGS

 -name [email protected]

Nodos omnes nominare debes antequam eos incipias et botrum coniungas.

Setup test

Nunc omnes nodi necessarii uncinis expletis conemur Riak deducere:

PUTAMEN

 riak start 

Nota Responsum est in causa mea;

Riak Cloud Storage. Pars I: constituens eum Riak KV

Hic debes paululum exspectare. Tunc incipias tentare nodi cursus.

PUTAMEN

 riak ping

Si responsio est pong, tunc Riak currit, si responsio est Node pingenti non respondens, aliquid erravit.

Nota Responsum est in causa mea;

Riak Cloud Storage. Pars I: constituens eum Riak KV

Si nodi non recte incipit, vide erlang.log.1 log in indicis /logae nodi si quaestio invenire potest. Una e errorum communium est invalid_storage_backend. Quod indicat viam ad bibliothecam Riak CS in advanced.config vel in app.config falsa esse (vel Riak CS in servo non installatur). Quamvis hic error, fac a riak_cs_kv_multi_backend ad riak_kv_multi_backend mutatam esse.

Vestibulum Riak ut protocol buffers

Protocollum quiddam uncinorum Riak in riak.conf vel in sectione riak_api in provecta.config vel app.config fasciculorum sita sunt, quae in directorio /etc/riak/ sita sunt. Defalta, hospes IP inscriptionem habet 127.0.0.1 et portum 8087. Has mutare necesse est si Riak et Riak CS currere cogitas in ambitu non locali. Repone 127.0.0.1 cum Riak hospite IP inscriptione et portu 8087 cum convenienti.

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

Note:Valor audientis.protobuf.internal parametri in riak.conf (vel valor parametri pb in advanced.conf/app.config) lima debet aequare valores pro riak_host in Riak CS riak-cs.config ac Stanchion stanchion.conf (vel riak_host respective in provecta .config/app.config) imagini.

Nota de numero portum
Numerus portus alius requiri potest si portus conflictus cum portubus ab alia applicatione adhibitus vel si librario vel procuratorio oneris uteris.

Commendatur etiam ut users ut protobuf.backlog mole (vel in lima provecta.config/app.config haec pb_backlog) sit aequalis vel maior quam pool.request.size pro Riak CS in riak-cs specificata. aboutconfig (or request_pool_size in advanced.config/ app.conf files).

Si valor pool.request.size in Riak CS mutatus est, valor protobuf.backlog etiam in Riak renovari debet.

Aliae Riak occasus

Lima riak.conf et advanced.config includunt alios occasus qui creationem imaginum tabularum configurant et ubi salvantur. Hae unctiones valores default habent et in pluribus laborare debent. Pro maiori, commendamus legendi documenta nostra de configurationibus imaginum.

Profecta est oratio IP pro Riak

Cum electronica IP pro Riak constituenda sit, certo debes habere nodos Riak singularem IP inscriptionem habere, utrum uno tantum nodo laboras an plures nodi systemati addas. Riak IP oratio in riak.conf continetur vel - si tabella app.config - in vm.args tabella configurationis, quae ibi sita est in indice /etc/riak (vel /opt/riak/etc/) in aliis systematibus operandi).

Initio lineae IP inscriptionis Riak continens demonstrat localis in hoc loco:

RIAK.CONF

 nodename = [email protected]

VM.ARGS

 -name [email protected]

Repone 127.0.0.1 cum praelata IP inscriptione vel hostname nodi Riak.

Euismod ac Bandwidth Occasus

Ad rationes perficiendas valde commendamus valores addendo ad imaginum configurationis Riak riak.conf vel vm.args, in /etc/riak/ vel /opt/riak/etc presul sita.

RIAK.CONF

 erlang.max_ports = 65536

VM.ARGS

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

Inactivare JavaScript MapReduce

Commendatur non uti legatum JavaScript MapReduce cum aliqua versione Riak CS. Ad rationes perficiendas, virtualem machinam faciendo JavaScript MapReduce operationes debilitare debes in riak.conf configurationis fasciculi, vel in riak_kv sectioni advanced.conf vel 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
]}

Deinde necesse est reliquas partes systematis Riak CS configurare.

Originale manuale.

Source: www.habr.com