إضافة عُقد Cassandra

عند إضافة عقد 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 الحالية:

  1. أعِد تشغيل ملف setup.sh باستخدام الملف الشخصي "-p c" وملف الإعداد الجديد:
    /opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile

تثبيت Cassandra على العقد الجديدة

اتّبِع الإجراء أدناه لتثبيت Cassandra على العقد الجديدة.

في كل عقدة جديدة من Cassandra:

  1. ثبِّت Cassandra على العقد الثلاث:
    1. ثبِّت apigee-setup على العقدة الأولى كما هو موضّح في تثبيت أداة إعداد Edge apigee.
    2. ثبِّت Cassandra على العقدة الأولى باستخدام ملف الإعداد المعدَّل:
      /opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile
    3. كرِّر هاتين الخطوتَين مع عقد Cassandra الجديدة المتبقية.
  2. أعِد إنشاء عقد Cassandra الثلاث الجديدة، مع تحديد اسم المنطقة ليكون مركز البيانات الذي تضيف إليه العقدة (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. كرِّر هذه الخطوة على عقد Cassandra الجديدة المتبقية.

إعادة ضبط "خادم الإدارة"

على عقدة "خادم الإدارة"

  1. أعِد تشغيل ملف setup.sh لتعديل "خادم الإدارة" لعقد Cassandra التي تمت إضافتها حديثًا:
    /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 على العقد الحالية لإخلاء مساحة على القرص. يؤدي هذا الأمر إلى محو الرموز المميّزة للإعدادات التي لم يعُد تملكها عقدة 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.