این بخش راهنمایی کلی برای مقیاسبندی عملیات Cassandra با آگاه کردن Cassandra در Apigee Edge برای Private Cloud از قفسه ارائه میدهد.
برای اطلاعات بیشتر درباره اینکه چرا آگاه کردن حلقه Cassandra از قفسه مهم است، منابع زیر را ببینید:
- تکرار (اسناد Cassandra)
- Cassandra Architecture & Replication Factor Strategy
قفسه چیست؟
قفسه Cassandra گروهبندی منطقی گرههای Cassandra در حلقه است. Cassandra از قفسه استفاده میکند تا مطمئن شود نسخههای تکراری بین گروهبندیهای منطقی مختلف توزیع شدهاند. درنتیجه، عملیاتها نه فقط به یک گره، بلکه به چندین گره ارسال میشوند که هرکدام در یک قفسه جداگانه قرار دارند و این امر تحمل خطا و دردسترس بودن بیشتری را فراهم میکند.
مثالهای این بخش از سه قفسه Cassandra استفاده میکنند که تعداد قفسههایی است که توسط Apigee در توپولوژیهای تولید پشتیبانی میشود.
نصب پیشفرض Cassandra در Apigee Edge برای Private Cloud یک قفسه منطقی واحد را فرض میکند و همه گرهها را در یک مرکز داده درون آن قرار میدهد. اگرچه نصب و مدیریت این پیکربندی ساده است، اما اگر عملیاتی در یکی از آن گرهها ناموفق باشد، مستعد خرابی است.
تصویر زیر پیکربندی پیشفرض حلقه Cassandra را نشان میدهد:
در پیکربندی قویتر، هر گره به یک قفسه جداگانه اختصاص داده میشود و عملیاتها نیز روی نسخههای تکراری در هریک از آن قفسهها اجرا میشوند.
تصویر زیر یک حلقه ۳ گرهای را نشان میدهد. این تصویر ترتیب تکرار عملیات در سراسر حلقه (ساعتگرد) را نشان میدهد و این واقعیت را برجسته میکند که هیچ دو گرهای در یک قفسه قرار ندارند:
در این پیکربندی، عملیات به یک گره ارسال میشود اما به نسخههای تکراری آن گره در قفسههای دیگر (بهترتیب ساعتگرد) نیز ارسال میشود.
افزودن آگاهی از قفسه (با ۳ گره)
همه توپولوژیهای نصب تولید Apigee Edge برای Private Cloud حداقل سه گره Cassandra دارند که این بخش به آنها با عنوان «IP1»، «IP2»، و «IP3» اشاره میکند. بهطور پیشفرض، هریک از این گرهها در یک قفسه قرار دارند، «ra-1».
این بخش نحوه اختصاص دادن گرههای Cassandra به قفسههای جداگانه را شرح میدهد تا همه عملیاتها به گرههای تکرار در گروهبندیهای منطقی جداگانه در حلقه ارسال شوند.
برای اختصاص دادن گرههای Cassandra به قفسههای مختلف درطول نصب:
- قبلاز اجرای نصبکننده، به سیستم گره Cassandra وارد شوید و
فایل پیکربندی بیصدا زیر را برای ویرایش باز کنید:
/opt/silent.conf
اگر فایل وجود ندارد، آن را ایجاد کنید و حتماً کاربر «apigee» را مالک آن کنید.
- ویژگی
CASS_HOSTSرا ویرایش کنید، فهرستی از نشانیهای IP که با فاصله از هم جدا شدهاند (نه ورودیهای ساناد یا نام میزبان) که از نحو زیر استفاده میکند:CASS_HOSTS="IP_address:data_center_number,rack_number [...]"
مقدار پیشفرض یک حلقه Cassandra با سه گره است که هر گره به قفسه ۱ و مرکز داده ۱ اختصاص داده شده است، همانطور که در مثال زیر نشان داده شده است:
CASS_HOSTS="IP1:1,1 IP2:1,1 IP3:1,1"
- تخصیصهای قفسه را تغییر دهید تا گره ۲ به قفسه ۲ و گره ۳ به قفسه ۳ تخصیص داده شود، همانطور که در مثال زیر نشان داده شده است:
CASS_HOSTS="IP1:1,1 IP2:1,2 IP3:1,3"
با تغییر دادن تخصیصهای قفسه، به Cassandra دستور میدهید دو گروهبندی منطقی دیگر (قفسه) ایجاد کند که سپس نسخههای تکراریای ارائه میدهند که همه عملیات دریافتی توسط گره اول را دریافت میکنند.
برای اطلاعات بیشتر درباره استفاده از ویژگی پیکربندی
CASS_HOSTS، به مرجع فایل پیکربندی Edge مراجعه کنید. - تغییرات را در فایل پیکربندی ذخیره کنید و فرمان زیر را برای نصب
Cassandra با پیکربندی بهروزشده اجرا کنید:
/opt/apigee/apigee-setup/bin/setup.sh -p c -f path/to/silent/config
برای مثال:
/opt/apigee/apigee-setup/bin/setup.sh -p c -f /opt/silent.conf
- این روش را برای هر گره Cassandra در حلقه، به ترتیبی که گرهها در ویژگی
CASS_HOSTSاختصاص داده شدهاند، تکرار کنید. در این حالت، باید Cassandra را بهترتیب زیر نصب کنید:- گره ۱ (IP1)
- Node 2 (IP2)
- Node 3 (IP3)
پساز نصب، باید پیکربندی Cassandra را بررسی کنید.
پیکربندی Cassandra را بررسی کنید
پساز نصب پیکربندی Cassandra آگاه از قفسه، میتوانید بااستفاده از فرمان nodetool status بررسی کنید که گرهها به قفسههای مختلف اختصاص داده شدهاند، همانطور که در مثال زیر نشان داده شده است:
/opt/apigee/apigee-cassandra/bin/nodetool status
(این فرمان را در یکی از گرههای Cassandra اجرا میکنید.)
نتایج باید مشابه موارد زیر باشد، که در آن ستون Rack شناسههای مختلف قفسه را برای هر گره نشان میدهد:
Datacenter: dc-1 ======================== Status=Up/Down |/ State=Normal/Leaving/Joining/Moving -- Address Load Tokens Owns Host ID Rack UN IP1 737 MB 256 ? 554d4498-e683-4a53-b0a5-e37a9731bc5c ra-1 UN IP2 744 MB 256 ? cf8b7abf-5c5c-4361-9c2f-59e988d52da3 ra-2 UN IP3 723 MB 256 ? 48e0384d-738f-4589-aa3a-08dc5bd5a736 ra-3
اگر اصالتسنجی JMX را برای Cassandra فعال کردهاید، باید نام کاربری و گذرواژهتان را نیز به nodetool ارسال کنید. برای اطلاعات بیشتر، به
استفاده از nodetool برای مدیریت گرههای خوشه مراجعه کنید.
نصب حلقه ششگرهای
برای افزونگی بیشتر، میتوانید حلقه Cassandra را به شش گره گسترش دهید. در این مورد، به هریک از سه قفسه دو گره اختصاص میدهید. این پیکربندی به سه گره دیگر نیاز دارد: گره ۴ (IP4)، گره ۵ (IP5)، و گره ۶ (IP6).
تصویر زیر ترتیبی را نشان میدهد که در آن عملیات در سراسر حلقه تکرار میشود (ساعتگرد) و این واقعیت را برجسته میکند که درطول تکرار، هیچ دو گره مجاوری در یک قفسه قرار ندارند:
در این پیکربندی، هر گره دو نسخه تکراری دیگر دارد: یکی در هریک از دو قفسه دیگر. برای مثال، گره ۱ در قفسه ۱ نسخهای در قفسه ۲ و قفسه ۳ دارد. عملیات ارسالشده به گره ۱ به نسخههای تکراری در قفسههای دیگر نیز بهترتیب ساعتگرد ارسال میشود.
برای گسترش یک حلقه Cassandra سه گرهای به یک حلقه Cassandra شش گرهای، گرهها را به روش زیر در فایل پیکربندی بیصدا پیکربندی کنید:
CASS_HOSTS="IP1:1,1 IP4:1,3 IP2:1,2 IP5:1,1 IP3:1,3 IP6:1,2"
همانند حلقه سه گرهای، باید Cassandra را با همان ترتیبی که گرهها در ویژگی CASS_HOSTS ظاهر میشوند نصب کنید:
- گره ۱ (IP1)
- Node 4 (IP4)*
- Node 2 (IP2)
- Node 5 (IP5)
- Node 3 (IP3)
- Node 6 (IP6)
* تغییراتتان را در فایل پیکربندی بیصدا قبلاز اجرای ابزار کمکی راهاندازی در گره چهارم (دستگاه دوم در ترتیب نصب Cassandra) اعمال کنید.
گسترش به ۱۲ گره
برای افزایش بیشتر تحمل خطا و دردسترس بودن، میتوانید تعداد گرههای Cassandra را در حلقه از شش به ۱۲ افزایش دهید. این پیکربندی به شش گره دیگر (IP7 تا IP12) نیاز دارد.
تصویر زیر ترتیبی را نشان میدهد که در آن عملیات در سراسر حلقه تکرار میشود (ساعتگرد) و این واقعیت را برجسته میکند که درطول تکرار، هیچ دو گره مجاوری در یک قفسه قرار ندارند:
روش نصب حلقه ۱۲ گرهای مشابه نصب حلقه سه یا شش گرهای است:
CASS_HOSTS را روی مقادیر دادهشده تنظیم کنید و نصبکننده را به ترتیب مشخصشده اجرا کنید.
برای گسترش به یک حلقه Cassandra با ۱۲ گره، گرهها را به روش زیر در فایل پیکربندی بیصدا پیکربندی کنید:
CASS_HOSTS="IP1:1,1 IP7:1,2 IP4:1,3 IP8:1,1 IP2:1,2 IP9:1,3 IP5:1,1 IP10:1,2 IP3:1,3 IP11:1,1 IP6:1,2 IP12:1,3"
As with a three- and six-node rings, you must execute the installer on nodes in the order in which the nodes appear in the configuration file:
- گره ۱ (IP1)
- Node 7 (IP7)*
- گره ۴ (IP4)
- Node 8 (IP8)
- Node 2 (IP2)
- Node 9 (IP9)
- Node 5 (IP5)
- Node 10 (IP10)
- Node 3 (IP3)
- Node 11 (IP11)
- Node 6 (IP6)
- Node 12 (IP12)
* باید این تغییرات را قبلاز نصب Apigee Edge for Private Cloud در گره هفتم (دستگاه دوم در ترتیب نصب Cassandra) انجام دهید.