يوضّح هذا المستند كيفية إضافة مركز بيانات (يُعرف أيضًا باسم منطقة) إلى مركز بيانات حالي.
اعتبارات قبل إضافة مركز بيانات
قبل تثبيت مركز بيانات وإضافته، عليك فهم كيفية ضبط خوادم OpenLDAP، وZooKeeper وCassandra وPostgres في مراكز البيانات. عليك أيضًا التأكّد من فتح المنافذ اللازمة بين العُقد في مركزَي البيانات.
- OpenLDAP
يحتوي كل مركز بيانات على خادم OpenLDAP خاص به تم ضبطه مع تفعيل ميزة النسخ المتماثل. عند تثبيت مركز البيانات الجديد، عليك ضبط OpenLDAP لاستخدام ميزة النسخ المتماثل، وعليك إعادة ضبط خادم OpenLDAP في مركز البيانات الحالي لاستخدام ميزة النسخ المتماثل.
- ZooKeeper
بالنسبة إلى السمة
ZK_HOSTSلكلا مركزَي البيانات، حدِّد عناوين IP أو أسماء نظام أسماء النطاقات (DNS) لجميع عُقد ZooKeeper من كلا مركزَي البيانات، بالترتيب نفسه، وضَع علامة على أي عُقد باستخدام المعدِّل ":observer". تُعرف العُقد التي لا تحتوي على المعدِّل:observerباسم "المصوّتون". يجب أن يكون لديك عدد فردي من "المصوّتين" في الإعدادات.في هذا المخطط، يكون مضيف ZooKeeper على المضيف 9 هو المراقب:

في ملف الإعدادات المثال الموضّح أدناه، تم وضع علامة على العُقدة 9 باستخدام المعدِّل
:observerليكون لديك خمسة مصوّتين: العُقد 1 و2 و3 و7 و8.بالنسبة إلى السمة
ZK_CLIENT_HOSTSلكل مركز بيانات، حدِّد عناوين IP أو أسماء نظام أسماء النطاقات (DNS) لعُقد ZooKeeper فقط في مركز البيانات، بالترتيب نفسه، لجميع عُقد ZooKeeper في مركز البيانات. - Cassandra
بالنسبة إلى
CASS_HOSTSلكل مركز بيانات، تأكَّد من تحديد جميع عناوين IP الخاصة بـ Cassandra (وليس أسماء نظام أسماء النطاقات) لكلا مركزَي البيانات. بالنسبة إلى مركز البيانات 1، أدرِج عُقد Cassandra في مركز البيانات هذا أولاً. بالنسبة إلى مركز البيانات 2، أدرِج عُقد Cassandra في مركز البيانات هذا أولاً. أدرِج عُقد Cassandra بالترتيب نفسه لجميع عُقد Cassandra في مركز البيانات.يجب أن تحتوي جميع عُقد Cassandra على اللاحقة ':d,r'؛ على سبيل المثال 'ip:1,1 = مركز البيانات 1 والرف/منطقة التوفّر 1 و'ip:2,1 = مركز البيانات 2 والرف/منطقة التوفّر 1.
على سبيل المثال، "192.168.124.201:1,1 192.168.124.202:1,1 192.168.124.203:1,1 192.168.124.204:2,1 192.168.124.205:2,1 192.168.124.206:2,1"
سيتم استخدام العُقدة الأولى في الرف/منطقة التوفّر 1 لكل مركز بيانات كخادم أساسي. في نموذج النشر هذا، سيبدو إعداد Cassandra على النحو التالي:

-
Postgres
تثبِّت Edge تلقائيًا جميع عُقد Postgres في وضع العُقدة الرئيسية. ومع ذلك، عندما يكون لديك مراكز بيانات متعددة ، يمكنك ضبط عُقد Postgres لاستخدام ميزة النسخ المتماثل من العُقدة الرئيسية إلى العُقدة الاحتياطية حتى تتمكّن العُقدة الاحتياطية من مواصلة عرض الزيارات في حال تعذُّر الوصول إلى العُقدة الرئيسية. عادةً، يمكنك ضبط خادم Postgres الرئيسي في مركز بيانات واحد، والخادم الاحتياطي في مركز البيانات الثاني.
إذا كان مركز البيانات الحالي مضبوطًا حاليًا على تشغيل عُقدتَي Postgres في وضع العُقدة الرئيسية/الاحتياطية، عليك إلغاء تسجيل العُقدة الاحتياطية الحالية واستبدالها بعُقدة احتياطية في مركز البيانات الجديد كجزء من هذا الإجراء.
يوضّح الجدول التالي إعدادات Postgres قبل وبعد كلا السيناريوهَين:
قبل بعد عُقدة Postgres الرئيسية الفردية في dc-1
عُقدة Postgres الرئيسية في dc-1
عُقدة Postgres الاحتياطية في dc-2
عُقدة Postgres الرئيسية في dc-1
عُقدة Postgres الاحتياطية في dc-1
عُقدة Postgres الرئيسية في dc-1
عُقدة Postgres الاحتياطية في dc-2
إلغاء تسجيل عُقدة Postgres الاحتياطية القديمة في dc-1
- متطلبات المنافذ
عليك التأكّد من فتح المنافذ اللازمة بين العُقد في مركزَي البيانات. للاطّلاع على مخطط المنافذ، يُرجى مراجعة متطلبات المنافذ.
تعديل مركز البيانات الحالي
تتطلّب إضافة مركز بيانات تنفيذ خطوات تثبيت عُقد مركز البيانات الجديد وضبطها، ولكنها تتطلّب أيضًا تعديل العُقد في مركز البيانات الأصلي. هذه التعديلات ضرورية لأنّك تضيف عُقد Cassandra وZooKeeper جديدة في مركز البيانات الجديد يجب أن يكون مركز البيانات الحالي قادرًا على الوصول إليها، وعليك إعادة ضبط OpenLDAP لاستخدام ميزة النسخ المتماثل.
إنشاء ملفات الإعدادات
في ما يلي ملفات الإعدادات الصامتة لمركزَي البيانات، حيث يحتوي كل مركز بيانات على 6 عُقد كما هو موضّح في أشكال إعدادات التثبيت. يُرجى العِلم أنّ ملف الإعدادات لمركز البيانات 1 يضيف إعدادات إضافية إلى:
- ضبط OpenLDAP باستخدام ميزة النسخ المتماثل على عُقدتَي OpenLDAP
- إضافة عُقد Cassandra وZooKeeper الجديدة من مركز البيانات 2 إلى ملف الإعدادات لمركز البيانات 1
# Datacenter 1 IP1=IPorDNSnameOfNode1 IP2=IPorDNSnameOfNode2 IP3=IPorDNSnameOfNode3 IP7=IPorDNSnameOfNode7 IP8=IPorDNSnameOfNode8 IP9=IPorDNSnameOfNode9 HOSTIP=$(hostname -i) MSIP=$IP1 ADMIN_EMAIL=opdk@google.com APIGEE_ADMINPW=Secret123 LICENSE_FILE=/tmp/license.txt USE_LDAP_REMOTE_HOST=n LDAP_TYPE=2 LDAP_SID=1 LDAP_PEER=$IP7 APIGEE_LDAPPW=secret MP_POD=gateway-1 REGION=dc-1 ZK_HOSTS="$IP1 $IP2 $IP3 $IP7 $IP8 $IP9:observer" ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3" # Must use IP addresses for CASS_HOSTS, not DNS names. CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1 $IP7:2,1 $IP8:2,1 $IP9:2,1" SKIP_SMTP=n SMTPHOST=smtp.example.com SMTPUSER=smtp@example.com SMTPPASSWORD=smtppwd SMTPSSL=n SMTPPORT=25 SMTPMAILFROM="My Company <myco@company.com>" |
# Datacenter 2 IP1=IPorDNSnameOfNode1 IP2=IPorDNSnameOfNode2 IP3=IPorDNSnameOfNode3 IP7=IPorDNSnameOfNode7 IP8=IPorDNSnameOfNode8 IP9=IPorDNSnameOfNode9 HOSTIP=$(hostname -i) MSIP=$IP7 ADMIN_EMAIL=opdk@google.com APIGEE_ADMINPW=Secret123 LICENSE_FILE=/tmp/license.txt USE_LDAP_REMOTE_HOST=n LDAP_TYPE=2 LDAP_SID=2 LDAP_PEER=$IP1 APIGEE_LDAPPW=secret MP_POD=gateway-2 REGION=dc-2 ZK_HOSTS="$IP1 $IP2 $IP3 $IP7 $IP8 $IP9:observer" ZK_CLIENT_HOSTS="$IP7 $IP8 $IP9" # Must use IP addresses for CASS_HOSTS, not DNS names. CASS_HOSTS="$IP7:2,1 $IP8:2,1 $IP9:2,1 $IP1:1,1 $IP2:1,1 $IP3:1,1" SKIP_SMTP=n SMTPHOST=smtp.example.com SMTPUSER=smtp@example.com SMTPPASSWORD=smtppwd SMTPSSL=n SMTPPORT=25 SMTPMAILFROM="My Company <myco@company.com>" |
إضافة مركز بيانات جديد
استخدِم الإجراء أدناه لتثبيت مركز بيانات جديد.
في الإجراء، تحمل مراكز البيانات الأسماء التالية:
- dc-1: مركز البيانات الحالي
- dc-2: مركز البيانات الجديد
لإضافة مركز بيانات جديد، اتّبِع الخطوات التالية:
- على dc-1 ، أعِد تشغيل setup.sh على عُقد Cassandra الأصلية باستخدام ملف الإعدادات الجديد لمركز البيانات 1 الذي يتضمّن عُقد Cassandra من مركز البيانات 2:
/opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile1
- على dc-2، ثبِّت apigee-setup على جميع العُقد. لمزيد من المعلومات، يُرجى الاطّلاع على تثبيت أداة apigee-setup في Edge.
- على dc-2، ثبِّت Cassandra وZooKeeper على العُقد المناسبة:
/opt/apigee/apigee-setup/bin/setup.sh -p ds -f configFile2
- على dc-1، أعِد تشغيل setup.sh على عُقدة "خادم الإدارة":
/opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile1
إذا كان ذلك منطبقًا، أعِد تشغيل إعدادات تحقيق الربح:
/opt/apigee/apigee-setup/bin/setup.sh -p mo -f mint_configFile1
- على dc-2، شغِّل أمر إعادة الإنشاء على جميع عُقد Cassandra، مع تحديد اسم منطقة مركز البيانات 1:
/opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h cassIP rebuild dc-1
عليك فقط إدخال اسم المستخدم وكلمة المرور إذا فعّلت ميزة المصادقة باستخدام JMX لـ Cassandra.
- على مركز البيانات 2، ثبِّت "خادم الإدارة" على العُقدة المناسبة:
/opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile2
- على عُقدة "خادم الإدارة" في مركز البيانات 2، ثبِّت
apigee-provision، الذي يثبِّت الأداةapigee-adminapi.sh/opt/apigee/apigee-service/bin/apigee-service apigee-provision install
- على مركز البيانات 2، ثبِّت أجهزة توجيه الرسائل ومعالجاتها على العُقد المناسبة:
/opt/apigee/apigee-setup/bin/setup.sh -p rmp -f configFile2
- على مركز البيانات 2، ثبِّت Qpid على العُقد المناسبة:
/opt/apigee/apigee-setup/bin/setup.sh -p qs -f configFile2
- على مركز البيانات 2، ثبِّت Postgres على العُقدة المناسبة:
/opt/apigee/apigee-setup/bin/setup.sh -p ps -f configFile2
- اضبط وضع العُقدة الرئيسية/الاحتياطية لـ Postgres لعُقد Postgres. عُقدة Postgres في مركز البيانات 1 هي العُقدة الرئيسية، وعُقدة Postgres في مركز البيانات 2 هي الخادم الاحتياطي.
- على العُقدة الرئيسية في dc-1، عدِّل ملف الإعدادات لضبط:
PG_MASTER=IPorDNSofDC1Master PG_STANDBY=IPorDNSofDC2Standby
- فعِّل ميزة النسخ المتماثل على العُقدة الرئيسية الجديدة:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
- على العُقدة الاحتياطية في dc-2 ، عدِّل ملف الإعدادات لضبط:
PG_MASTER=IPorDNSofDC1Master PG_STANDBY=IPorDNSofDC2Standby
- على العُقدة الاحتياطية في dc-2، أوقِف الخادم ثم احذف أي
بيانات Postgres حالية:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
rm -rf /opt/apigee/data/apigee-postgresql/إذا لزم الأمر، يمكنك الاحتفاظ بنسخة احتياطية من هذه البيانات قبل حذفها.
- اضبط العُقدة الاحتياطية في dc-2:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
- على العُقدة الرئيسية في dc-1، عدِّل ملف الإعدادات لضبط:
- على مركز البيانات 1، عدِّل إعدادات "إحصاءات Google" واضبط المؤسسات.
- على عُقدة "خادم الإدارة" في مركز البيانات 1، احصل على المعرّف الفريد العالمي لعُقدة Postgres:
apigee-adminapi.sh servers list -r dc-1 -p analytics -t postgres-server \ --admin adminEmail --pwd adminPword --host localhost
يظهر المعرّف الفريد العالمي في نهاية البيانات التي يتم عرضها. احفظ هذه القيمة.
- على عُقدة "خادم الإدارة" في مركز البيانات 2، احصل على المعرّف الفريد العالمي لعُقدة Postgres كما هو موضّح في الخطوة السابقة. احفظ هذه القيمة.
- على عُقدة "خادم الإدارة" في مركز البيانات 1، حدِّد اسمَي مجموعتَي
"إحصاءات Google" والمستهلكين. تتطلّب العديد من الأوامر أدناه هذه المعلومات.
تلقائيًا، يكون اسم مجموعة "إحصاءات Google" هو "axgroup-001"، واسم مجموعة المستهلكين هو "consumer-group-001". في ملف الإعدادات الصامت لمنطقة، يمكنك ضبط اسم مجموعة "إحصاءات Google" باستخدام السمة
AXGROUP.إذا لم تكن متأكدًا من اسمَي مجموعتَي "إحصاءات Google" والمستهلكين، استخدِم الأمر التالي لعرضهما:
apigee-adminapi.sh analytics groups list \ --admin adminEmail --pwd adminPword --host localhost
يعرض هذا الأمر اسم مجموعة "إحصاءات Google" في حقل الاسم، واسم مجموعة المستهلكين في حقل مجموعات المستهلكين.
- على عُقدة "خادم الإدارة" في مركز البيانات 1، أزِل خادم Postgres الحالي
من مجموعة "إحصاءات Google":
- أزِل عُقدة Postgres من مجموعة المستهلكين:
apigee-adminapi.sh analytics groups consumer_groups datastores remove \ -g axgroup-001 -c consumer-group-001 -u UUID \ -Y --admin adminEmail --pwd adminPword --host localhost
إذا كان dc-1 مضبوطًا على تشغيل عُقدتَي Postgres في وضع العُقدة الرئيسية/الاحتياطية، أزِل كلتَيهما:
apigee-adminapi.sh analytics groups consumer_groups datastores remove \ -g axgroup-001 -c consumer-group-001 -u "UUID_1,UUID_2" \ -Y --admin adminEmail --pwd adminPword --host localhost
- أزِل عُقدة Postgres من مجموعة "إحصاءات Google":
apigee-adminapi.sh analytics groups postgres_server remove \ -g axgroup-001 -u UUID -Y --admin adminEmail \ --pwd adminPword --host localhost
إذا كان مركز البيانات 1 مضبوطًا على تشغيل عُقدتَي Postgres في وضع العُقدة الرئيسية/الاحتياطية، أزِل كلتَيهما:
apigee-adminapi.sh analytics groups postgres_server \ remove -g axgroup-001 -u UUID1,UUID2 -Y --admin adminEmail \ --pwd adminPword --host localhost
- أزِل عُقدة Postgres من مجموعة المستهلكين:
- على عُقدة "خادم الإدارة" في مركز البيانات 1، أضِف خادمَي Postgres الجديدَين في وضع العُقدة الرئيسية/الاحتياطية
إلى مجموعة "إحصاءات Google":
- أضِف كلا خادمَي Postgres إلى مجموعة "إحصاءات Google":
apigee-adminapi.sh analytics groups postgres_server \ add -g axgroup-001 -u "UUID_1,UUID_2" --admin adminEmail \ --pwd adminPword --host localhost
حيث يتطابق UUID_1 مع عُقدة Postgres الرئيسية في مركز البيانات 1 ، ويتطابق UUID_2 مع عُقدة Postgres الاحتياطية في مركز البيانات 2.
- أضِف خادمَي PG إلى مجموعة المستهلكين في وضع العُقدة الرئيسية/الاحتياطية:
apigee-adminapi.sh analytics groups consumer_groups datastores \ add -g axgroup-001 -c consumer-group-001 -u "UUID_1,UUID_2" --admin adminEmail \ --pwd adminPword --host localhost
- أضِف كلا خادمَي Postgres إلى مجموعة "إحصاءات Google":
- أضِف خوادم Qpid من dc-2 إلى مجموعة "إحصاءات Google":
- على عُقدة "خادم الإدارة" في مركز البيانات 1، احصل على المعرّفات الفريدة العالمية لعُقد Qpid
في مركز البيانات 2:
apigee-adminapi.sh servers list -r dc-2 -p central -t qpid-server \ --admin adminEmail --pwd adminPword --host localhost
تظهر المعرّفات الفريدة العالمية في نهاية البيانات التي يتم عرضها. احفظ هذه القيم.
- على عُقدة "خادم الإدارة" في مركز البيانات 1، أضِف عُقد Qpid إلى مجموعة
"إحصاءات Google" (شغِّل كلا الأمرَين):
apigee-adminapi.sh analytics groups qpid_server \ add -g axgroup-001 -u "UUID_1" --admin adminEmail \ --pwd adminPword --host localhost
apigee-adminapi.sh analytics groups qpid_server \ add -g axgroup-001 -u "UUID_2" --admin adminEmail \ --pwd adminPword --host localhost - على عُقدة "خادم الإدارة" في مركز البيانات 1، أضِف عُقد Qpid إلى
مجموعة المستهلكين (شغِّل كلا الأمرَين):
apigee-adminapi.sh analytics groups consumer_groups consumers \ add -g axgroup-001 -c consumer-group-001 -u "UUID_1" \ --admin adminEmail --pwd adminPword --host localhost
apigee-adminapi.sh analytics groups consumer_groups consumers \ add -g axgroup-001 -c consumer-group-001 -u "UUID_2" \ --admin adminEmail --pwd adminPword --host localhostإذا كنت تستخدِم تحقيق الربح، أضِف عُقدة "تحقيق الربح" إلى مركز البيانات 2.
apigee-adminapi.sh analytics groups qpid_server \ add -g mxgroup001 -u UUID_1 --admin adminEmail \ --pwd adminPword --host localhost
apigee-adminapi.sh analytics groups qpid_server \ add -g mxgroup001 -u UUID_2 --admin adminEmail \ --pwd adminPword --host localhost
- على عُقدة "خادم الإدارة" في مركز البيانات 1، احصل على المعرّفات الفريدة العالمية لعُقد Qpid
في مركز البيانات 2:
- ألغِ تسجيل خادم Postgres الاحتياطي القديم واحذفه من مركز البيانات 1:
- ألغِ تسجيل خادم Postgres الاحتياطي الحالي في dc-1:
apigee-adminapi.sh servers deregister -u UUID -r dc-1 \ -p analytics -t postgres-server -Y --admin adminEmail \ --pwd adminPword --host localhost
حيث يكون المعرّف الفريد العالمي هو عُقدة Postgres الاحتياطية القديمة في مركز البيانات 1.
- احذف خادم Postgres الاحتياطي الحالي في مركز البيانات 1:
apigee-adminapi.sh servers delete -u UUID \ --admin adminEmail --pwd adminPword --host localhost
- ألغِ تسجيل خادم Postgres الاحتياطي الحالي في dc-1:
- على عُقدة "خادم الإدارة" في مركز البيانات 1، احصل على المعرّف الفريد العالمي لعُقدة Postgres:
- عدِّل مساحات مفاتيح Cassandra باستخدام عامل النسخ المتماثل الصحيح لمركزَي البيانات. عليك تنفيذ هذه الخطوة مرة واحدة فقط على أي خادم Cassandra في أي من مركزَي البيانات:
- ابدأ أداة
cqlshفي Cassandra:/opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP
- نفِّذ أوامر CQL التالية في موجه "cqlsh>" لضبط مستويات النسخ المتماثل لمساحات مفاتيح Cassandra:
ALTER KEYSPACE "identityzone" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };ALTER KEYSPACE "system_traces" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };- اعرض مساحات المفاتيح باستخدام الأمر:
SELECT * FROM system_schema.keyspaces;
- اخرج من
cqlsh:exit
- ابدأ أداة
- شغِّل الأمر
nodetoolالتالي على جميع عُقد Cassandra في مركز البيانات 1 لتحرير الذاكرة:/opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h cassandraIP cleanup
عليك فقط إدخال اسم المستخدم وكلمة المرور إذا فعّلت ميزة المصادقة باستخدام JMX لـ Cassandra.
- لكل مؤسسة ولكل بيئة تريد دعمها في مراكز البيانات:
- على عُقدة "خادم الإدارة" في مركز البيانات 1، أضِف MP_POD الجديد إلى
المؤسسة:
apigee-adminapi.sh orgs pods add -o orgName -r dc-2 -p gateway-2 \ --admin adminEmail --pwd adminPword --host localhost
حيث يكون gateway-2 هو اسم مجموعة بوابات كما هو محدّد من خلال السمة MP_POD في ملف الإعدادات لمركز البيانات 2.
- أضِف معالجات الرسائل الجديدة إلى المؤسسة والبيئة:
- على عُقدة "خادم الإدارة" في مركز البيانات 2، احصل على المعرّفات الفريدة العالمية لعُقد
"معالج الرسائل" في مركز البيانات 2:
apigee-adminapi.sh servers list -r dc-2 -p gateway-2 \ -t message-processor --admin adminEmail --pwd adminPword --host localhost
تظهر المعرّفات الفريدة العالمية في نهاية البيانات التي يتم عرضها. احفظ هذه القيم.
- على عُقدة "خادم الإدارة" في مركز البيانات 1، لكل "معالج رسائل"
في مركز البيانات 2، أضِف "معالج الرسائل" إلى بيئة للمؤسسة:
apigee-adminapi.sh orgs envs servers add -o orgName -e envName \ -u UUID --admin adminEmail --pwd adminPword --host localhost
- على عُقدة "خادم الإدارة" في مركز البيانات 2، احصل على المعرّفات الفريدة العالمية لعُقد
"معالج الرسائل" في مركز البيانات 2:
- على عُقدة "خادم الإدارة" في مركز البيانات 1، تحقَّق من المؤسسة:
apigee-adminapi.sh orgs apis deployments -o orgName -a apiProxyName \ --admin adminEmail --pwd adminPword --host localhost
حيث يكون apiProxyName هو اسم وكيل واجهة برمجة تطبيقات تم نشره في المؤسسة.
- على عُقدة "خادم الإدارة" في مركز البيانات 1، أضِف MP_POD الجديد إلى
المؤسسة:
إذا كنت تستخدِم تحقيق الربح، ثبِّت عُقدة "تحقيق الربح" في مركز البيانات 2.
شغِّل أمر إعداد MINT على عُقد "خادم الإدارة" و"معالج الرسائل" في مركز البيانات 2:
/opt/apigee/apigee-setup/bin/setup.sh -p mo -f mint_configFile1