إضافة عُقد Cassandra

عند إضافة عُقد كاساندرا إلى مجموعة، من الضروري مراعاة النقطتين الرئيسيتين التاليتين:

  • يجب ألا تتغير المواضع الحالية للعُقد في حلقة Cassandra لتقليل البث والحفاظ على حلقة متوازنة.
  • يجب أن يظل عدد العُقد في جميع مراكز البيانات ثابتًا.

لضمان الهدف الأول، من الأهمية بمكان مضاعفة عدد العُقد في مجموعة Cassandra في كل مرة تضيف فيها عُقدًا جديدة.

على سبيل المثال، إذا بدأت بهيكل قياسي لتثبيت مجموعة من 12 عقدة موزَّعًا على مركزَي بيانات، سيكون لديك ما مجموعه ست عُقد من كاساندرا، ثلاث عُقد في كل مركز بيانات. لتوسيع هذه المجموعة، يجب إضافة ثلاث عقد إلى كل مركز بيانات، وزيادة إجمالي عدد العقد إلى 12 (ستة عقد في كل مركز بيانات). إذا كان هناك حاجة إلى توسيع إضافي، فيجب إضافة ست عُقد إضافية إلى كل مركز بيانات، مما ينتج عنه 24 عُقدة إجمالية (12 عُقدة في كل مركز بيانات).

يوفّر هذا المستند تعليمات حول إضافة ثلاث عُقد Cassandra جديدة إلى تثبيت Edge for Private Cloud الحالي. يمكن اتّباع الخطوات نفسها لإضافة عُقد أخرى. تأكد دائمًا من مضاعفة عدد العُقد عند توسيع المجموعة.

للحصول على قائمة بمتطلبات النظام لعقدة Cassandra، يُرجى الرجوع إلى قسم متطلبات التثبيت.

إعدادات Edge الحالية

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

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

في عقدة Management-Server

  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

توفُّر مساحة خالية على القرص الحالي عُقد كاساندرا

بعد إضافة عقدة جديدة، يمكنك استخدام الأمر 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

يجب أن يشير هذا الأمر إلى MODE: Normal عند ارتفاع العقدة والفهارس. المواقع.

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

يجب أن يشير ذلك إلى أن خادم التوفير قيد التشغيل، مما يسمح لـ "كاساندرا" بقبول عميل جديد الطلبات.

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

يجب أن يشير إلى أن النقل الأصلي (أو البروتوكول الثنائي) قيد التشغيل.

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

يجب إظهار أن العُقد الجديدة تستخدم إصدار المخطط نفسه مثل العُقد القديمة.

لمزيد من المعلومات عن استخدام nodetool، يمكنك الاطّلاع على مستندات استخدام أداة عقدة