قد يؤدي نقل المكوّنات من جهاز إلى آخر إلى عدم تطابق في الإعدادات إذا لم تتم مزامنة عناوين IP في ملفات إعداد المكوّنات.
يصف هذا القسم كيفية تشخيص حالات عدم تطابق الإعدادات وحلّها.
عناوين IP مقابل أسماء المضيفين
يجب استخدام عناوين IP بدلاً من أسماء المضيفين في ملفات إعداد المكوّنات.
على الرغم من أنّ بعض ملفات إعدادات المكوّنات تسمح لك باستخدام أسماء المضيفين بدلاً من عناوين IP، فإنّ استخدام أسماء المضيفين قد يؤدي إلى تعقيد عملية تحديد المشاكل وحلّها. على سبيل المثال، يمكن أن تكون أسماء المضيفين مصدرًا للمشاكل المتعلقة بإمكانية اتصال خادم نظام أسماء النطاقات وأخطاء البحث والمزامنة.
نتيجةً لذلك، تنصح Apigee بشدة باستخدام عناوين IP لجميع عمليات ضبط المكوّنات. في بعض الحالات، مثل Cassandra، يجب استخدام عناوين IP ولا يمكنك استخدام أسماء المضيفين. تستخدم معظم الأمثلة في المستندات عناوين IP لضبط المكوّنات.
بالنسبة إلى أسماء المضيفين وعناوين IP، يجب مراعاة الآثار المترتبة على السيناريوهات التالية عند نقل خوادم Apigee:
| السيناريو | تأثير نقل الخوادم |
|---|---|
| تغيير في عنوان IP | تعديل جميع الملفات ذات الصلة التي تشير إلى عنوان IP الأصلي |
| تغيير اسم المضيف بدون تغيير عنوان IP | لم يكن لها أي تأثير. |
| تغيير اسم المضيف مع تغيير عنوان IP | مثل تغيير عنوان IP |
تغيير عنوان IP لعقدة Cassandra
لتغيير عنوان IP لعقدة Cassandra، اتّبِع الخطوات التالية:
بالنسبة إلى الإعدادات التي تتضمّن عقدة Cassandra واحدة
- عدِّل
/opt/apigee/customer/application/cassandra.propertiesعلى النظام الذي يتم تعديله. إذا لم يكن الملف متوفّرًا، أنشِئه. - غيِّر المَعلمات التالية:
- اضبط المَعلمتَين
conf_cassandra_seedsوconf_cassandra_listen_addressلتحديد عنوان IP الجديد للنظام. - غيِّر
conf_cassandra_rpc_addressلاستخدام عنوان IP الجديد أو 0.0.0.0 (ما يسمح لـ Cassandra Thrift بالاستماع على جميع الواجهات).
- اضبط المَعلمتَين
- افتح
/opt/apigee/apigee-cassandra/conf/cassandra-topology.propertiesفي محرِّر. من المفترض أن يظهر عنوان IP القديم والإعداد التلقائي في النموذج:192.168.56.101=dc-1:ra-1 default=dc-1:ra-1
احفظ هذه المعلومات.
- عدِّل
/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.
- أعِد تشغيل Cassandra:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- إذا لزم الأمر، يمكنك أيضًا إصلاح ZooKeeper (انظر أدناه)، وإلا أعِد تشغيل كل مكوّن من مكوّنات منصة Apigee بدءًا من خادم الإدارة.
بالنسبة إلى عمليات الضبط التي تتضمّن عدة عُقد Cassandra (حلقة)،
- إذا كانت العقدة التي يتم تغييرها هي عقدة أولية، عدِّل ملف
/opt/apigee/customer/application/cassandra.propertiesفي كل نظام في الحلقة، وغيِّر مَعلمةconf_cassandra_seedsلتشمل عنوان IP الجديد للنظام المعدَّل. إذا لم يكن ملف cassandra.properties متوفّرًا، أنشئه. - عدِّل
/opt/apigee/customer/application/cassandra.propertiesعلى النظام الذي يتم تعديله، وغيِّر المَعلمات التالية:- اضبط
conf_cassandra_listen_addressلاستخدام عنوان IP الجديد. - اضبط
conf_cassandra_rpc_addressلاستخدام عنوان IP الجديد أو "0.0.0.0" (الذي يسمح لـ Cassandra Thrift بالاستماع على جميع الواجهات).
- اضبط
- افتح
/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
احفظ هذه المعلومات.
- عدِّل
/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.
- أعِد تشغيل Cassandra على النظام المعدَّل. إذا كان النظام المعدَّل عقدة أولية، عليك أيضًا إعادة تشغيل كل نظام استخدم العقدة الأولية المعدَّلة.
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- نفِّذ الأمر
nodetool ringعلى العقدة المعدَّلة للتأكّد من اكتمال الحلقة. يمكن العثور على الأداة المساعدة في/opt/apigee/apigee-cassandra/bin.nodetool [-u username -pw password] -h localhost ring
ما عليك سوى تمرير اسم المستخدم وكلمة المرور في حال تفعيل مصادقة JMX لـ Cassandra.
- نفِّذ الأمر
nodetool repairعلى العقدة المعدَّلة. يُرجى العِلم أنّ هذه العملية قد تستغرق بعض الوقت، لذا ننصح بشدة بعدم تنفيذها خلال ساعات الذروة لزيارات واجهة برمجة التطبيقات.nodetool [-u username -pw password] -h localhost repair -pr
- إذا لزم الأمر، يمكنك إصلاح ZooKeeper (انظر أدناه)، ثم إعادة تشغيل كل مكوّن من مكوّنات منصة Apigee، بدءًا من خادم الإدارة.
تعديل عمليات تسجيل مخازن البيانات
- ابحث عن المعرّفات الفريدة العالمية (UUID) لتسجيلات مخزن البيانات التي تحدّد عنوان IP القديم باستخدام الأوامر أدناه. دوِّن المَعلمتَين "type" و "UUID":
-
curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=central®ion=DC" | egrep -i '[type|internalip|uuid|region]'
-
curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=gateway®ion=DC" | egrep -i '[type|internalip|uuid|region]'
-
curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=analytics®ion=DC" | egrep -i '[type|internalip|uuid|region]'
حيث DC هو اسم مركز البيانات. في عملية تثبيت مركز بيانات واحد، تكون القيمة عادةً "dc-1".
-
- سجِّل عناوين IP الجديدة باستخدام أحد الأوامر أدناه. يعتمد الأمر المطلوب على نوع العقدة التي تم تغييرها.
- بالنسبة إلى type="application-datastore":
curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers -d \ "Type=application-datastore&Type=audit-datastore&InternalIP=NEWIP®ion=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®ion=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®ion=REGION&pod=analytics" \ -H 'content-type: application/x-www-form-urlencoded' -X POST
- بالنسبة إلى type="application-datastore":
- احذف التسجيلات القديمة للمعرّف الفريد العالمي (UUID) للنظام الذي تم تغيير عنوان IP عليه. لكل معرّف UUID، نفِّذ ما يلي:
curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers/OLD_UUID" -X DELETE
تغيير عنوان IP لعقدة ZooKeeper
اتّبِع الخطوات التالية لتغيير عنوان IP لعقدة ZooKeeper:
تغيير عنوان IP وإعادة تشغيل مجموعة ZooKeeper (لإعدادات المجموعة المتعددة العُقد فقط)
- افتح
/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
احفظ هذه المعلومات.
- في كل عقدة 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 وأنّ الإدخالات بالترتيب نفسه في كل عقدة.
- ابحث عن قائد مجموعة ZooKeeper باستخدام الأمر التالي (استبدِل
node بعنوان IP الخاص بجهاز Zookeeper):
echo srvr | nc node 2181
يجب أن يظهر في سطر "الوضع" (Mode) في الناتج "leader".
- أعِد تشغيل ZooKeeper واحدًا تلو الآخر بدءًا من القائد وانتهاءً بالعقدة التي تم تغيير عنوان IP عليها. إذا تم تغيير عناوين IP لأكثر من عقدة zookeeper واحدة، قد يكون من الضروري إعادة تشغيل جميع العقد.
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
- استخدِم الأمر
echoالموضّح أعلاه للتحقّق من كل عقدة ZooKeeper.
إعلام عُقد Apigee بالإعدادات التي تم تغييرها
- على كل عقدة موجّه، عدِّل الملف
/opt/apigee/customer/application/router.propertiesعلى النحو التالي. إذا لم يكن الملف متوفّرًا، أنشِئه.- غيِّر المَعلمة
conf_zookeeper_connection.stringلتضمين عنوان IP الجديد - غيِّر المَعلمة
conf_zookeeper_zk1.hostلتضمين عنوان IP الجديد
- غيِّر المَعلمة
- في كل عقدة من عقد معالج الرسائل، عدِّل الملف
/opt/apigee/customer/application/message-processor.propertiesعلى النحو التالي. إذا لم يكن الملف متوفّرًا، أنشِئه.- غيِّر المَعلمة
conf_zookeeper_connection.stringلتضمين عنوان IP الجديد - غيِّر المَعلمة
conf_zookeeper_zk1.hostلتضمين عنوان IP الجديد
- غيِّر المَعلمة
- في عقدة خادم الإدارة، عدِّل الملف
/opt/apigee/customer/application/management-server.propertiesعلى النحو التالي. إذا لم يكن الملف متوفّرًا، أنشِئه.- غيِّر المَعلمة
conf_zookeeper_connection.stringلتضمين عنوان IP الجديد - غيِّر المَعلمة
conf_zookeeper_zk1.hostلتضمين عنوان IP الجديد
- غيِّر المَعلمة
- أعِد تشغيل جميع مكوّنات منصة Apigee من خلال تنفيذ الأمر التالي على كل عُقدة:
/opt/apigee/apigee-service/bin/apigee-all restart
تغيير عنوان IP لخادم LDAP (OpenLDAP)
لتغيير عنوان IP لعقدة OpenLDAP، اتّبِع الخطوات التالية:
- في عقدة خادم الإدارة، عدِّل الملف
/opt/apigee/customer/application/management-server.properties. إذا لم يكن الملف متوفّرًا، أنشِئه. - في ملف
management-server.properties، اضبط المَعلمةconf_security_ldap.server.hostعلى عنوان IP الجديد. - أعِد تشغيل خادم الإدارة:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
تغيير عنوان IP لأنواع عُقد Apigee الأخرى
لتغيير عنوان IP لأي من أنواع العُقد هذه (جهاز التوجيه ومعالج الرسائل وخادم Postgres (وليس postgresql) وخادم Qpid (وليس qpidd):
- استخدِم أمر
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.