هنگام افزودن گرههای Cassandra به یک خوشه، درنظر گرفتن دو نکته کلیدی زیر ضروری است:
- موقعیتهای فعلی گرهها در حلقه Cassandra نباید تغییر کند تا جاریسازی به حداقل برسد و حلقه متوازن حفظ شود.
- تعداد گرهها در همه مراکز داده باید یکسان باشد.
برای اطمینان از هدف اول، بسیار مهم است که هر بار که گرههای جدیدی اضافه میکنید، تعداد گرهها در خوشه Cassandra را دوبرابر کنید.
برای مثال، اگر با توپولوژی نصب خوشه ۱۲ گرهای استاندارد که در دو مرکز داده توزیع شده است شروع کنید، درمجموع شش گره Cassandra خواهید داشت—سه گره در هر مرکز داده. برای گسترش این خوشه، باید سه گره به هر مرکز داده اضافه کنید و تعداد کل گرهها را به ۱۲ گره (شش گره در هر مرکز داده) افزایش دهید. اگر به گسترش بیشتر نیاز است، باید شش گره دیگر به هر مرکز داده اضافه کنید که درمجموع ۲۴ گره (۱۲ گره در هر مرکز داده) خواهید داشت.
این سند دستورالعملهایی برای افزودن سه گره جدید Cassandra به نصب موجود Edge for Private Cloud ارائه میدهد. برای افزودن گرههای بیشتر، میتوانید همین مراحل را دنبال کنید. همیشه مطمئن شوید که هنگام گسترش خوشه، تعداد گرهها را دوبرابر میکنید.
برای فهرست ملزومات سیستم گره Cassandra، به بخش ملزومات نصب مراجعه کنید.
پیکربندی Edge موجود
همه توپولوژیهای پشتیبانیشده Edge برای سیستم تولید مشخص میکنند که از سه گره Cassandra استفاده شود. سه گره در دارایی 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 به این اطلاعات نیاز دارید.
درحال اصلاح فایل پیکربندی برای افزودن سه گره جدید Cassandra
در این مثال، سه گره جدید 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 موجود
- نصب Cassandra روی گرههای جدید
- پیکربندی مجدد «سرور مدیریت»
پیکربندی مجدد گرههای Cassandra موجود
در گرههای Cassandra موجود:
- setup.sh را با نمایه «-p c» و فایل پیکربندی جدید دوباره اجرا کنید:
/opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile
نصب Cassandra روی گرههای جدید
از روش زیر برای نصب Cassandra در گرههای جدید استفاده کنید.
در هر گره جدید Cassandra:
- Cassandra را در سه گره نصب کنید:
apigee-setupرا در اولین گره نصب کنید، همانطور که در نصب ابزار Edge apigee-setup توضیح داده شده است.- بااستفاده از فایل پیکربندی بهروزشده، Cassandra را در اولین گره نصب کنید:
/opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile
- این دو مرحله را برای گرههای جدید Cassandra باقیمانده تکرار کنید.
- سه گره جدید Cassandra را بازسازی کنید و نام منطقهای را که میخواهید گره را به آن اضافه کنید (
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 باقیمانده تکرار کنید.
- در گره اول، این دستور را اجرا کنید:
پیکربندی مجدد «سرور مدیریت»
در گره «سرور مدیریت»
- برای بهروزرسانی «سرور مدیریت» برای گرههای 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 در گرههای
ازپیش موجود برای آزاد کردن فضای دیسک استفاده کنید. این فرمان نشانههای پیکربندی را که دیگر متعلق به گره Cassandra ازپیش موجود نیست پاک میکند.
برای آزاد کردن فضای دیسک در گرههای Cassandra ازقبل موجود پساز افزودن گره جدید، فرمان زیر را اجرا کنید:
/opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h cassandraIP cleanup
فقط درصورتی باید نام کاربری و گذرواژهتان را ارسال کنید که اصالتسنجی JMX را برای Cassandra فعال کرده باشید.
تأیید بازسازی
از فرمانهای زیر برای تأیید موفقیتآمیز بودن بازسازی استفاده کنید:
nodetool [-u username -pw password] -h nodeIP netstats
این فرمان نشان میدهد که آیا انتقال بومی (یا پروتکل دودویی) درحال اجرا است یا نه، که به Cassandra اجازه میدهد درخواستهای کارخواه جدید را بپذیرد.
nodetool [-u username -pw password] -h nodeIP statusbinary
این فرمان نشان میدهد که آیا انتقال بومی (یا پروتکل باینری) درحال اجرا است یا نه.
nodetool [-u username -pw password] -h nodeIP describecluster
این فرمان نشان میدهد که آیا گرههای جدید از همان نسخه طرحواره گرههای قدیمی استفاده میکنند یا نه.
برای کسب اطلاعات بیشتر درباره استفاده از nodetool،
سند استفاده از nodetool را ببینید.