نقل خوادم 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 (انظر أدناه)، وإلا أعِد تشغيل كل مكوّن من مكوّنات منصة 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. نفِّذ الأمر nodetool ring على العقدة المعدَّلة للتأكّد من اكتمال الحلقة. يمكن العثور على الأداة المساعدة في /opt/apigee/apigee-cassandra/bin.
    nodetool [-u username -pw password] -h localhost ring

    ما عليك سوى تمرير اسم المستخدم وكلمة المرور في حال تفعيل مصادقة JMX لـ Cassandra.

  7. نفِّذ الأمر nodetool repair على العقدة المعدَّلة. يُرجى العِلم أنّ هذه العملية قد تستغرق بعض الوقت، لذا ننصح بشدة بعدم تنفيذها خلال ساعات الذروة لزيارات واجهة برمجة التطبيقات.
    nodetool [-u username -pw password] -h localhost repair -pr
  8. إذا لزم الأمر، يمكنك إصلاح ZooKeeper (انظر أدناه)، ثم إعادة تشغيل كل مكوّن من مكوّنات منصة Apigee، بدءًا من خادم الإدارة.

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

  1. ابحث عن المعرّفات الفريدة العالمية (UUID) لتسجيلات مخزن البيانات التي تحدّد عنوان IP القديم باستخدام الأوامر أدناه. دوِّن المَعلمتَين "type" و "UUID":
    • 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

    يجب أن يظهر في سطر "الوضع" (Mode) في الناتج "leader".

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

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

  1. على كل عقدة موجّه، عدِّل الملف /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. في عقدة خادم الإدارة، عدِّل الملف /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 (OpenLDAP)

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

  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) للعقدة.

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