هنگام اضافه کردن گره های کاساندرا به یک خوشه، توجه به دو نکته کلیدی زیر ضروری است:
- موقعیت های موجود گره ها در حلقه کاساندرا نباید برای به حداقل رساندن جریان و حفظ یک حلقه متعادل تغییر کند.
- تعداد گره ها در تمام مراکز داده باید ثابت بماند.
برای اطمینان از هدف اول، بسیار مهم است که هر بار که گرههای جدید اضافه میکنید، تعداد گرهها را در خوشه 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 را روی گره های جدید نصب کنید
- سرور مدیریت را دوباره پیکربندی کنید
گره های کاساندرا موجود را دوباره پیکربندی کنید
در گره های کاساندرا موجود:
- Setup.sh را با نمایه "-pc" و فایل پیکربندی جدید دوباره اجرا کنید:
/opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile
Cassandra را روی گره های جدید نصب کنید
برای نصب Cassandra روی گره های جدید از روش زیر استفاده کنید.
در هر گره کاساندرا جدید:
- Cassandra را روی سه گره نصب کنید:
- همانطور که در Install the Edge apigee-setup utility توضیح داده شده است
apigee-setup
روی اولین گره نصب کنید. - با استفاده از فایل پیکربندی به روز شده، Cassandra را در اولین گره نصب کنید:
/opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile
- این دو مرحله را برای گرههای جدید کاساندرا تکرار کنید.
- همانطور که در Install the Edge apigee-setup utility توضیح داده شده است
- سه گره جدید کاساندرا را بازسازی کنید، نام منطقه را به عنوان مرکز داده ای که گره را در آن اضافه می کنید، مشخص کنید (
dc-1
،dc-2
، و غیره). در این مثال،dc-1
است:- در اولین گره، اجرا کنید:
/opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h nodeIP rebuild dc-1
جایی که nodeIP آدرس IP گره Cassandra است.
در صورتی که احراز هویت JMX را برای Cassandra فعال کرده باشید، فقط باید نام کاربری و رمز عبور خود را وارد کنید.
- این مرحله را روی گرههای جدید کاساندرا تکرار کنید.
- در اولین گره، اجرا کنید:
سرور مدیریت را دوباره پیکربندی کنید
در یک گره مدیریت-سرور
- برای بهروزرسانی سرور مدیریت برای گرههای Cassandra جدید، setup.sh را مجدداً اجرا کنید:
/opt/apigee/apigee-setup/bin/setup.sh -p ms -f updatedConfigFile
همه روترها و پردازشگرهای پیام را راه اندازی مجدد کنید
- در همه روترها:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
- در تمام پردازشگرهای پیام:
/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 مراجعه کنید.