نقل خوادم Apigee

قد يؤدي نقل المكوّنات من جهاز إلى آخر إلى حدوث عدم تطابق في الإعداد إذا لم تتم مزامنة عناوين IP في ملفات إعداد المكوّنات.

يوضّح هذا القسم كيفية تشخيص حالات عدم تطابق الإعدادات وحلّها.

عناوين IP مقابل أسماء المضيفين

يجب استخدام عناوين IP بدلاً من أسماء المضيفين في ملفات إعداد المكوّنات.

على الرغم من أنّ بعض ملفات إعداد المكوّنات تتيح لك استخدام أسماء المضيفين بدلاً من عناوين IP، إلا أنّ استخدام أسماء المضيفين قد يعقّد عملية تحديد المشاكل وحلّها. على سبيل المثال، يمكن أن تكون أسماء المضيفين مصدرًا للمشاكل المتعلقة بالاتصال بخادم نظام أسماء النطاقات، وتعذُّر البحث، والمزامنة.

نتيجةً لذلك، تنصح Apigee بشدة باستخدام عناوين IP لجميع إعدادات المكوّنات. في بعض الحالات، مثل Cassandra، يجب استخدام عناوين IP ولا يمكن استخدام أسماء المضيفين. تستخدم معظم الأمثلة في المستندات عناوين IP لضبط المكوّنات.

بالنسبة إلى أسماء المضيفين وعناوين IP، يجب مراعاة الآثار المترتبة على السيناريوهات التالية عند نقل خوادم Apigee:

السيناريو التأثير في نقل الخوادم
تغيير عنوان IP تعديل جميع الملفات ذات الصلة التي تشير إلى عنوان IP الأصلي
تغيير اسم المضيف بدون تغيير عنوان IP لم يكن لها أي تأثير.
تغيير اسم المضيف مع تغيير عنوان IP كما هو الحال عند تغيير عنوان IP

تغيير عنوان IP لعُقدة Cassandra

لتغيير عنوان IP لعُقدة Cassandra، اتّبِع الخطوات التالية:

بالنسبة إلى عمليات الإعداد التي تتضمّن عقدة Cassandra واحدة

  1. عدِّل /opt/apigee/customer/application/cassandra.properties على النظام الذي يتم تعديله. إذا لم يكن الملف متاحًا، أنشِئه.
  2. غيِّر المَعلمات التالية:
    • اضبط المَعلمتَين conf_cassandra_seeds وconf_cassandra_listen_address لتحديد عنوان IP الجديد للنظام.
    • غيِّر قيمة conf_cassandra_rpc_address لاستخدام إما عنوان IP الجديد أو 0.0.0.0 (ما يسمح لبروتوكول Cassandra Thrift بالاستماع على جميع الواجهات).
  3. افتح /opt/apigee/apigee-cassandra/conf/cassandra-topology.properties في محرّر. من المفترض أن يظهر عنوان IP القديم والإعداد التلقائي في النموذج على النحو التالي:
    192.168.56.101=dc-1:ra-1
    default=dc-1:ra-1

    احفظ هذه المعلومات.

  4. عدِّل /opt/apigee/customer/application/cassandra.properties لتغيير عنوان IP القديم المحدّد إلى عنوان IP الجديد:
    conf_cassandra-topology_topology=192.168.56.103=dc-1:ra-1\ndefault=dc-1:ra-1\n

    تأكَّد من إدراج "\n" بعد عنوان IP، وحدِّد الإعدادات التلقائية نفسها التي عثرت عليها أعلاه في الخطوة 3.

  5. أعِد تشغيل Cassandra:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. إذا لزم الأمر، أصلِح ZooKeeper أيضًا (راجِع تغيير عنوان IP لعقدة ZooKeeper). بخلاف ذلك، أعِد تشغيل كل مكوّن من مكوّنات منصة Apigee، بدءًا من "خادم الإدارة".

بالنسبة إلى عمليات الضبط التي تتضمّن عقد Cassandra متعددة (حلقة)

  1. إذا كانت العُقدة التي يتم تغييرها هي عُقدة أساسية، عدِّل الملف /opt/apigee/customer/application/cassandra.properties على كل نظام في الحلقة، وغيِّر المَعلمة conf_cassandra_seeds لتضمين عنوان IP الجديد للنظام المعدَّل. إذا لم يكن ملف cassandra.properties متوفّرًا، أنشئه.
  2. عدِّل /opt/apigee/customer/application/cassandra.properties على النظام الذي يتم تعديله، وغيِّر المَعلمات التالية:
    • اضبط conf_cassandra_listen_address لاستخدام عنوان IP الجديد.
    • اضبط conf_cassandra_rpc_address لاستخدام عنوان IP الجديد أو "0.0.0.0" (ما يسمح لبرنامج Cassandra Thrift بالاستماع على جميع الواجهات).
  3. افتح /opt/apigee/apigee-cassandra/conf/cassandra-topology.properties في محرّر. من المفترض أن تظهر لك جميع عناوين IP الخاصة بـ Cassandra والإعدادات التلقائية في النموذج:
    192.168.56.101=dc-1:ra-1
    192.168.56.102=dc-1:ra-1
    192.168.56.103=dc-1:ra-1
    default=dc-1:ra-1

    احفظ هذه المعلومات.

  4. عدِّل /opt/apigee/customer/application/cassandra.properties لتغيير عنوان IP القديم المحدّد إلى عنوان IP الجديد:
    conf_cassandra-topology_topology=192.168.56.101=dc-1:ra-1\n192.168.56.102=dc-1:ra-1\n192.168.56.104=dc-1:ra-1\ndefault=dc-1:ra-1\n

    تأكَّد من إدراج "\n" بعد كل عنوان IP، واستخدِم الإعدادات التلقائية نفسها التي سجّلتها أعلاه في الخطوة 3.

  5. أعِد تشغيل Cassandra على النظام المعدَّل.
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. بالنسبة إلى جميع العُقد الأخرى، كرِّر التغييرات التي تم إجراؤها في الخطوتين 3 و4 لإعلامها بموضع هذه العقدة في حلقة Cassandra. بالإضافة إلى ذلك، غيِّر عنوان IP لعقدة البداية كما هو موضّح في الخطوة 1.
  7. أعِد تشغيل كل عقدة Cassandra متبقية واحدة تلو الأخرى.
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  8. نفِّذ الأمر nodetool ring على العقدة المعدَّلة للتأكّد من اكتمال السلسلة. يمكنك العثور على الأداة في /opt/apigee/apigee-cassandra/bin.
    nodetool [-u username -pw password] -h localhost ring
  9. نفِّذ nodetool repair على العقدة المعدَّلة. يُرجى العِلم أنّ هذه العملية قد تستغرق بعض الوقت، لذا يُنصح بشدة بعدم إجرائها خلال ساعات ذروة عدد الزيارات إلى واجهة برمجة التطبيقات.
    nodetool [-u username -pw password] -h localhost repair -pr
  10. إذا لزم الأمر، أصلِح ZooKeeper (راجِع تغيير عنوان IP لعُقدة ZooKeeper)، ثم أعِد تشغيل كل مكوّن من مكونات منصة Apigee، بدءًا من خادم الإدارة.

تعديل عمليات تسجيل مخزن البيانات

  1. ابحث عن المعرّفات الفريدة العالمية (UUID) لعمليات تسجيل مخزن البيانات التي تحدّد عنوان IP القديم باستخدام الأوامر أدناه. دوِّن المَعلمتَين "النوع" و "المعرّف الفريد العالمي":
    • curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=central&region=DC" | egrep -i '[type|internalip|uuid|region]'
    • curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=gateway&region=DC" | egrep -i '[type|internalip|uuid|region]'
    • curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=analytics&region=DC" | egrep -i '[type|internalip|uuid|region]'

      حيث DC هو اسم مركز البيانات. في عملية تثبيت مركز بيانات واحد، تكون القيمة عادةً "dc-1".

  2. سجِّل عناوين IP الجديدة باستخدام أحد الأوامر أدناه. يعتمد الأمر المطلوب على نوع العقدة التي تم تغييرها.
    • بالنسبة إلى type="application-datastore":
      curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers -d \
        "Type=application-datastore&Type=audit-datastore&InternalIP=NEWIP&region=REGION&pod=central" \
        -H 'content-type: application/x-www-form-urlencoded' -X POST
    • بالنسبة إلى type="kms-datastore":
      curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers -d \
        "Type=kms-datastore&Type=dc-datastore&Type=keyvaluemap-datastore&Type=counter-datastore&Type=cache-datastore \
        &InternalIP=NEWIP&region=REGION&pod=GATEWAY_POD" -H 'content-type: \
        application/x-www-form-urlencoded' -X POST
    • بالنسبة إلى type="reportcrud-datastore":
      curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers" -d \
        "Type=reportcrud-datastore&InternalIP=NEW_IP&region=REGION&pod=analytics" \
        -H 'content-type: application/x-www-form-urlencoded' -X POST 
  3. احذف عمليات التسجيل القديمة لمعرّف UUID الخاص بالنظام الذي تم تغيير عنوان IP عليه. لكل مشكلة من مشاكل معرّفات UUID هذه، اتّخِذ الإجراءات التالية:
    curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers/OLD_UUID" -X DELETE

تغيير عنوان IP لعُقدة ZooKeeper

اتّبِع الخطوات التالية لتغيير عنوان IP لعقدة ZooKeeper:

تغيير عنوان IP وإعادة تشغيل مجموعة ZooKeeper (لإعدادات المجموعة المتعددة العُقد فقط)

  1. افتح /opt/apigee/apigee-zookeeper/conf/zoo.cfg في محرّر. من المفترض أن تظهر لك جميع عناوين IP الخاصة بخادم ZooKeeper والإعدادات التلقائية بالتنسيق التالي:
    server.1=192.168.56.101:2888:3888
    server.2=192.168.56.102:2888:3888
    server.3=192.168.56.103:2888:3888

    احفظ هذه المعلومات.

  2. في كل عقدة ZooKeeper، عدِّل الملف /opt/apigee/customer/application/zookeeper.properties لضبط السمة conf_zoo_quorum على عناوين IP الصحيحة. إذا لم يكن الملف متاحًا، أنشئه.
    conf_zoo_quorum=server.1=192.168.56.101:2888:3888\nserver.2=192.168.56.102:2888:3888\nserver.3=192.168.56.104:2888:3888\n

    تأكَّد من إدراج "\n" بعد كل عنوان IP وأنّ البيانات بالترتيب نفسه على كل عقدة.

  3. ابحث عن قائد مجموعة ZooKeeper باستخدام الأمر التالي (استبدِل node بعنوان IP لجهاز Zookeeper):
    echo srvr | nc node 2181

    يجب أن يظهر في سطر "الوضع" في الناتج "رئيسي".

  4. أعِد تشغيل أحد خوادم ZooKeeper بعد الآخر، بدءًا بالخادم الرئيسي وانتهاءً بالعقدة التي تم تغيير عنوان IP الخاص بها. إذا تم تغيير عناوين IP لأكثر من عقدة واحدة في Zookeeper، قد يكون من الضروري إعادة تشغيل جميع العُقد.
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
  5. استخدِم الأمر echo الموضّح أعلاه للتحقّق من كل عقدة ZooKeeper.

إبلاغ عقد Apigee بالإعدادات التي تم تغييرها

  1. في كل عقدة Router، عدِّل الملف /opt/apigee/customer/application/router.properties على النحو التالي. إذا لم يكن الملف متاحًا، أنشِئه.
    • غيِّر المَعلمة conf_zookeeper_connection.string لتضمين عنوان IP الجديد
    • غيِّر المَعلمة conf_zookeeper_zk1.host لتضمين عنوان IP الجديد
  2. في كل عقدة من عقد معالجة الرسائل، عدِّل الملف /opt/apigee/customer/application/message-processor.properties على النحو التالي. إذا لم يكن الملف متاحًا، أنشِئه.
    • غيِّر المَعلمة conf_zookeeper_connection.string لتضمين عنوان IP الجديد
    • غيِّر المَعلمة conf_zookeeper_zk1.host لتضمين عنوان IP الجديد
  3. في عُقدة Management Server، عدِّل الملف /opt/apigee/customer/application/management-server.properties على النحو التالي. إذا لم يكن الملف متاحًا، أنشِئه.
    • غيِّر المَعلمة conf_zookeeper_connection.string لتضمين عنوان IP الجديد
    • غيِّر المَعلمة conf_zookeeper_zk1.host لتضمين عنوان IP الجديد
  4. أعِد تشغيل جميع مكونات منصة Apigee من خلال تنفيذ الأمر التالي على كل عُقدة:
    /opt/apigee/apigee-service/bin/apigee-all restart

تغيير عنوان IP لخادم LDAP (SymasLDAP)

لتغيير عنوان IP لعقدة SymasLDAP، اتّبِع الخطوات التالية:

  1. في عقدة "خادم الإدارة"، عدِّل الملف /opt/apigee/customer/application/management-server.properties. إذا لم يكن الملف متاحًا، أنشِئه.
  2. في الملف management-server.properties، اضبط المَعلمة conf_security_ldap.server.host على عنوان IP الجديد.
  3. أعِد تشغيل خادم الإدارة:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

تغيير عنوان IP الخاص بأنواع أخرى من عقد Apigee

لتغيير عنوان IP لأي من أنواع العُقد هذه (جهاز التوجيه ومعالج الرسائل وخادم Postgres (ليس postgresql) وخادم Qpid (ليس qpidd):

  1. استخدِم الأمر curl التالي لتسجيل عنوانَي IP الداخلي والخارجي الجديدَين:
    curl -u ADMINEMAIL:PW -X PUT \
      http://MSIP:8080/v1/servers/uuid -d ExternalIP=ip
    curl -u ADMINEMAIL:PW -X PUT \
      http://$MSIP:8080/v1/servers/uuid -d InternalIP=ip

    حيث يمثّل uuid المعرّف الفريد العالمي (UUID) للعقدة.

للحصول على معلومات حول كيفية الحصول على رقم تعريف فريد عالميًا لأحد المكوّنات، يُرجى الاطّلاع على الحصول على أرقام التعريف الفريدة عالميًا.