اضافه کردن گره های کاساندرا

هنگام اضافه کردن گره های کاساندرا به یک خوشه، توجه به دو نکته کلیدی زیر ضروری است:

  • موقعیت های موجود گره ها در حلقه کاساندرا نباید برای به حداقل رساندن جریان و حفظ یک حلقه متعادل تغییر کند.
  • تعداد گره ها در تمام مراکز داده باید ثابت بماند.

برای اطمینان از هدف اول، بسیار مهم است که هر بار که گره‌های جدید اضافه می‌کنید، تعداد گره‌ها را در خوشه Cassandra دو برابر کنید.

برای مثال، اگر با یک توپولوژی نصب خوشه ۱۲ گره استاندارد شروع کنید که در دو مرکز داده توزیع شده است، در مجموع شش گره کاساندرا خواهید داشت – سه گره در هر مرکز داده. برای گسترش این خوشه، باید سه گره به هر مرکز داده اضافه کنید و تعداد کل گره ها را به 12 افزایش دهید (شش گره در هر مرکز داده). در صورت نیاز به گسترش بیشتر، باید شش گره اضافی را به هر مرکز داده اضافه کنید که در نتیجه تعداد گره ها 24 (12 گره در هر مرکز داده) خواهد بود.

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

برای لیستی از سیستم مورد نیاز برای گره Cassandra، به بخش Installation Requirements مراجعه کنید.

پیکربندی Edge موجود

تمام توپولوژی های لبه پشتیبانی شده برای یک سیستم تولید، استفاده از سه گره کاساندرا را مشخص می کنند. طبق شکل زیر، سه گره در فایل کانفیگ به ویژگی CASS_HOSTS مشخص می‌شوند:

IP1=10.10.0.1
IP2=10.10.0.2
IP3=10.10.0.3
HOSTIP=$(hostname -i)
ADMIN_EMAIL=opdk@google.com
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt
MSIP=$IP1 
USE_LDAP_REMOTE_HOST=n
LDAP_TYPE=1
APIGEE_LDAPPW=secret
MP_POD=gateway
REGION=dc-1
ZK_HOSTS="$IP1 $IP2 $IP3"
ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3"
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1" 
SKIP_SMTP=n
SMTPHOST=smtp.example.com
SMTPUSER=smtp@example.com
SMTPPASSWORD=smtppwd

توجه داشته باشید که ویژگی REGION نام منطقه را به عنوان "dc-1" مشخص می کند. هنگام اضافه کردن گره های جدید کاساندرا به این اطلاعات نیاز دارید.

تغییر فایل پیکربندی برای افزودن سه گره جدید کاساندرا

در این مثال، سه گره جدید Cassandra در آدرس‌های IP زیر قرار دارند:

  • 10.10.0.14
  • 10.10.0.15
  • 10.10.0.16

ابتدا باید فایل پیکربندی Edge را برای اضافه کردن گره های جدید به روز کنید:

IP1=10.10.0.1
IP2=10.10.0.2
IP3=10.10.0.3
# Add the new node IP addresses.
IP14=10.10.0.14
IP15=10.10.0.15
IP16=10.10.0.16
HOSTIP=$(hostname -i)
ADMIN_EMAIL=opdk@google.com
...
# Update CASS_HOSTS to add each new node after an existing nodes. 
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1 $IP14:1,1 $IP2:1,1 $IP15:1,1 $IP3:1,1 $IP16:1,1" 

این تضمین می کند که گره های موجود تنظیمات نشانه اولیه خود را حفظ می کنند و نشانه اولیه هر گره جدید بین مقادیر نشانه گره های موجود است.

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

پس از ویرایش فایل کانفیگ، باید:

  • گره های کاساندرا موجود را دوباره پیکربندی کنید
  • Cassandra را روی گره های جدید نصب کنید
  • سرور مدیریت را دوباره پیکربندی کنید

گره های کاساندرا موجود را دوباره پیکربندی کنید

در گره های کاساندرا موجود:

  1. Setup.sh را با نمایه "-pc" و فایل پیکربندی جدید دوباره اجرا کنید:
    /opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile

Cassandra را روی گره های جدید نصب کنید

برای نصب Cassandra روی گره های جدید از روش زیر استفاده کنید.

در هر گره کاساندرا جدید:

  1. Cassandra را روی سه گره نصب کنید:
    1. همانطور که در Install the Edge apigee-setup utility توضیح داده شده است apigee-setup روی اولین گره نصب کنید.
    2. با استفاده از فایل پیکربندی به روز شده، Cassandra را در اولین گره نصب کنید:
      /opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile
    3. این دو مرحله را برای گره‌های جدید کاساندرا تکرار کنید.
  2. سه گره جدید کاساندرا را بازسازی کنید، نام منطقه را به عنوان مرکز داده ای که گره را در آن اضافه می کنید، مشخص کنید ( dc-1 ، dc-2 ، و غیره). در این مثال، dc-1 است:
    1. در اولین گره، اجرا کنید:
      /opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h nodeIP rebuild dc-1

      جایی که nodeIP آدرس IP گره Cassandra است.

      در صورتی که احراز هویت JMX را برای Cassandra فعال کرده باشید، فقط باید نام کاربری و رمز عبور خود را وارد کنید.

    2. این مرحله را روی گره‌های جدید کاساندرا تکرار کنید.

سرور مدیریت را دوباره پیکربندی کنید

در یک گره مدیریت-سرور

  1. برای به‌روزرسانی سرور مدیریت برای گره‌های Cassandra جدید، setup.sh را مجدداً اجرا کنید:
    /opt/apigee/apigee-setup/bin/setup.sh -p ms -f updatedConfigFile

همه روترها و پردازشگرهای پیام را راه اندازی مجدد کنید

  1. در همه روترها:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  2. در تمام پردازشگرهای پیام:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

فضای دیسک آزاد در گره های Cassandra موجود

پس از اضافه کردن یک گره جدید، می توانید از دستور nodetool cleanup بر روی گره های از قبل موجود برای آزاد کردن فضای دیسک استفاده کنید. این دستور توکن های پیکربندی را که دیگر متعلق به گره کاساندرا از قبل موجود نیستند پاک می کند.

برای آزاد کردن فضای دیسک در گره‌های کاساندرا از قبل موجود پس از افزودن یک گره جدید، دستور زیر را اجرا کنید:

/opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h cassandraIP cleanup

در صورتی که احراز هویت JMX را برای Cassandra فعال کرده باشید، فقط باید نام کاربری و رمز عبور خود را وارد کنید.

بازسازی مجدد را تأیید کنید

از دستورات زیر برای بررسی موفقیت آمیز بودن بازسازی استفاده کنید:

nodetool [-u username -pw password] -h nodeIP netstats

این دستور باید MODE: Normal .

nodetool [-u username -pw password] -h nodeIP statusthrift

باید نشان دهد که سرور صرفه‌جویی در حال اجرا است، که به Cassandra اجازه می‌دهد درخواست‌های مشتری جدید را بپذیرد.

nodetool [-u username -pw password] -h nodeIP statusbinary

باید نشان دهد که انتقال بومی (یا پروتکل باینری ) در حال اجرا است.

nodetool [-u username -pw password] -h nodeIP describecluster

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

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