پشتیبانی از قفسه کاساندرا را اضافه کنید

این بخش با آگاه کردن Cassandra در Apigee Edge برای Private Cloud، راهنمایی کلی برای عملیات مقیاس‌پذیری Cassandra ارائه می‌کند.

برای اطلاعات بیشتر در مورد اینکه چرا آگاه کردن قفسه حلقه کاساندرا شما مهم است، به منابع زیر مراجعه کنید:

رک چیست؟

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

نمونه‌های این بخش از سه رک Cassandra استفاده می‌کنند که تعداد رک‌هایی است که توسط Apigee در توپولوژی‌های تولید پشتیبانی می‌شوند.

نصب پیش‌فرض Cassandra در Apigee Edge برای Private Cloud یک رک منطقی را فرض می‌کند و همه گره‌ها را در یک مرکز داده در آن قرار می‌دهد. اگرچه نصب و مدیریت این پیکربندی ساده است، اما در صورت عدم موفقیت عملیات در یکی از آن گره ها، مستعد شکست است.

تصویر زیر پیکربندی پیش فرض حلقه کاساندرا را نشان می دهد:

1 قفسه با 3 گره
(شکل 1) پیکربندی پیش فرض: همه گره ها در یک رک

در پیکربندی قوی‌تر، هر گره به یک رک جداگانه اختصاص داده می‌شود و عملیات‌ها نیز روی نسخه‌های مشابه روی هر یک از آن رک‌ها اجرا می‌شوند.

تصویر زیر یک حلقه 3 گره را نشان می دهد. این تصویر ترتیب تکرار عملیات در سراسر حلقه (در جهت عقربه های ساعت) را نشان می دهد و این واقعیت را برجسته می کند که هیچ دو گره در یک قفسه قرار ندارند:

3 قفسه، با 1 گره در هر رک
(شکل 2) پیکربندی آگاه از رک: سه گره، یکی در هر قفسه

در این پیکربندی، عملیات به یک گره ارسال می‌شود، اما همچنین به کپی‌های آن گره در سایر رک‌ها (به ترتیب جهت عقربه‌های ساعت) ارسال می‌شود.

افزودن آگاهی رک (با 3 گره)

تمام توپولوژی های نصب تولیدی Apigee Edge برای Private Cloud حداقل دارای سه گره Cassandra هستند که در این بخش به عنوان "IP1"، "IP2" و "IP3" اشاره می شود. به طور پیش‌فرض، هر یک از این گره‌ها در یک رک، "ra-1" قرار دارند.

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

برای اختصاص گره های Cassandra به رک های مختلف در حین نصب:

  1. قبل از اجرای نصب کننده، وارد گره Cassandra شده و فایل پیکربندی بی صدا زیر را برای ویرایش باز کنید:
    /opt/silent.conf

    اگر فایلی وجود ندارد، آن را ایجاد کنید و مطمئن شوید که کاربر "apigee" را مالک کنید.

  2. ویژگی CASS_HOSTS را ویرایش کنید، فهرستی از آدرس‌های IP با فاصله از هم (نه ورودی‌های DNS یا نام میزبان) که از نحو زیر استفاده می‌کند:
    CASS_HOSTS="IP_address:data_center_number,rack_number [...]"

    مقدار پیش فرض یک حلقه کاساندرا با سه گره است که هر گره به رک 1 و مرکز داده 1 اختصاص داده شده است، همانطور که مثال زیر نشان می دهد:

    CASS_HOSTS="IP1:1,1 IP2:1,1 IP3:1,1"
  3. تخصیص رک ها را طوری تغییر دهید که گره 2 به رک 2 و گره 3 به رک 3 اختصاص یابد، همانطور که مثال زیر نشان می دهد:
    CASS_HOSTS="IP1:1,1 IP2:1,2 IP3:1,3"

    با تغییر انتساب های رک، به کاساندرا دستور می دهید تا دو گروه بندی منطقی اضافی (رک ها) ایجاد کند، که سپس کپی هایی را ارائه می دهند که تمام عملیات های دریافت شده توسط گره اول را دریافت می کنند.

    برای اطلاعات بیشتر در مورد استفاده از ویژگی پیکربندی CASS_HOSTS ، به مرجع فایل پیکربندی لبه مراجعه کنید.

  4. تغییرات خود را در فایل پیکربندی ذخیره کنید و دستور زیر را برای نصب 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
  5. این روش را برای هر گره کاساندرا در حلقه، به ترتیبی که گره ها در ویژگی CASS_HOSTS تخصیص داده شده اند، تکرار کنید. در این مورد، شما باید Cassandra را به ترتیب زیر نصب کنید:
    1. گره 1 (IP1)
    2. گره 2 (IP2)
    3. گره 3 (IP3)

پس از نصب، باید پیکربندی Cassandra را بررسی کنید .

پیکربندی کاساندرا را بررسی کنید

پس از نصب پیکربندی Cassandra rack-aware، می‌توانید با استفاده از دستور nodetool status بررسی کنید که گره‌ها به رک‌های مختلف اختصاص داده شده‌اند، همانطور که مثال زیر نشان می‌دهد:

/opt/apigee/apigee-cassandra/bin/nodetool status

(شما این دستور را روی یکی از گره های کاساندرا اجرا می کنید.)

نتایج باید مشابه موارد زیر به نظر برسند، جایی که ستون 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 ارسال کنید. برای اطلاعات بیشتر، استفاده از ابزار نود برای مدیریت گره‌های خوشه را ببینید.

یک حلقه شش گره نصب کنید

برای افزونگی بیشتر، می توانید حلقه کاساندرا را به شش گره گسترش دهید. در این حالت، شما دو گره را به هر یک از سه رک اختصاص می دهید. این پیکربندی به سه گره اضافی نیاز دارد: Node 4 (IP4)، Node 5 (IP5) و Node 6 (IP6).

تصویر زیر ترتیب تکرار عملیات در سراسر حلقه (در جهت عقربه‌های ساعت) را نشان می‌دهد و این واقعیت را برجسته می‌کند که در طول تکرار، هیچ دو گره مجاور روی یک قفسه قرار ندارند:

3 قفسه، با 2 گره در هر رک
(شکل 3) حلقه کاساندرا 6 گره: دو گره در هر یک از سه قفسه

در این پیکربندی، هر گره دو کپی دیگر دارد: یکی در هر یک از دو قفسه دیگر. به عنوان مثال، گره 1 در رک 1 دارای یک ماکت در رک 2 و رک 3 است. عملیات ارسال شده به گره 1 نیز به ترتیب جهت عقربه های ساعت به ماکت های موجود در رک های دیگر ارسال می شود.

برای گسترش یک حلقه کاساندرا سه گره به یک حلقه کاساندرا شش گره، گره ها را به روش زیر در فایل پیکربندی بی صدا پیکربندی کنید:

CASS_HOSTS="IP1:1,1 IP4:1,3 IP2:1,2 IP5:1,1 IP3:1,3 IP6:1,2"

همانند یک حلقه سه گره، باید Cassandra را به همان ترتیبی که گره ها در ویژگی CASS_HOSTS ظاهر می شوند نصب کنید:

  1. گره 1 (IP1)
  2. گره 4 (IP4)*
  3. گره 2 (IP2)
  4. گره 5 (IP5)
  5. گره 3 (IP3)
  6. گره 6 (IP6)

* قبل از اجرای برنامه setup در گره چهارم (دومین ماشین در ترتیب نصب کاساندرا) تغییرات خود را در فایل پیکربندی بی صدا انجام دهید.

به 12 گره گسترش دهید

برای افزایش بیشتر تحمل خطا و در دسترس بودن، می توانید تعداد گره های Cassandra را در حلقه از شش به 12 افزایش دهید. این پیکربندی به شش گره اضافی (IP7 تا IP12) نیاز دارد.

تصویر زیر ترتیب تکرار عملیات در سراسر حلقه (در جهت عقربه‌های ساعت) را نشان می‌دهد و این واقعیت را برجسته می‌کند که در طول تکرار، هیچ دو گره مجاور روی یک قفسه قرار ندارند:

3 قفسه، با 4 گره در هر رک
(شکل 4) حلقه کاساندرا 12 گره: چهار گره در هر یک از سه قفسه

روش نصب یک حلقه 12 گره شبیه به نصب یک حلقه سه یا شش گره است: CASS_HOSTS را روی مقادیر داده شده تنظیم کنید و نصب کننده را به ترتیب مشخص شده اجرا کنید.

برای گسترش به یک حلقه کاساندرا 12 گره، گره ها را به روش زیر در فایل پیکربندی بی صدا پیکربندی کنید:

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"

مانند حلقه های سه و شش گره، باید نصب کننده را بر روی گره ها به ترتیب ظاهر شدن گره ها در فایل پیکربندی اجرا کنید:

  1. گره 1 (IP1)
  2. نود 7 (IP7)*
  3. گره 4 (IP4)
  4. نود 8 (IP8)
  5. گره 2 (IP2)
  6. گره 9 (IP9)
  7. گره 5 (IP5)
  8. Node 10 (IP10)
  9. گره 3 (IP3)
  10. Node 11 (IP11)
  11. گره 6 (IP6)
  12. Node 12 (IP12)

* باید این تغییرات را قبل از نصب Apigee Edge برای Private Cloud در گره 7 (دومین ماشین در ترتیب نصب Cassandra) انجام دهید.