نقل خوادم Apigee

Edge for Private Cloud الإصدار 4.19.01

قد يؤدّي نقل المكوّنات من جهاز إلى آخر إلى عدم تطابق في الإعدادات إذا لم تتزامن عناوين 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 بدءًا من Management Server.

بالنسبة إلى الإعدادات التي تتضمّن عُقد 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، بدءًا من Management Server.

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

  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

    يجب أن يشير سطر الوضع في الإخراج إلى "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).