عند إضافة عقد Cassandra إلى مجموعة، من الضروري مراعاة النقطةَين الرئيسيتَين أدناه:
- يجب عدم تغيير مواضع العقد الحالية في حلقة Cassandra لتقليل البث والحفاظ على حلقة متوازنة.
- يجب أن يظل عدد العقد في جميع مراكز البيانات ثابتًا.
لضمان تحقيق الهدف الأول، من المهم مضاعفة عدد العقد في مجموعة Cassandra في كل مرة تضيف فيها عقدًا جديدة.
على سبيل المثال، إذا بدأت بشبكة تثبيت مجموعة من 12 عقدة عادية موزّعة على مركزَي بيانات، سيكون لديك إجمالي ست عقد من Cassandra، ثلاث في كل مركز بيانات. لتوسيع هذه المجموعة، عليك إضافة ثلاث عقد إلى كل مركز بيانات، ما يزيد إجمالي عدد العقد إلى 12 (ست عقد في كل مركز بيانات). إذا كنت بحاجة إلى توسيع نطاق الخدمة، عليك إضافة ست عقد إضافية إلى كل مركز بيانات، ما يؤدي إلى زيادة إجمالي عدد العقد إلى 24 (12 عقدة في كل مركز بيانات).
يوفّر هذا المستند تعليمات لإضافة ثلاث عقد جديدة من 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. - ثبِّت 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 الجديدة المتبقية.
- في العقدة الأولى، نفِّذ ما يلي:
إعادة ضبط "خادم الإدارة"
على عقدة "خادم الإدارة"
- أعِد تشغيل ملف setup.sh لتعديل "خادم الإدارة" لعقد Cassandra التي تمت إضافتها حديثًا:
/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.