Riak Cloud Storage. ื—ืœืง 1: ื”ื’ื“ืจืช Riak KV

Riak CS (ืื—ืกื•ืŸ ื‘ืขื ืŸ) โ€“ ืชื•ื›ื ื” ืงืœื” ืœืฉื™ืžื•ืฉ ืœืืจื’ื•ืŸ ืื—ืกื•ืŸ ืื•ื‘ื™ื™ืงื˜ื™ื, ื”ืคื•ืขืœืช ืขืœ ื’ื‘ื™ Riak KV. Riak (KV) ื”ื•ื ืžืกื“ ื ืชื•ื ื™ื ืžื‘ื•ื–ืจ ืฉืœ NoSQL ืžืคืชื—-ืขืจืš. Riak CS ื ื•ืขื“ ืœืกืคืง ืคืฉื˜ื•ืช, ื–ืžื™ื ื•ืช, ื”ืคืฆื” ืฉืœ ืื—ืกื•ืŸ ืขื ืŸ ื‘ื›ืœ ืงื ื” ืžื™ื“ื”, ื•ื ื™ืชืŸ ืœื”ืฉืชืžืฉ ื‘ื• ืœื‘ื ื™ื™ืช ืืจื›ื™ื˜ืงื˜ื•ืจื•ืช ืขื ืŸ - ืฆื™ื‘ื•ืจื™ื•ืช ื•ืคืจื˜ื™ื•ืช ื›ืื—ื“ - ืื• ื›ืื—ืกื•ืŸ ืชืฉืชื™ืช ืขื‘ื•ืจ ื™ื™ืฉื•ืžื™ื ื•ืฉื™ืจื•ืชื™ื ื˜ืขื•ื ื™ื ืžืื•ื“. Riak CS API ืชื•ืื ืœืืžื–ื•ืŸ S3 ื•ืชื•ืžืš ื‘ื™ื›ื•ืœืช ืœืงื‘ืœ ื“ื™ื•ื•ื—ื™ื ืขืœ ืžืฆื‘ื™ื ืฉื•ื ื™ื.

Riak Cloud Storage. ื—ืœืง 1: ื”ื’ื“ืจืช Riak KV
ืžืืžืจ ื–ื” ื”ื•ื ืชืจื’ื•ื ื—ื•ืคืฉื™ ืฉืœ ื”ืžื“ืจื™ืš ื”ืจืฉืžื™ ืขื‘ื•ืจ ืžืขืจื›ืช Riak CS ื’ืจืกื” 2.1.1

ื‘ืžืขืจื›ืช ื”ืื—ืกื•ืŸ Riak CS, ืฉืœื•ืฉื” ืจื›ื™ื‘ื™ื ืคื•ืขืœื™ื ื‘ืฉื™ืœื•ื‘ ื–ื” ืขื ื–ื”, ืžื” ืฉืื•ืžืจ ืฉื›ืœ ืจื›ื™ื‘ ื—ื™ื™ื‘ ืœื”ื™ื•ืช ืžื•ื’ื“ืจ ื›ืš ืฉื™ืขื‘ื•ื“ ืขื ื”ืจื›ื™ื‘ื™ื ื”ืื—ืจื™ื:

  • ืจื™ืืง (KV) โ€“ ืžืขืจื›ืช ืžืกื“ ื ืชื•ื ื™ื ื”ืคื•ืขืœืช ื›ืžืขืจื›ืช ืงืฆื”.
  • ืจื™ืืง CS - ืฉื›ื‘ืช ืื—ืกื•ืŸ ื‘ืขื ืŸ ืขืœ ื’ื‘ื™ Riak ื”ืžืกืคืงืช ื™ื›ื•ืœื•ืช ืื—ืกื•ืŸ ื•-API, ืžืื—ืกื ืช ืงื‘ืฆื™ื ื•ืžื˜ื ื ืชื•ื ื™ื ื‘ืจื™ืืง ื•ืœืื—ืจ ืžื›ืŸ ืžืคื™ืฆื” ืื•ืชื ืœืžืฉืชืžืฉื™ ืงืฆื”.
  • ืกื ื™ืฃ - ืžื ื”ืœ ืฉืื™ืœืชื•ืช ื”ื›ื•ืœืœื•ืช ื™ืฉื•ื™ื•ืช ื™ื™ื—ื•ื“ื™ื•ืช ื‘ืขื•ืœื ื›ื’ื•ืŸ ื“ืœื™ื™ื ื•ืžืฉืชืžืฉื™ื ื‘ืžื•ืคืข ืฉืœ Riak. ืœื“ื•ื’ืžื”, ื™ืฆื™ืจืช ืžืฉืชืžืฉื™ื, ื™ืฆื™ืจื” ืื• ืžื—ื™ืงื” ืฉืœ ื“ืœื™ื™ื.

ื‘ื ื•ืกืฃ, ืืชื” ื™ื›ื•ืœ ื’ื ืœื”ื’ื“ื™ืจ ืืช ืœืงื•ื— S3 ืœืฉื™ืžื•ืฉ ื‘ื”ืขื‘ืจืช ื”ื•ื“ืขื•ืช ืขื ืžืขืจื›ืช Riak CS.

ืขืœื™ืš ืœืชื›ื ืŸ ืฉื™ื”ื™ื” ืฆื•ืžืช Riak ืื—ื“ ืขื‘ื•ืจ ื›ืœ ืฆื•ืžืช Riak CS ื‘ืžืขืจื›ืช ืฉืœืš. ื ื™ืชืŸ ืœื”ืคืขื™ืœ ืืช ืฆืžืชื™ Riak ื•-Riak CS ื‘ืžื›ื•ื ื•ืช ืคื™ื–ื™ื•ืช ืฉื•ื ื•ืช, ืืš ื‘ืจื•ื‘ ื”ืžืงืจื™ื ืขื“ื™ืฃ ืœื”ืคืขื™ืœ ืฆื•ืžืช Riak ืื—ื“ ื•ืฆื•ืžืช Riak CS ืื—ื“ ืขืœ ืื•ืชื” ืžื›ื•ื ื” ืคื™ื–ื™ืช. ื‘ื”ื ื—ื” ืฉืœืžื›ื•ื ื” ืคื™ื–ื™ืช ืื—ืช ื™ืฉ ืžืกืคื™ืง ื›ื•ื— ื›ื“ื™ ืœืกืคืง ืืช ื”ืฆืจื›ื™ื ืฉืœ ืฆื•ืžืช Riak ื•- Riak CS ื›ืื—ื“, ื‘ื“ืจืš ื›ืœืœ ืชืจืื” ื‘ื™ืฆื•ืขื™ื ื˜ื•ื‘ื™ื ื™ื•ืชืจ ื‘ื’ืœืœ ื–ืžืŸ ื”ืฉื”ื™ื™ื” ืžื•ืคื—ืช ื‘ืจืฉืช.

ืื ื”ืžืขืจื›ืช ืฉืœืš ืžื•ืจื›ื‘ืช ืžืžืกืคืจ ืฆืžืชื™ื, ื”ืชืฆื•ืจื” ื”ื™ื ื‘ืขื™ืงืจ ืขืœ ื”ื’ื“ืจืช ืชืงืฉื•ืจืช ื‘ื™ืŸ ืจื›ื™ื‘ื™ื. ืœื”ื’ื“ืจื•ืช ืื—ืจื•ืช, ื›ืžื• ื”ื™ื›ืŸ ื™ืื•ื—ืกื ื• ืงื‘ืฆื™ ื”ื™ื•ืžืŸ, ื™ืฉ ืขืจื›ื™ ื‘ืจื™ืจืช ืžื—ื“ืœ ื•ื™ืฉ ืœืฉื ื•ืช ืจืง ืื ื‘ืจืฆื•ื ืš ืœื”ืฉืชืžืฉ ื‘ืขืจื›ื™ื ืœื ืกื˜ื ื“ืจื˜ื™ื™ื.

ื”ื’ื“ืจืช ืจื›ื™ื‘ื™ ืžืขืจื›ืช. ื”ื’ื“ืจืช Riak KV ืขื‘ื•ืจ CS

ืžื›ื™ื•ื•ืŸ ืฉ-Riak CS ื”ื™ื ืืคืœื™ืงืฆื™ื” ืฉื ื‘ื ืชื” ืขืœ ื’ื‘ื™ Riak, ื—ืฉื•ื‘ ืžืื•ื“ ืœืฉื™ื ืœื‘ ืœืชืฆื•ืจืช Riak ืฉืœืš ื‘ืขืช ื”ืคืขืœืช Riak CS. ืžืกืžืš ื–ื” ื”ื•ื ื’ื ืžื“ืจื™ืš ืชืฆื•ืจื” ืฉืœ Riak ื•ื’ื ืžืกืžืš ืขื–ืจ ื”ืžืชืืจ ืคืจืžื˜ืจื™ื ื—ืฉื•ื‘ื™ื ืฉืœ ืชืฆื•ืจื”.

ืœืคื ื™ ื”ื”ื’ื“ืจื”, ื•ื“ื ืฉ- Riak KV ื•- Riak CS ืžื•ืชืงื ื™ื ื‘ื›ืœ ืฆื•ืžืช ื‘ืืฉื›ื•ืœ ืฉืœืš. ืกื˜ื ืฆ'ื™ื•ืŸ, ืœืขื•ืžืช ื–ืืช, ืฆืจื™ืš ืœื”ื™ื•ืช ืžื•ืชืงืŸ ืจืง ืขืœ ืฆื•ืžืช ืื—ื“ ื‘ื›ืœ ื”ืืฉื›ื•ืœ.

Riak Cloud Storage. ื—ืœืง 1: ื”ื’ื“ืจืช Riak KV

ืงืฆื” ืื—ื•ืจื™ ืขื‘ื•ืจ Riak CS

ื‘ืจื™ืจืช ื”ืžื—ื“ืœ ื”ืื—ื•ืจื™ ืฉืœ Riak ื”ื•ื Bitcask, ืืš ื—ื‘ื™ืœืช Riak CS ื›ื•ืœืœืช ืงืฆื” ืื—ื•ืจื™ ืžื™ื•ื—ื“ ืฉื—ื™ื™ื‘ ืœืฉืžืฉ ืืช ืืฉื›ื•ืœ Riak ืฉื”ื•ื ื—ืœืง ืžืžืขืจื›ืช Riak CS. ืœื’ืจืกื” ื”ืจื’ื™ืœื” ื™ืฉ ืืช ื”-Multi backend ื”ืกื˜ื ื“ืจื˜ื™ ืฉืžื’ื™ืข ืขื Riak.

ืื•ืชื ื“ืœื™ื™ื ืฉืœ Riak ื”ืžืฉืžืฉื™ื ื‘ืชื•ืš Riak CS ืžืฉืชืžืฉื™ื ื‘ืื™ื ื“ืงืกื™ื ืžืฉื ื™ื™ื, ืฉื“ื•ืจืฉื™ื ื›ืขืช ืงืฆื” ืื—ื•ืจื™ ืฉืœ LevelDB. ื—ืœืงื™ื ืื—ืจื™ื ืฉืœ ืžืขืจื›ืช Riak CS ื™ื›ื•ืœื™ื ืœื”ืคื™ืง ืชื•ืขืœืช ืžืฉื™ืžื•ืฉ ื‘-Bticask backend. ื”ืฉื™ืžื•ืฉ ื‘-Multi backend ืœื“ื•ื’ืžื” ื›ืœื•ืœ ื‘-Riak CS ื›ื“ื™ ืœื ืฆืœ ืืช ืฉื ื™ ื”-backends ื”ืœืœื• ื›ื“ื™ ืœื”ืฉื™ื’ ืืช ื”ืฉื™ืœื•ื‘ ื”ื˜ื•ื‘ ื‘ื™ื•ืชืจ ืฉืœ ื‘ื™ืฆื•ืขื™ื ื•ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช. ื”ืกืขื™ืฃ ื”ื‘ื ืžืชืืจ ื›ื™ืฆื“ ืœื”ื’ื“ื™ืจ ื ื›ื•ืŸ ืืช Riak ืœื”ืฉืชืžืฉ ื‘-Multi-backend ื–ื”.

ืื—ื•ืจื™ ื–ื” ืžื” ืฉื™ืฉืชืžืฉ ืจื™ืืง ื›ื“ื™ ืœืฉืžื•ืจ ื ืชื•ื ื™ื. ืœ-Riak KV ื™ืฉ ื›ืžื” ืžืขืจื›ื•ืช ืื—ื•ืจื™ื•ืช ื‘ืืจืกื ืœ ืฉืœื”: Bitcask, LevelDB, Memory ื•-Multi.

ื‘ื ื•ืกืฃ, ืžืขืจื›ืช ื—ื™ืฉื•ื‘ ื”ืื—ืกื•ืŸ ืžืฉืชืžืฉืช ื‘-Riak MapReduse ื›ื“ื™ ืœืฆื‘ื•ืจ ืงื‘ืฆื™ื ืœื“ืœื™ื™ื. ืžืฉืžืขื•ืช ื”ื“ื‘ืจ ื”ื™ื ืฉืขืœื™ืš ืœื•ืžืจ ืœื›ืœ ืฆืžืชื™ Riak ื”ื™ื›ืŸ ืœื—ืคืฉ ืงื‘ืฆื™ Riak CS ืžื•ื›ื ื™ื ืœืคื ื™ ืื—ืกื•ืŸ ืžื—ืฉื•ื‘.

ื™ืฉ ืœืฉื ื•ืช ืžืกืคืจ ืคืจืžื˜ืจื™ื ืื—ืจื™ื ื›ื“ื™ ืœื”ื’ื“ื™ืจ ืืช ืฆื•ืžืช Riak ื›ื—ืœืง ืžืžืขืจื›ืช Riak CS, ื›ื’ื•ืŸ ื›ืชื•ื‘ืช ื”-IP ื•ื›ืชื•ื‘ืช ื”-IP ื•ื”ื™ืฆื™ืื” ืœื”ืขื‘ืจืช ื”ื•ื“ืขื•ืช ื“ืจืš ืžืื’ืจื™ ืคืจื•ื˜ื•ืงื•ืœ. ื ื™ืชืŸ ืœืฉื ื•ืช ื”ื’ื“ืจื•ืช ืื—ืจื•ืช ื‘ืžื™ื“ืช ื”ืฆื•ืจืš. ื”ืกืขื™ืคื™ื ื”ื‘ืื™ื ืžืชืืจื™ื ื›ื™ืฆื“ ืœื”ื’ื“ื™ืจ ืฆื•ืžืช Riak ืœืคืขื•ืœ ื›ื—ืœืง ืžืžืขืจื›ืช Riak CS.

ื”ืงืžืช Riak backend

ืจืืฉื™ืช, ืงื‘ืฆื™ ื”ืชืฆื•ืจื” riak.conf ืื• advanced.config/app.config ื ืขืจื›ื™ื. ืงื‘ืฆื™ื ืืœื” ื™ื›ื•ืœื™ื ืœื”ื™ื•ืช ืžืžื•ืงืžื™ื ื‘ืกืคืจื™ื•ืช /etc/riak ืื• /opt/riak/etc. ื›ื‘ืจื™ืจืช ืžื—ื“ืœ, Riak ืžืฉืชืžืฉ ื‘-Bitcask backend. ื”ื“ื‘ืจ ื”ืจืืฉื•ืŸ ืฉืขืœื™ื ื• ืœืขืฉื•ืช ื”ื•ื ืœืฉื ื•ืช ืืช ืงื•ื‘ืฅ ื”ืชืฆื•ืจื” ืขืœ ื™ื“ื™ ื”ืกืจืช ื”ืฉื•ืจื” ื”ื‘ืื”:

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

ืœืื—ืจ ืžื›ืŸ, ืขืœื™ื ื• ืœื”ื“ื’ื™ื ืืช ื”ืฆื•ืจืš ื‘ืžื•ื“ื•ืœื™ RiakCS ืขื‘ื•ืจ Riak ื•ืœื”ื•ืจื•ืช ืœืจื™ืืง ืœื”ืฉืชืžืฉ ื‘-backend ื”ืžื•ื’ื“ืจ ื”ืžืกืคืง ืืช Riak CS. ืขืœื™ื ื• ืœื”ืฉืชืžืฉ ื‘ืงื•ื‘ืฅ advanced.config ืื• app.config ืœืฉื ื›ืš ื•ืœื”ื•ืกื™ืฃ ืืช ื”ืืคืฉืจื•ื™ื•ืช ื”ื‘ืื•ืช:

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

ื—ืฉื•ื‘ ืžืื•ื“ ืœืฆื™ื™ืŸ ืฉืจื‘ื™ื ืžื”ืขืจื›ื™ื ื”ืœืœื• ื™ื”ื™ื• ืชืœื•ื™ื™ื ื‘ื•ื•ืจื™ืืฆื™ื•ืช ืกืคืจื™ื•ืช ืกืคืฆื™ืคื™ื•ืช ืœืžืขืจื›ืช ื”ื”ืคืขืœื” ืฉืœืš, ืื– ืคืขืœ ื‘ื”ืชืื ืœื”ื•ืจืื•ืช. ืœื“ื•ื’ืžื”, ื”ืืคืฉืจื•ืช add_paths ืžื ื™ื—ื” ืฉ-Riak CS ืžื•ืชืงืŸ ื‘-/usr/lib/riak-cs, ื‘ืขื•ื“ ืฉืืคืฉืจื•ื™ื•ืช data_root ืžื ื™ื—ื•ืช ืฉ-Riak ืžื•ืชืงืŸ ื‘-/var/lib. (ื”ืขืจื”: ื‘ืžืงืจื” ืฉืœื™ ื–ื” ื”ื™ื” add_paths - /usr/lib64/riak-cs/).

ืชืฆื•ืจื” ื–ื• ืžื ื™ื—ื” ืฉ-Riak CS ืžื•ืชืงืŸ ืขืœ ืื•ืชื” ืžื›ื•ื ื” ื›ืžื• Riak. ืื ืœื, ื™ืฉ ืœื”ืขืชื™ืง ืืช ื”ื—ื‘ื™ืœื” ืœืžืืจื— ื ืคืจื“.

ื”ื’ื“ืจืช ื™ืฆื™ืจืช ืื—ื™ื

ื›ืขืช, ืขืœื™ื ื• ืœื”ื’ื“ื™ืจ ืืช ื”ืคืจืžื˜ืจ allow_mult ืœ-true. ืื ื—ื ื• ื™ื›ื•ืœื™ื ืœื”ื•ืกื™ืฃ ืฉื•ืจื” ื‘ืงื•ื‘ืฅ ื”ืชืฆื•ืจื” riak.conf, ืื• ืงื˜ืข riak_core ื‘-advanced.config ืื• 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
]}

ื–ื” ื™ืืคืฉืจ ืœืจื™ืืง ืœื™ืฆื•ืจ ืื—ื™ื ื”ื ื—ื•ืฆื™ื ืœืจื™ืืง CS ืœืชืคืงื“. ืื ืืชื” ืžืชื—ื‘ืจ ืœ-Riak CS ื‘ืืžืฆืขื•ืช ืกืคืจื™ื™ืช ื”ืœืงื•ื—, ืืœ ืชื“ืื’: ืœื ืชืฆื˜ืจืš ืœืคืชื•ืจ ื”ืชื ื’ืฉื•ื™ื•ืช, ืžื›ื™ื•ื•ืŸ ืฉื›ืœ ืคืขื•ืœื•ืช Riak CS ื”ืŸ ืขืงื‘ื™ื•ืช ื‘ื”ื—ืœื˜ ื›ืคื™ ืฉื”ื•ื’ื“ืจื•.

ืึธื— ืื•ึน ืึธื—ื•ึนืช ื”ื™ื ื“ืจืš ืœืื—ืกืŸ ืžืกืคืจ ืื•ื‘ื™ื™ืงื˜ื™ื ื‘ืžืคืชื— ืื—ื“ ื›ืš ืฉืœืื•ื‘ื™ื™ืงื˜ ื™ื”ื™ื• ืขืจื›ื™ื ืฉื•ื ื™ื ื‘ืฆืžืชื™ื ืฉื•ื ื™ื.

ื”ืขืจื”: allow_mult
ืœื›ืœ ืฆื•ืžืช Riak ืฉืชื•ืžืš ื’ื ื‘-Riak CS ื™ื”ื™ื” allow_mult ืžื•ื’ื“ืจ ื›-true ื‘ื›ืœ ืขืช. Riak CS ื™ืืคืก ืืช ื”ื”ืฉืงื” ืื ื”ืขืจืš ื”ื•ื ืฉืงืจ.

ื”ื’ื“ืจืช ืฉื ื”ืžืืจื— ื•ื›ืชื•ื‘ืช ื”-IP

ืœื›ืœ ืฆื•ืžืช Riak ื™ืฉ ืฉื, ืื•ืชื• ื ื™ืชืŸ ืœืฆื™ื™ืŸ ื‘ืืคืฉืจื•ืช ืฉื ื”ืฆื•ืžืช ื‘-riak.conf. ืื ืืชื” ืžืฉืชืžืฉ ื‘ืงื•ื‘ืฅ ื”ืชืฆื•ืจื” app.config, ืขืœื™ืš ืœื™ืฆื•ืจ ืงื•ื‘ืฅ ื‘ืฉื vm.args ื‘ืื•ืชื” ืกืคืจื™ื™ื” ื›ืžื• app.config ื•ืœืฆื™ื™ืŸ ืืช ืฉื ื”ืžืืจื— ื‘ืืžืฆืขื•ืช ื”ื“ื’ืœ -name. ืื ื• ืžืžืœื™ืฆื™ื ืœืฆื™ื™ืŸ ืฉืžื•ืช ืฆืžืชื™ื ื‘ืคื•ืจืžื˜ @. ื•ื›ืš ืื ื™ืฉ ืœืš ืฉืœื•ืฉื” ืฆืžืชื™ื ื”ืคื•ืขืœื™ื ืขืœ ืžืืจื— ืื—ื“ 100.0.0.1, ืืชื” ื™ื›ื•ืœ ืœื”ืชืงืฉืจ ืืœื™ื”ื [ืžื•ื’ืŸ ื‘ื“ื•ื"ืœ], [ืžื•ื’ืŸ ื‘ื“ื•ื"ืœ]ื• - [ืžื•ื’ืŸ ื‘ื“ื•ื"ืœ] ืื• ืฉืืชื” ื™ื›ื•ืœ ืœืชืช ืฉืžื•ืช ืกืคืฆื™ืคื™ื™ื ื™ื•ืชืจ, ื›ื’ื•ืŸ [ืžื•ื’ืŸ ื‘ื“ื•ื"ืœ], [ืžื•ื’ืŸ ื‘ื“ื•ื"ืœ] ื•ื›ื•ืœื™. ื”ื“ื•ื’ืžื” ืฉืœื”ืœืŸ ืžื“ื’ื™ืžื” ืืช ืฉื™ื ื•ื™ ืฉื ื”ืžืืจื— ืœ [ืžื•ื’ืŸ ื‘ื“ื•ื"ืœ], ืฉื™ืคืขืœ ืขืœ localhost.

RIAK.CONF

 nodename = [email protected] 

VM.ARGS

 -name [email protected]

ืขืœื™ืš ืœืชืช ืฉื ืœื›ืœ ื”ืฆืžืชื™ื ืœืคื ื™ ื”ืคืขืœืชื ื•ื”ืฆื˜ืจืคื•ืช ืœืืฉื›ื•ืœ.

ืžื‘ื—ืŸ ื”ืชืงื ื”

ื›ืขืช, ืœืื—ืจ ืฉื”ื•ืฉืœืžื• ื›ืœ ื”ื’ื“ืจื•ืช ื”ืฆื•ืžืช ื”ื“ืจื•ืฉื•ืช, ืื ื• ื™ื›ื•ืœื™ื ืœื ืกื•ืช ืœื”ืคืขื™ืœ ืืช Riak:

SHELL

 riak start 

ื”ืขืจื” ื”ืชืฉื•ื‘ื” ื‘ืžืงืจื” ืฉืœื™:

Riak Cloud Storage. ื—ืœืง 1: ื”ื’ื“ืจืช Riak KV

ื›ืืŸ ืืชื” ืฆืจื™ืš ืœื—ื›ื•ืช ืงืฆืช. ืื– ืืชื” ื™ื›ื•ืœ ืœื”ืชื—ื™ืœ ืœื‘ื“ื•ืง ืืช ื”ืฆื•ืžืช ื”ืคื•ืขืœ.

SHELL

 riak ping

ืื ื”ืชื’ื•ื‘ื” ื”ื™ื ืคื•ื ื’, ืื– Riak ืคื•ืขืœ; ืื ื”ืชื’ื•ื‘ื” ื”ื™ื Node ืœื ืžื’ื™ื‘ ืœืคื™ื ื’ื™ื, ืื– ืžืฉื”ื• ื”ืฉืชื‘ืฉ.

ื”ืขืจื” ื”ืชืฉื•ื‘ื” ื‘ืžืงืจื” ืฉืœื™:

Riak Cloud Storage. ื—ืœืง 1: ื”ื’ื“ืจืช Riak KV

ืื ื”ืฆื•ืžืช ืœื ื”ืชื—ื™ืœ ื›ื”ืœื›ื”, ืขื™ื™ืŸ ื‘ื™ื•ืžืŸ erlang.log.1 ื‘ืกืคืจื™ื™ืช /log ืฉืœ ื”ืฆื•ืžืช ืื ื ื™ืชืŸ ืœื–ื”ื•ืช ืืช ื”ื‘ืขื™ื”. ืื—ืช ื”ืฉื’ื™ืื•ืช ื”ื ืคื•ืฆื•ืช ื‘ื™ื•ืชืจ ื”ื™ื invalid_storage_backend. ืžื” ืฉืžืขื™ื“ ืฉื”ื ืชื™ื‘ ืœืกืคืจื™ื™ืช Riak CS ื‘-advanced.config ืื• ื‘-app.config ืฉื’ื•ื™ (ืื• Riak CS ืœื ืžื•ืชืงืŸ ื‘ืฉืจืช). ืœืžืจื•ืช ืฉื’ื™ืื” ื–ื•, ื•ื“ื ืฉืœื ืฉื™ื ื™ืช ืž-riak_cs_kv_multi_backend ืœ-riak_kv_multi_backend.

ื”ื’ื“ืจืช Riak ืœืฉื™ืžื•ืฉ ื‘ืžืื’ืจื™ ืคืจื•ื˜ื•ืงื•ืœ

ื”ื’ื“ืจื•ืช ื”ืžืื’ืจ ืฉืœ ืคืจื•ื˜ื•ืงื•ืœ Riak ืžืžื•ืงืžื•ืช ื‘-riak.conf ืื• ื‘ืงื˜ืข riak_api ื‘ืงื‘ืฆื™ advanced.config ืื• app.config, ื”ืžืžื•ืงืžื™ื ื‘ืกืคืจื™ื™ื” /etc/riak/. ื›ื‘ืจื™ืจืช ืžื—ื“ืœ, ืœืžืืจื— ื™ืฉ ื›ืชื•ื‘ืช IP ืฉืœ 127.0.0.1 ื•ื™ืฆื™ืื” 8087. ืชืฆื˜ืจืš ืœืฉื ื•ืช ืืช ืืœื” ืื ืืชื” ืžืชื›ื ืŸ ืœื”ืคืขื™ืœ ืืช Riak ื•- Riak CS ื‘ืกื‘ื™ื‘ื” ืœื ืžืงื•ืžื™ืช. ื”ื—ืœืฃ ืืช 127.0.0.1 ื‘ื›ืชื•ื‘ืช ื”-IP ื”ืžืืจื— ืฉืœ Riak ื•ื™ืฆื™ืื” 8087 ื‘ื›ืชื•ื‘ืช ืžืชืื™ืžื”.

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

ื”ืขืจื”:ื”ืขืจืš ืฉืœ ื”ืคืจืžื˜ืจ listener.protobuf.internal ื‘ืงื•ื‘ืฅ riak.conf (ืื• ื”ืขืจืš ืฉืœ ื”ืคืจืžื˜ืจ pb ื‘ืงื•ื‘ืฅ advanced.conf/app.config) ื—ื™ื™ื‘ ืœื”ืชืื™ื ืœืขืจื›ื™ื ืฉืœ riak_host ื‘- Riak CS riak-cs.config ื• Stanchion stanchion.conf (ืื• riak_host ื‘ื”ืชืืžื” ื‘ืงื‘ืฆื™ .config/app.config) ืžืชืงื“ืžื™ื.

ื”ืขืจื” ืœื’ื‘ื™ ืžืกืคืจ ื”ื™ืฆื™ืื”
ื™ื™ืชื›ืŸ ืฉื ื“ืจืฉ ืžืกืคืจ ื™ืฆื™ืื” ืฉื•ื ื” ืื ื”ื™ืฆื™ืื” ืžืชื ื’ืฉืช ืขื ื™ืฆื™ืื•ืช ื”ืžืฉืžืฉื•ืช ื™ื™ืฉื•ื ืื—ืจ ืื• ืื ืืชื” ืžืฉืชืžืฉ ื‘ืžืื–ืŸ ืขื•ืžืกื™ื ืื• ื‘ืฉืจืช proxy.

ื›ืžื• ื›ืŸ, ืžื•ืžืœืฅ ืœืžืฉืชืžืฉื™ื ืœื•ื•ื“ื ืฉื’ื•ื“ืœ Riak protobuf.backlog (ืื• ื‘ืงื‘ืฆื™ advanced.config/app.config ื–ื” pb_backlog) ืฉื•ื•ื” ืื• ื’ื“ื•ืœ ืžื”-pool.request.size ืฉืฆื•ื™ืŸ ืขื‘ื•ืจ Riak CS ื‘-riak-cs. config (ืื• request_pool_size ื‘ืงื‘ืฆื™ advanced.config/ app.conf).

ืื ื”ืขืจืš ืฉืœ pool.request.size ื‘- Riak CS ืฉื•ื ื”, ืื–ื™ ื™ืฉ ืœืขื“ื›ืŸ ื’ื ืืช ื”ืขืจืš ืฉืœ protobuf.backlog ื‘- Riak.

ื”ื’ื“ืจื•ืช ืื—ืจื•ืช ืฉืœ Riak

ื”ืงื‘ืฆื™ื riak.conf ื•- advanced.config ื›ื•ืœืœื™ื ื”ื’ื“ืจื•ืช ืื—ืจื•ืช ืฉืžื’ื“ื™ืจื•ืช ืืช ื”ื™ืฆื™ืจื” ืฉืœ ืงื•ื‘ืฆื™ ื™ื•ืžืŸ ื•ื”ื™ื›ืŸ ื”ื ื ืฉืžืจื™ื. ืœื”ื’ื“ืจื•ืช ืืœื” ื™ืฉ ืขืจื›ื™ ื‘ืจื™ืจืช ืžื—ื“ืœ ื•ืืžื•ืจื•ืช ืœืขื‘ื•ื“ ื‘ืจื•ื‘ ื”ืžืงืจื™ื. ืœืžื™ื“ืข ื ื•ืกืฃ, ืื ื• ืžืžืœื™ืฆื™ื ืœืงืจื•ื ืืช ื”ืชื™ืขื•ื“ ืฉืœื ื• ืœื’ื‘ื™ ืงื•ื‘ืฆื™ ืชืฆื•ืจื”.

ื”ื’ื“ืจืช ื›ืชื•ื‘ืช IP ืขื‘ื•ืจ Riak

ื‘ืขืช ื”ื’ื“ืจืช ื›ืชื•ื‘ืช IP ืขื‘ื•ืจ Riak, ืขืœื™ืš ืœื”ื™ื•ืช ื‘ื˜ื•ื— ืฉืœืฆืžืชื™ Riak ื™ืฉ ื›ืชื•ื‘ืช IP ื™ื™ื—ื•ื“ื™ืช, ื‘ื™ืŸ ืื ืืชื” ืขื•ื‘ื“ ืขื ืฆื•ืžืช ืื—ื“ ื‘ืœื‘ื“ ื•ื‘ื™ืŸ ืื ืืชื” ืžื•ืกื™ืฃ ืขื•ื“ ืฆืžืชื™ื ืœืžืขืจื›ืช. ื›ืชื•ื‘ืช ื”-IP ืฉืœ Riak ื›ืœื•ืœื” ื‘-riak.conf ืื• - ืื ืืชื” ืžืฉืชืžืฉ ื‘ืงื•ื‘ืฅ app.config - ื‘ืงื•ื‘ืฅ ื”ืชืฆื•ืจื” vm.args, ืฉื ืžืฆื ืฉื ื‘ืกืคืจื™ื™ืช /etc/riak (ืื• /opt/riak/etc/ ื‘ืžืขืจื›ื•ืช ื”ืคืขืœื” ืื—ืจื•ืช).

ื‘ืชื—ื™ืœื”, ื”ืฉื•ืจื” ื”ืžื›ื™ืœื” ืืช ื›ืชื•ื‘ืช ื”-IP ืฉืœ Riak ืžืคื ื” ืืœ ื”ืžืืจื— ื”ืžืงื•ืžื™ ื‘ืžื™ืงื•ื ื–ื”:

RIAK.CONF

 nodename = [email protected]

VM.ARGS

 -name [email protected]

ื”ื—ืœืฃ ืืช 127.0.0.1 ื‘ื›ืชื•ื‘ืช ื”-IP ื”ืžื•ืขื“ืคืช ืขืœื™ืš ืื• ื‘ืฉื ื”ืžืืจื— ืฉืœ ืฆื•ืžืช Riak.

ื”ื’ื“ืจื•ืช ื‘ื™ืฆื•ืขื™ื ื•ืจื•ื—ื‘ ืคืก

ืžื˜ืขืžื™ ื‘ื™ืฆื•ืขื™ื, ืื ื• ืžืžืœื™ืฆื™ื ื‘ื—ื•ื ืœื”ื•ืกื™ืฃ ืขืจื›ื™ื ืœืงื•ื‘ืฆื™ ื”ืชืฆื•ืจื” ืฉืœ Riak riak.conf ืื• vm.args, ื”ืžืžื•ืงืžื™ื ื‘ืกืคืจื™ื™ืช /etc/riak/ ืื• /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

ืžื•ืžืœืฅ ืœื ืœื”ืฉืชืžืฉ ื‘-JavaScript MapReduce ืžื“ื•ืจ ืงื•ื“ื ืขื ื›ืœ ื’ืจืกื” ืฉืœ Riak CS. ืžื˜ืขืžื™ ื‘ื™ืฆื•ืขื™ื, ืขืœื™ืš ืœื”ืฉื‘ื™ืช ืืช ื”ืžื—ืฉื‘ ื”ื•ื•ื™ืจื˜ื•ืืœื™ ื”ืžื‘ืฆืข ืคืขื•ืœื•ืช JavaScript MapReduce ืขืœ ื™ื“ื™ ื”ื’ื“ืจื” ื‘ืงื•ื‘ืฅ ื”ืชืฆื•ืจื” riak.conf, ืื• ื‘ืงื˜ืข riak_kv ืฉืœ advanced.conf ืื• 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
]}

ื‘ืฉืœื‘ ื”ื‘ื ืขืœื™ื ื• ืœื”ื’ื“ื™ืจ ืืช ืฉืืจ ื”ืจื›ื™ื‘ื™ื ืฉืœ ืžืขืจื›ืช Riak CS.

ืžื“ืจื™ืš ืžืงื•ืจื™.

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”