Riak Cloud Storage. 1 කොටස: Riak KV පිහිටුවීම

Riak CS (Cloud Storage) - Riak KV මත ධාවනය වන වස්තු ගබඩාව සංවිධානය කිරීම සඳහා භාවිතා කිරීමට පහසු මෘදුකාංගයකි. Riak (KV) යනු බෙදා හරින ලද NoSQL යතුරු අගය දත්ත ගබඩාවකි. Riak CS නිර්මාණය කර ඇත්තේ ඕනෑම පරිමාණයක වලාකුළු ආචයනය සරල බව, ලබා ගත හැකි බව, බෙදා හැරීම සඳහා වන අතර, වලාකුළු ගෘහ නිර්මාණ ශිල්පය - පොදු සහ පෞද්ගලික යන දෙඅංශයෙන්ම ගොඩනැගීමට හෝ අධික ලෙස පටවා ඇති යෙදුම් සහ සේවා සඳහා යටිතල පහසුකම් ගබඩාවක් ලෙස භාවිතා කළ හැක. Riak CS API Amazon S3 සමඟ අනුකූල වන අතර විවිධ තත්වයන් පිළිබඳ වාර්තා ලබා ගැනීමේ හැකියාව සඳහා සහය දක්වයි.

Riak Cloud Storage. 1 කොටස: Riak KV පිහිටුවීම
මෙම ලිපිය Riak CS පද්ධති අනුවාදය 2.1.1 සඳහා නිල අත්පොතෙහි නොමිලේ පරිවර්තනයකි

Riak CS ගබඩා පද්ධතිය තුළ, සංරචක තුනක් එකිනෙක සම්බන්ධව ක්‍රියා කරයි, එයින් අදහස් කරන්නේ එක් එක් සංරචක අනෙකුත් සංරචක සමඟ වැඩ කිරීමට වින්‍යාසගත කළ යුතු බවයි:

  • රියාක් (KV) - අවසාන පද්ධතියක් ලෙස ක්‍රියා කරන දත්ත සමුදා පද්ධතියකි.
  • රියාක් සීඑස් - Riak මත ඇති වලාකුළු ගබඩා ස්ථරයක් ගබඩා සහ API හැකියාවන් සපයන, Riak හි ගොනු සහ පාර-දත්ත ගබඩා කරයි, පසුව ඒවා අවසන් පරිශීලකයින් වෙත බෙදා හරියි.
  • ස්ටැන්චියන් - රියාක් අවස්ථාවෙහි බාල්දි සහ භාවිතා කරන්නන් වැනි ගෝලීය වශයෙන් අද්විතීය ආයතන සම්බන්ධ විමසුම් කළමනාකරණය කරයි. උදාහරණයක් ලෙස, පරිශීලකයන් නිර්මාණය කිරීම, බාල්දි නිර්මාණය කිරීම හෝ මකා දැමීම.

අමතරව, ඔබට Riak CS පද්ධතිය සමඟ පණිවිඩ යැවීම සඳහා S3 සේවාලාභියා වින්‍යාසගත කළ හැක.

ඔබේ පද්ධතියේ සෑම Riak CS node එකක් සඳහාම එක් Riak node එකක් ඔබ සැලසුම් කළ යුතුය. Riak සහ Riak CS නෝඩ් විවිධ භෞතික යන්ත්‍ර මත ධාවනය කළ හැකි නමුත්, බොහෝ අවස්ථාවලදී එකම භෞතික යන්ත්‍රයක Riak node එකක් සහ Riak CS node එකක් ධාවනය කිරීම වඩාත් සුදුසුය. Riak සහ Riak CS නෝඩ් දෙකෙහිම අවශ්‍යතා සපුරාලීමට එක් භෞතික යන්ත්‍රයකට ප්‍රමාණවත් බලයක් ඇතැයි උපකල්පනය කළහොත්, ජාල ප්‍රමාදය අඩු වීම හේතුවෙන් සාමාන්‍යයෙන් ඔබට වඩා හොඳ කාර්ය සාධනයක් පෙනෙනු ඇත.

ඔබේ පද්ධතිය නෝඩ් කිහිපයකින් සමන්විත නම්, වින්‍යාසය මූලික වශයෙන් සංරචක අතර සන්නිවේදනය සැකසීමයි. ලොග් ගොනු ගබඩා කරන්නේ කොතැනද යන්න වැනි වෙනත් සැකසුම් වලට පෙරනිමි අගයන් ඇති අතර ඔබට සම්මත නොවන අගයන් භාවිතා කිරීමට අවශ්‍ය නම් පමණක් වෙනස් කළ යුතුය.

පද්ධති සංරචක සැකසීම. CS සඳහා Riak KV පිහිටුවීම

Riak CS යනු Riak මත ගොඩනගා ඇති යෙදුමක් බැවින්, Riak CS ධාවනය කිරීමේදී ඔබගේ Riak වින්‍යාසය කෙරෙහි අවධානය යොමු කිරීම ඉතා වැදගත් වේ. මෙම ලේඛනය Riak වින්‍යාස මාර්ගෝපදේශයක් සහ වැදගත් වින්‍යාස පරාමිතීන් විස්තර කරන විමර්ශන ලේඛනයක් වේ.

පිහිටුවීමට පෙර, ඔබේ පොකුරේ සෑම නෝඩයකම Riak KV සහ Riak CS ස්ථාපනය කර ඇති බවට වග බලා ගන්න. අනෙක් අතට, ස්ටැන්චියන්, සම්පූර්ණ පොකුරේ එක් නෝඩයක් මත පමණක් ස්ථාපනය කළ යුතුය.

Riak Cloud Storage. 1 කොටස: Riak KV පිහිටුවීම

Riak CS සඳහා පසුබිම්

Riak විසින් භාවිතා කරන ලද පෙරනිමි පසුබිම Bitcask වේ, නමුත් Riak CS පැකේජයට Riak CS පද්ධතියේ කොටසක් වන Riak පොකුර විසින් භාවිතා කළ යුතු විශේෂ පසුබිමක් ඇතුළත් වේ. සාමාන්‍ය අනුවාදයේ රියාක් සමඟ එන සම්මත බහු පසුබිමක් ඇත.

Riak CS තුළ භාවිතා කරන එම Riak බාල්දි ද්විතීයික දර්ශක භාවිතා කරයි, ඒවාට දැන් LevelDB පසුබිමක් අවශ්‍ය වේ. Riak CS පද්ධතියේ අනෙකුත් කොටස් Bticask පසුබිම භාවිතා කිරීමෙන් ප්‍රයෝජන ගත හැක. කාර්ය සාධනය සහ ක්‍රියාකාරීත්වයේ හොඳම සංකලනය ලබා ගැනීම සඳහා මෙම පසුබිම් දෙකෙන්ම ප්‍රයෝජන ගැනීමට Riak CS හි නියැදි බහු පසුබිමක භාවිතය ඇතුළත් වේ. මෙම Multi-backend භාවිතා කිරීම සඳහා Riak නිවැරදිව වින්‍යාස කරන්නේ කෙසේද යන්න මීළඟ කොටස විස්තර කරයි.

පසුපෙළ Riak දත්ත සුරැකීමට භාවිතා කරනු ඇත. Riak KV සතුව එහි අවි ගබඩාවේ පසුපෙළ කිහිපයක් ඇත: Bitcask, LevelDB, Memory සහ Multi.

අතිරේකව, ගබඩා ගණනය කිරීමේ පද්ධතිය Riak MapReduse භාවිතා කරමින් ගොනු බාල්දි වලට එකතු කරයි. මෙයින් අදහස් කරන්නේ ගබඩාව ගණනය කිරීමට පෙර සූදානම් කර ඇති Riak CS ගොනු සොයන්නේ කොතැනදැයි ඔබ සියලු Riak නෝඩ් වලට පැවසිය යුතු බවයි.

Riak CS පද්ධතියේ කොටසක් ලෙස Riak node වින්‍යාස කිරීම සඳහා IP ලිපිනය සහ IP ලිපිනය සහ Protocol Buffers හරහා පණිවිඩ යැවීම සඳහා තොට වැනි වෙනත් පරාමිති කිහිපයක් වෙනස් කළ යුතුය. අවශ්ය නම් වෙනත් සැකසුම් වෙනස් කළ හැකිය. Riak CS පද්ධතියේ කොටසක් ලෙස ක්‍රියා කිරීමට Riak node එකක් වින්‍යාස කරන්නේ කෙසේද යන්න පහත කොටස් විස්තර කරයි.

Riak පසුපෙළ පිහිටුවීම

පළමුව, riak.conf හෝ advanced.config/app.config වින්‍යාස ගොනු සංස්කරණය කරනු ලැබේ. මෙම ගොනු /etc/riak හෝ /opt/riak/etc නාමාවලි වල ස්ථානගත කළ හැක. පෙරනිමියෙන්, Riak Bitcask පසුබිම භාවිතා කරයි. අප කළ යුතු පළමු දෙය නම් පහත පේළිය ඉවත් කිරීමෙන් වින්‍යාස ගොනුව වෙනස් කිරීමයි:

RIAK.CONF

## Delete this line:
storage_backend = bitcask

උසස්.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},
]}

මීළඟට, අපි Riak සඳහා RiakCS මොඩියුලවල අවශ්‍යතාවය ප්‍රදර්ශනය කළ යුතු අතර Riak CS සපයන වින්‍යාස කළ පසුපෙළ භාවිතා කිරීමට රියාක්ට උපදෙස් දිය යුතුය. අපි මේ සඳහා advanced.config හෝ app.config ගොනුව භාවිතා කළ යුතු අතර පහත විකල්ප එකතු කරන්න:

උසස්.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, දත්ත_root විකල්ප උපකල්පනය කරන්නේ Riak /var/lib හි ස්ථාපනය කර ඇති බවයි. (සටහන: මගේ නඩුවේදී එය add_paths - /usr/lib64/riak-cs/ විය).

මෙම වින්‍යාසය Riak CS ස්ථාපනය කර ඇත්තේ Riak ලෙසම එකම යන්ත්‍රයක බව උපකල්පනය කරයි. එසේ නොවේ නම්, පැකේජය වෙනම ධාරකයකට පිටපත් කළ යුතුය.

සහෝදර සහෝදරියන් නිර්මාණය කිරීම

දැන්, අපි allow_mult පරාමිතිය සත්‍ය ලෙස සැකසිය යුතුයි. අපට riak.conf වින්‍යාස ගොනුව තුළ රේඛාවක් හෝ advanced.config හෝ app.config හි riak_core කොටසක් එක් කළ හැක.

RIAK.CONF

buckets.default.allow_mult = true

උසස්.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
]}

Riak CS ක්‍රියාත්මක වීමට අවශ්‍ය සහෝදර සහෝදරියන් නිර්මාණය කිරීමට මෙය Riak හට ඉඩ සලසයි. ඔබ සේවාදායක පුස්තකාලය භාවිතයෙන් Riak CS වෙත සම්බන්ධ වන්නේ නම්, කරදර නොවන්න: සියලු Riak CS මෙහෙයුම් නිර්වචනය කර ඇති පරිදි දැඩි ලෙස අනුකූල වන බැවින් ඔබට ගැටුම් නිරාකරණය කිරීමට සිදු නොවනු ඇත.

සහෝදර සහෝදරියන් එක් යතුරක විවිධ වස්තු ගබඩා කිරීමේ ක්‍රමයක් වන අතර එමඟින් වස්තුවට විවිධ නෝඩ් වල විවිධ අගයන් ඇත.

සටහන: allow_mult
Riak CS සඳහා සහය දක්වන ඕනෑම Riak node එකක් සෑම විටම true ලෙසට ඉඩ_mult සකසා ඇත. අගය අසත්‍ය නම් Riak CS දියත් කිරීම යළි සකසනු ඇත.

සත්කාරක නාමය සහ IP ලිපිනය සැකසීම

සෑම රියාක් නෝඩයකටම නමක් ඇත, එය nodename විකල්පයේ riak.conf හි සඳහන් කළ හැක. ඔබ app.config වින්‍යාස ගොනුව භාවිතා කරන්නේ නම්, ඔබට app.config ලෙස එකම නාමාවලියෙහි vm.args නමින් ගොනුවක් සෑදිය යුතු අතර -name ධජය භාවිතයෙන් සත්කාරක නාමය සඳහන් කරන්න. @ ආකෘතියෙන් නෝඩ් නම් සඳහන් කිරීමට අපි නිර්දේශ කරමු. එබැවින් ඔබට එක් සත්කාරක 100.0.0.1 මත ධාවනය වන නෝඩ් තුනක් තිබේ නම්, ඔබට ඒවා ඇමතීමට හැකිය [විද්‍යුත් ආරක්‍ෂිත], [විද්‍යුත් ආරක්‍ෂිත]හා [විද්‍යුත් ආරක්‍ෂිත] හෝ ඔබට වැනි වඩාත් නිශ්චිත නම් ලබා දිය හැක [විද්‍යුත් ආරක්‍ෂිත], [විද්‍යුත් ආරක්‍ෂිත] සහ යනාදි. පහත උදාහරණය මඟින් සත්කාරක නාමය වෙනස් කිරීම පෙන්නුම් කරයි [විද්‍යුත් ආරක්‍ෂිත], localhost මත ධාවනය වනු ඇත.

RIAK.CONF

 nodename = [email protected] 

VM.ARGS

 -name [email protected]

ඔබ ඒවා ආරම්භ කිරීමට සහ පොකුරට සම්බන්ධ වීමට පෙර සියලුම නෝඩ් නම් කළ යුතුය.

සැකසුම් පරීක්ෂණය

දැන් අවශ්‍ය සියලුම නෝඩ් සැකසුම් සම්පූර්ණ කර ඇති බැවින්, අපට රියාක් දියත් කිරීමට උත්සාහ කළ හැකිය:

ෂෙල් කරන්න

 riak start 

සටහන මගේ නඩුවේ පිළිතුර:

Riak Cloud Storage. 1 කොටස: Riak KV පිහිටුවීම

මෙන්න ඔබ ටිකක් බලා සිටිය යුතුය. එවිට ඔබට ධාවන නෝඩය පරීක්ෂා කිරීම ආරම්භ කළ හැකිය.

ෂෙල් කරන්න

 riak ping

ප්‍රතිචාරය පොං නම්, රියාක් ක්‍රියාත්මක වේ; ප්‍රතිචාරය වන්නේ නෝඩ් පිං වලට ප්‍රතිචාර නොදක්වන්නේ නම්, යමක් වැරදී ඇත.

සටහන මගේ නඩුවේ පිළිතුර:

Riak Cloud Storage. 1 කොටස: Riak KV පිහිටුවීම

නෝඩය නිවැරදිව ආරම්භ නොකළේ නම්, ගැටළුව හඳුනාගත හැකි නම්, node හි /log නාමාවලියෙහි erlang.log.1 ලොගය බලන්න. වඩාත් පොදු දෝෂ වලින් එකක් වන්නේ invalid_storage_backend වේ. එයින් පෙන්නුම් කරන්නේ උසස්.config හෝ app.config හි Riak CS පුස්තකාලයට යන මාර්ගය වැරදි බවයි (නැතහොත් Riak CS සේවාදායකයේ ස්ථාපනය කර නොමැත). මෙම දෝෂය තිබියදීත්, ඔබ riak_cs_kv_multi_backend සිට riak_kv_multi_backend දක්වා වෙනස් වී නොමැති බවට වග බලා ගන්න.

ප්‍රොටෝකෝල බෆර භාවිතා කිරීමට රියාක් වින්‍යාස කිරීම

Riak ප්‍රොටෝකෝල බෆර සැකසුම් riak.conf හෝ riak_api කොටසේ උසස්.config හෝ app.config ගොනු තුළ පිහිටා ඇත, ඒවා /etc/riak/ බහලුම තුළ පිහිටා ඇත. පෙරනිමියෙන්, ධාරකයට IP ලිපිනය 127.0.0.1 සහ වරාය 8087 ඇත. ඔබ දේශීය නොවන පරිසරයක Riak සහ Riak CS ධාවනය කිරීමට අදහස් කරන්නේ නම් ඔබට මේවා වෙනස් කිරීමට අවශ්‍ය වනු ඇත. 127.0.0.1 වෙනුවට Riak සත්කාරක IP ලිපිනය සහ වරාය 8087 සුදුසු එකක් සමඟ ප්‍රතිස්ථාපනය කරන්න.

RIAK.CONF

 listener.protobuf.internal = 10.0.2.10:10001

උසස්.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
]}

සටහන:riak.conf (හෝ advanced.conf/app.config හි pb පරාමිතියේ අගය) ගොනුවේ ඇති listener.protobuf.internal පරාමිතියෙහි අගය Riak CS riak-cs.config හි riak_host සඳහා වන අගයන් හා ගැළපිය යුතුය Stanchion stanchion.conf (හෝ උසස් .config/app.config හි පිළිවෙලින් riak_host) ගොනු.

වරාය අංකය ගැන සටහනක්
වෙනත් යෙදුමක් භාවිතා කරන තොට සමඟ තොට ගැටෙන්නේ නම් හෝ ඔබ ලෝඩ් බැලන්සර් හෝ ප්‍රොක්සි සේවාදායකයක් භාවිතා කරන්නේ නම් වෙනත් තොට අංකයක් අවශ්‍ය විය හැකිය.

Riak protobuf.backlog ප්‍රමාණය (හෝ advanced.config/app.config ගොනු වල මෙය pb_backlog වේ) riak-cs හි Riak CS සඳහා නිශ්චිතව දක්වා ඇති pool.request.size ට සමාන හෝ වැඩි බව පරිශීලකයන් සහතික කිරීම ද නිර්දේශ කෙරේ. config (හෝ advanced.config/ app.conf ගොනු වල request_pool_size).

Riak CS හි pool.request.size හි අගය වෙනස් කර ඇත්නම්, එවිට protobuf.backlog හි අගය Riak හි යාවත්කාලීන කළ යුතුය.

වෙනත් Riak සැකසුම්

riak.conf සහ advanced.config ගොනු වල ලොග් ගොනු සෑදීම සහ ඒවා සුරකින ස්ථානය වින්‍යාස කරන වෙනත් සැකසුම් ඇතුළත් වේ. මෙම සැකසුම් වලට පෙරනිමි අගයන් ඇති අතර බොහෝ අවස්ථාවලදී ක්‍රියා කළ යුතුය. වැඩි විස්තර සඳහා, වින්‍යාස ගොනු පිළිබඳ අපගේ ලේඛන කියවීම අපි නිර්දේශ කරමු.

Riak සඳහා IP ලිපිනයක් සැකසීම

Riak සඳහා IP ලිපිනයක් සැකසීමේදී, ඔබ එක් නෝඩයක් සමඟ පමණක් වැඩ කළත් හෝ පද්ධතියට තවත් නෝඩ් එකතු කළත්, Riak නෝඩ්වලට අද්විතීය IP ලිපිනයක් ඇති බවට ඔබ සහතික විය යුතුය. Riak IP ලිපිනය අඩංගු වන්නේ riak.conf හෝ - ඔබ app.config ගොනුව භාවිතා කරන්නේ නම් - vm.args වින්‍යාස ගොනුවේ, එය /etc/riak නාමාවලියෙහි (හෝ /opt/riak/etc/) පිහිටා ඇත. වෙනත් මෙහෙයුම් පද්ධති මත).

මුලදී, Riak IP ලිපිනය අඩංගු රේඛාව මෙම ස්ථානයේ ඇති localhost වෙත යොමු කරයි:

RIAK.CONF

 nodename = [email protected]

VM.ARGS

 -name [email protected]

127.0.0.1 වෙනුවට ඔබ කැමති IP ලිපිනය හෝ Riak node හි ධාරක නාමය.

කාර්ය සාධනය සහ කලාප පළල සැකසුම්

කාර්ය සාධන හේතූන් මත, /etc/riak/ හෝ /opt/riak/etc නාමාවලියෙහි පිහිටා ඇති Riak.conf හෝ vm.args වින්‍යාස ගොනු වෙත අගයන් එකතු කිරීම අපි තරයේ නිර්දේශ කරමු.

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 අක්‍රිය කරමින්

Riak CS හි කිසිඳු අනුවාදයක් සමඟ පැරණි JavaScript MapReduce භාවිතා නොකිරීමට නිර්දේශ කෙරේ. කාර්ය සාධන හේතූන් මත, ඔබ riak.conf වින්‍යාස ගොනුව තුළ හෝ advanced.conf හෝ app.config හි riak_kv කොටසෙහි සැකසීමෙන් JavaScript MapReduce මෙහෙයුම් සිදු කරන අතථ්‍ය යන්ත්‍රය අක්‍රිය කළ යුතුය:

RIAK.CONF

 javascript.map_pool_size = 0
 javascript.reduce_pool_size = 0
 javascript.hook_pool_size = 0 

උසස්.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

අදහස් එක් කරන්න