د Riak کلاوډ ذخیره. برخه 1: د Riak KV تنظیم کول

Riak CS (د کلاوډ ذخیره) - د شیانو ذخیره کولو تنظیم کولو لپاره د کارولو اسانه سافټویر ، د Riak KV په سر کې روان دی. Riak (KV) یو توزیع شوی NoSQL کلیدي ارزښت ډیټابیس دی. Riak CS ډیزاین شوی ترڅو سادگي، شتون، د هرې پیمانه د بادل ذخیره توزیع چمتو کړي، او د بادل جوړښتونو جوړولو لپاره کارول کیدی شي - عامه او خصوصي - یا د لوړ بار شوي غوښتنلیکونو او خدماتو لپاره د زیربنا ذخیره کولو په توګه. Riak CS API د ایمیزون S3 سره مطابقت لري او د مختلف حالتونو په اړه د راپورونو ترلاسه کولو وړتیا ملاتړ کوي.

د Riak کلاوډ ذخیره. برخه 1: د Riak KV تنظیم کول
دا مقاله د Riak CS سیسټم نسخه 2.1.1 لپاره د رسمي لارښود وړیا ژباړه ده

د Riak CS ذخیره کولو سیسټم کې، درې برخې د یو بل سره په ګډه کار کوي، پدې معنی چې هره برخه باید د نورو برخو سره کار کولو لپاره ترتیب شي:

  • Riak (KV) - د ډیټابیس سیسټم چې د پای سیسټم په توګه کار کوي.
  • Riak CS - د ریک په سر کې د کلاوډ ذخیره کولو پرت چې د ذخیره کولو او API وړتیاوې چمتو کوي ، په ریک کې فایلونه او میټاډاټا ذخیره کوي ، او بیا یې پای کاروونکو ته توزیع کوي.
  • سټینچین - هغه پوښتنې اداره کوي چې د نړۍ په کچه ځانګړي ادارې پکې شامل دي لکه بالټونه او کارونکي په ریک مثال کې. د مثال په توګه، د کاروونکو جوړول، د بټکوین جوړول یا حذف کول.

سربیره پردې ، تاسو کولی شئ د Riak CS سیسټم سره په پیغام رسولو کې د کارولو لپاره د S3 پیرودونکي هم تنظیم کړئ.

تاسو باید پلان ولرئ چې ستاسو په سیسټم کې د هر Riak CS نوډ لپاره یو Riak نوډ ولرئ. Riak او Riak CS نوډونه په مختلف فزیکي ماشینونو کې پرمخ وړل کیدی شي، مګر په ډیری مواردو کې دا غوره ده چې په ورته فزیکي ماشین کې یو Riak نوډ او یو Riak CS نوډ چل کړئ. فرض کړئ چې یو فزیکي ماشین د Riak او Riak CS نوډونو اړتیاو پوره کولو لپاره کافي ځواک لري ، تاسو به په عمومي ډول د شبکې ځنډ کمولو له امله غوره فعالیت وګورئ.

که ستاسو سیسټم د څو نوډونو څخه جوړ وي، ترتیب په اصل کې د اجزاوو ترمنځ د اړیکو تنظیم کولو په اړه دی. نور ترتیبات، لکه چیرې چې د لاګ فایلونه به زیرمه شي، ډیفالټ ارزښتونه لري او یوازې هغه وخت بدلولو ته اړتیا لري که تاسو غواړئ غیر معیاري ارزښتونه وکاروئ.

د سیسټم اجزاو تنظیم کول. د CS لپاره د Riak KV تنظیم کول

څرنګه چې Riak CS یو غوښتنلیک دی چې د Riak په سر کې جوړ شوی، نو دا خورا مهم دي چې ستاسو د Riak ترتیب ته پام وکړئ کله چې د Riak CS چلول. دا سند دواړه د Riak ترتیب کولو لارښود او د حوالې سند دی چې د تنظیم کولو مهم پیرامیټونه بیانوي.

د تنظیم کولو دمخه، ډاډ ترلاسه کړئ چې Riak KV او Riak CS ستاسو په کلستر کې په هر نوډ کې نصب شوي. له بلې خوا سټینچین باید په ټول کلستر کې یوازې په یو نوډ کې نصب شي.

د Riak کلاوډ ذخیره. برخه 1: د Riak KV تنظیم کول

د Riak CS لپاره ملاتړ

د ریاک لخوا کارول شوی ډیفالټ بیکینډ بټکاسک دی ، مګر د Riak CS کڅوړه کې یو ځانګړی بیکینډ شامل دی چې باید د Riak کلستر لخوا وکارول شي چې د Riak CS سیسټم برخه ده. منظم نسخه معیاري ملټي بیکینډ لري چې د Riak سره راځي.

د Riak CS دننه کارول شوي ورته Riak بالټونه ثانوي شاخصونه کاروي، کوم چې اوس د LevelDB بیکینډ ته اړتیا لري. د Riak CS سیسټم نورې برخې کولی شي د Bticask پس منظر کارولو څخه ګټه پورته کړي. د نمونې ملټي بیکینډ کارول په Riak CS کې شامل دي ترڅو د دې دواړو بیکینډونو څخه ګټه پورته کړي ترڅو د فعالیت او فعالیت غوره ترکیب ترلاسه کړي. بله برخه تشریح کوي چې څنګه د دې ملټي بیکینډ کارولو لپاره Riak په سمه توګه تنظیم کړئ.

پسته هغه څه دي چې Riak به د معلوماتو خوندي کولو لپاره وکاروي. Riak KV په خپل آرسینال کې ډیری بیکینډونه لري: بټکاسک، لیول ډی بی، حافظه او ملټي.

برسیره پردې، د ذخیره کولو حساب ورکولو سیسټم Riak MapReduse کاروي ترڅو فایلونه په بالټونو کې راټول کړي. د دې معنی دا ده چې تاسو باید ټولو Riak نوډونو ته ووایاست چیرې چې د کمپیوټر ذخیره کولو دمخه چمتو شوي Riak CS فایلونو ته ګورئ.

ډیری نور پیرامیټونه باید د Riak CS سیسټم برخې په توګه د Riak نوډ تنظیم کولو لپاره بدل شي، لکه IP پته او IP پته او د پروتوکول بفرونو له لارې د پیغام رسولو لپاره بندر. که اړتیا وي نور تنظیمات بدل کیدی شي. لاندې برخې تشریح کوي چې څنګه د Riak نوډ تنظیم کړئ ترڅو د Riak CS سیسټم برخې په توګه کار وکړي.

د Riak پس منظر تنظیم کول

لومړی، د riak.conf یا advanced.config/app.config تشکیلاتي فایلونه ایډیټ شوي. دا فایلونه په /etc/riak یا /opt/riak/etc لارښودونو کې موقعیت لري. په ډیفالټ ډول، Riak د بټکاسک پس منظر کاروي. لومړی شی چې موږ یې کولو ته اړتیا لرو د لاندې لاین په لرې کولو سره د ترتیب فایل بدلول دي:

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

بیا، موږ اړتیا لرو د Riak لپاره د RiakCS ماډلونو اړتیا وښیو او Riak ته لارښوونه وکړو چې د Riak CS چمتو کولو ترتیب شوي بیکینډ څخه کار واخلي. موږ اړتیا لرو د دې لپاره پرمختللي.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 په څیر نصب شوی. که نه، نو بیا بسته باید جلا کوربه ته کاپي شي.

د وروڼو جوړول تنظیمول

اوس، موږ اړتیا لرو چې اجازه_mult پیرامیټر ریښتیا ته وټاکو. موږ کولی شو په riak.conf ترتیب کولو فایل کې یوه کرښه اضافه کړو، یا په پرمختللي.config یا app.config کې د riak_core برخه.

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

دا به Riak ته اجازه ورکړي چې وروڼه جوړ کړي چې د Riak CS د فعالیت لپاره اړین دي. که تاسو د مراجعینو کتابتون په کارولو سره Riak CS سره وصل یاست، اندیښنه مه کوئ: تاسو به د شخړو حل کولو ته اړتیا نلرئ، ځکه چې د Riak CS ټول عملیات د تعریف سره سم په کلکه سره دي.

وروڼه په یوه کیلي کې د ډیری شیانو ذخیره کولو یوه لاره ده ترڅو اعتراض په مختلف نوډونو کې مختلف ارزښتونه ولري.

یادونه: اجازه_ملت
هر Riak نوډ چې د Riak CS ملاتړ هم کوي اجازه_mult به په هر وخت کې ریښتیا وي. Riak CS به لانچ بیا تنظیم کړي که ارزښت غلط وي.

د کوربه نوم او IP پته تنظیم کول

هر Riak نوډ یو نوم لري، کوم چې په riak.conf کې د نوډ نوم اختیار کې مشخص کیدی شي. که تاسو د app.config ترتیب کولو فایل کاروئ، نو تاسو اړتیا لرئ چې د app.config په ورته لارښود کې د vm.args په نوم یو فایل جوړ کړئ او د کوربه نوم د -name پرچم په کارولو سره مشخص کړئ. موږ وړاندیز کوو چې د نوډ نومونه په @ شکل کې مشخص کړئ. او نو که تاسو درې نوډونه لرئ چې په یو کوربه 100.0.0.1 کې روان دي، تاسو کولی شئ دوی ته زنګ ووهئ [ایمیل خوندي شوی], [ایمیل خوندي شوی]او [ایمیل خوندي شوی] یا تاسو کولی شئ نور ځانګړي نومونه ورکړئ، لکه [ایمیل خوندي شوی], [ایمیل خوندي شوی] او همداسی پسی. لاندې مثال د کوربه نوم بدلول ښیې [ایمیل خوندي شوی]، کوم چې به په لوکل هوسټ کې چلیږي.

RIAK.CONF

 nodename = [email protected] 

VM.ARGS

 -name [email protected]

تاسو باید د ټولو نوډونو نومونه مخکې له دې چې پیل کړئ او کلستر کې شامل شئ.

د ازموینې تنظیم کول

اوس چې ټول اړین نوډ تنظیمات بشپړ شوي، موږ کولی شو د Riak په لاره اچولو هڅه وکړو:

پلورل

 riak start 

نوټ زما په قضیه کې ځواب:

د Riak کلاوډ ذخیره. برخه 1: د Riak KV تنظیم کول

دلته تاسو باید لږ انتظار وکړئ. بیا تاسو کولی شئ د چلولو نوډ ازموینه پیل کړئ.

پلورل

 riak ping

که ځواب پونګ وي، نو بیا ریک روان دی؛ که ځواب وي نوډ پینګ ته ځواب نه ورکوي، نو یو څه غلط شوی.

نوټ زما په قضیه کې ځواب:

د Riak کلاوډ ذخیره. برخه 1: د Riak KV تنظیم کول

که نوډ په سمه توګه نه وي پیل شوی، د نوډ په /log ډایرکټر کې د erlang.log.1 log وګورئ که ستونزه پیژندل کیدی شي. یو له خورا عام غلطیو څخه invalid_storage_backend دی. کوم چې په ګوته کوي چې په پرمختللي.config یا app.config کې د Riak CS کتابتون ته لاره غلطه ده (یا Riak CS په سرور کې نه دی نصب شوی). د دې تېروتنې سره سره، ډاډ ترلاسه کړئ چې تاسو د riak_cs_kv_multi_backend څخه riak_kv_multi_backend ته نه یاست بدل شوي.

د پروتوکول بفرونو کارولو لپاره د Riak تنظیم کول

د Riak پروتوکول بفر ترتیبات په riak.conf کې یا په riak_api برخه کې د پرمختللي.config یا app.config فایلونو کې موقعیت لري، کوم چې په /etc/riak/ ډایرکټر کې موقعیت لري. په ډیفالټ ډول، کوربه د 127.0.0.1 IP پته او 8087 پورټ لري. تاسو به دا بدل کړئ که تاسو په غیر محلي چاپیریال کې د Riak او Riak CS چلولو پلان لرئ. 127.0.0.1 د Riak کوربه IP پتې او پورټ 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
]}

نوټ:په riak.conf کې د lister.protobuf.internal پیرامیټر ارزښت (یا په پرمختللي.conf/app.config کې د pb پیرامیټر ارزښت) باید په Riak CS riak-cs.config کې د riak_host ارزښتونو سره سمون ولري او Stanchion stanchion.conf (یا riak_host په ترتیب سره په پرمختللي .config/app.config) فایلونو کې.

د پورټ شمیرې په اړه یو یادښت
یو مختلف پورټ نمبر ته اړتیا کیدی شي که چیرې بندر د بل غوښتنلیک لخوا کارول شوي بندرونو سره ټکر وکړي یا که تاسو د بار بیلنسر یا پراکسي سرور کاروئ.

دا هم سپارښتنه کیږي چې کاروونکي ډاډ ترلاسه کړي چې د Riak protobuf.backlog اندازه (یا په پرمختللي.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 پته لري په دې ځای کې ځایی کوربه ته اشاره کوي:

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 د هرې نسخې سره ونه کاروئ. د فعالیت دلایلو لپاره، تاسو باید د riak.conf ترتیب کولو فایل کې، یا د Advanced.conf یا app.config په riak_kv برخه کې په ترتیب کولو سره د جاوا سکریپټ نقشه ریډوس عملیات ترسره کولو مجازی ماشین غیر فعال کړئ:

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

Add a comment