راه اندازی و نصب کسندرا بر روی چند سرور و ایجاد خوشه پردازشی

در پست های قبلی به نصب و راه اندازی پایگاه داده غیر رابطه ای کاساندرا از روی فایل تربال پرداختیم که به صورت خلاصه در زیر اشاره شده است در ادامه  به راه اندازی و نصب کسندرا بر روی چند سرور در حالت خوشه پردازشی، خواهیم پرداخت. (چند روز پیش یک جستجوی مختصر بر روی گوگل کردم و دیدم سایت های زیادی این مطلب را کپی برداری کرده اند. البته از یک طرف جای خوشحالی هست که مطلبی که می نویسم خواننده های بیشتری آن را مطالعه کنند)

قبل از شروع به عنوان پیش نیاز باید بدانیم که کامپوننت های اصلی در کاساندرا از قرار شکل زیر است. و سه مولفه Replicator و Partitioner و Failure Detector در حوزه راه اندازی کاساندرا ر روی چند سرور و ایجاد خوشه پردازشی نقش اصلی را دارند. البته در پست های قبل پروتکل گوسیپ که نقش اصلی در این فرایند را دارد را بررسی کریم.

اجزای اصلی در کاساندرا
کامپوننت های اصلی در کاساندرا

کسندرا را می­توان به آسانی مانند بسیاری از بسته­ های نرم­ افزاری متن باز در سیستم­ عامل لینوکس، به­ صورت دستی نصب کرد (که قبلا در اینجا توضیح داده ام). بدین صورت که ابتدا نسخه باینری (بیلد شده) و فشرده کسندرا از پایگاه وب آپاچی دانلود میکنیم و سپس فایل tarball دانلود شده را از حالت فشرده خارج نموده و بعد دایرکتوری ریشه کسندرا را به متغیر محیطی شل لینوکس اضافه میکنیم. در نهایت هم با اجرای اسکریپت bin/cassandra –f، کسندرا در پیش زمینه اجرا می­شود.

$ -> wget http://archive.apache.org/dist/cassandra/3.10/apache-cassandra-3.10-bin.tar.gz


$ -> tar –xvzf apache-cassandra-3.10-bin.tar.gz

$ -> export CASSANDRA_HOME=/YOUR ROOT CASSANDRA DIRECTORY

$ -> PATH=$PATH:$CASSANDRA_HOME/bin:

$ -> cassandra -f

راه اندازی و نصب کسندرا بر روی چند سرور در حالت خوشه پردازشی

در این بخش، نحوه ساخت کلاستر پردازشی با مجموعه سه نود ­از کسندرا توضیح داده می­شود.

گام اول- نصب کسندرا

فرض میکنیم جاوا و کسندرا (دقیقا مانند حالت تک گره­ ای) در گره ­های مورد نظر با آدرس ­های IP ذیل وجود دارند:

10.10.10.111

10.10.10.112

10.10.10.113

گام دوم- پیکربندی cassandra.yml

در این مرحله،  فایل cassandra.yml که مسیر آن در زیر آمده است را در تمامی سرورهای کسندرا در تمام گره ­ها به صورت ذیل پیکربندی می­شود:

$CASSANDRA_HOME/conf/cassandra.yml

پیکربندی در گره 10.10.10.111:

cluster_name: 'Cluster1'

seeds: "10.10.10.111, 10.10.10.112,10.10.10.113"

žlisten_address: 10.10.10.111

žbroadcast_address: 10.10.10.111

žrpc_address: 0.0.0.0

žbroadcast_rpc_address: 10.10.10.111

پیکربندی در گره 10.10.10.112:

cluster_name: 'Cluster1'

seeds: "10.10.10.111, 10.10.10.112,10.10.10.113"

žlisten_address: 10.10.10.112

žbroadcast_address: 10.10.10.112

žrpc_address: 0.0.0.0

žbroadcast_rpc_address: 10.10.10.112

پیکربندی در گره 10.10.10.113:

cluster_name: 'Cluster1'

seeds: "10.10.10.111, 10.10.10.112,10.10.10.113"

žlisten_address: 10.10.10.113

žbroadcast_address: 10.10.10.113

žrpc_address: 0.0.0.0

žbroadcast_rpc_address: 10.10.10.113

 

نصب کسندرا بر روی چند سرور
نصب کسندرا بر روی چند سرور

مشخصه seeds در فایل cassandra.yml بیان می­کند که گره مورد نظر، برای اطلاع از توپولوژی کل خوشه و همچنین اعلام وضعیت خود، به چه گره(ها)ای باید ارتباط برقرار کند. برای مثال اگر گره های چهارم یا پنجمی نیز پس از راه­ اندازی این خوشه، چند روز بعد به خوشه اضافه شوند، گره جدید با گره­ های دانه ارتباط برقرار کرده و اعلام حضور می­کند و متعاقبا، گره ­های جاری دیگر نیز از حضور گره جدید باخبر می­شوند (با کمک گره ­های دانه). همچنین، به منظور افزایش تحمل­ پذیری خطا در خوشه، توصیه می­شود که چند گره، به عنوان گره دانه انتخاب شود.

مقدار IP مشخصه listen_address، در واقع آدرسی است که گره های دیگر در خوشه توسط آن به این گره (گره ­ای که درحال پیکربندی و تنظیم مشخصه listen_address در آن هستیم)، می­توانند متصل شوند. در حالت نصب خوشه کسندرا، این مقدار حتما باید برابر با آدرس رابط اترنت (IP) میزبان باشد (باید توجه کرد که این مقدار نباید برابر با localhost باشد).

مقدار IP مشخصه rpc_address، آدرس IP جهت فراخوانی رویه ­های راه دور [1] در میزبان مورد نظر که گره میزبان به آن گوش می­کند است. این مقدار می­تواند برابر با آدرس loopback یا 0.0.0.0 یا 127.0.0.1 باشد.

گام سوم) اجرا

در این مرحله، ابتدا باید نمونه ­های کسندرا در گره­ های دانه [2] (10.10.10.111, 10.10.10.112) را و پس از چند ثانیه، گره­ های دیگر را مانند حالت تگ گره­ای (cassandra –f) اجرا کرد.

گام چهارم) بررسی وضعیت

در این مرحله نیز مانند حالت تک گره­ ای، با اجرای دستور nodetool status در هر گره­ ای، می­توان وضعیت کل خوشه را مشاهده کرد:

یکی از مواردی که دوستان زیادی با من تماس می گیرند و مطرح می کنند در راه اندازی خوشه پردازشی کاساندرا با شکست مواجه می شوند. به علت داده های قبل از راه اندازی خوشه است که با دستور زیر برطرف می شود.

sudo rm -r /opt/cassandra/apache-cassandra-3.9/data/data/system/*

 

[1] Remote procedure call

[2] seed nodes

آدرس کانال تلگرام سایت بیگ دیتا:

t.me/bigdata_channel

آدرس کانال سروش ما:
https://sapp.ir/bigdata_channel

جهت دیدن سرفصل های دوره های آموزشی بر روی اینجا کلیک کنید.

 

Visits: 2559

همچنین ببینید

اتصال به کاساندرا با جاوا

نحوه اتصال به کاساندرا با جاوا (قسمت اول آشنایی با راه اندازها)

در این بخش، نحوه اتصال به کاساندرا با جاوا بررسی خواهد شد. ابتدا به نحوه …

تکنولوژی های آپاچی

محصولات و تکنولوژی های آپاچی (Apache) در حوزه کلان داده و داده کاوی

یکی از موسسات مطرح در زمینه پشتیبانی از داده های حجیم، بنیاد آپاچی می باشد. …

دیدگاهتان را بنویسید