نقل خوادم 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. أعِد تشغيل كاساندرا:
    /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. أعِد تشغيل "كاساندرا" على النظام المعدّل.
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. بالنسبة لجميع العُقد الأخرى، كرر التغييرات التي تم إجراؤها في الخطوتين 3 و4 لإبلاغهم بموقع هذه العقدة في حلقة كاساندرا. بالإضافة إلى ذلك، غيِّر عنوان 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 القديم باستخدام الأوامر أدناه. لاحظ "النوع" و"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 فيه. في حال تغيير أكثر من عقدة 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. في عقدة "خادم الإدارة"، عدِّل الملف /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) Server (not postgresql) وQpid Server (وليس 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).