الإصدار 4.17.05 من Edge for Private Cloud
يمكنك تثبيت API BaaS في مراكز بيانات متعددة باستخدام إعدادات نشطة/نشطة. يوضّح هذا المستند كيفية إضافة مركز بيانات BaaS إلى مركز بيانات BaaS حالي.
إضافة مركز بيانات عند مشاركة مجموعة Cassandra مع Edge
يجب أن تحتوي جميع مراكز البيانات على العدد نفسه من عُقد Cassandra. يمكن أن يستخدم تثبيت API BaaS مجموعة Cassandra الخاصة به، أو يمكنه مشاركة مجموعة Cassandra مع Edge.
إذا كان تثبيت BaaS يشارك مجموعة Cassandra مع Edge، عليك تعديل خادم الإدارة في مركز البيانات الأصلي لضبطه للتعرّف على عُقد Cassandra في مركز البيانات الجديد.
تعديل مركز البيانات الحالي
تتطلب إضافة مركز بيانات BaaS جديد (مركز البيانات 2) تنفيذ خطوات تثبيت مركز البيانات الجديد وضبطه، ولكنها تتطلب أيضًا تحديث مركز بيانات BaaS الأصلي (مركز البيانات 1) . هذه التعديلات ضرورية للأسباب التالية:
- أنت تضيف عُقد Cassandra جديدة في مركز البيانات الجديد الذي يجب أن يكون متاحًا لمركز البيانات الحالي.
- عليك ضبط معلومات النسخ المتماثل التي تستخدمها عُقد BaaS Stack في مركز البيانات 1 لتشمل معلومات من مركز البيانات 2. لا يمكنك إجراء عملية الضبط هذه إلا بعد تثبيت مركز البيانات 2.
لإجراء هذه التعديلات على مركز البيانات 1، عليك تعديل ملف الإعداد الأصلي المستخدَم لتثبيت مركز البيانات 1، ثم إعادة تشغيل apigee-setup على عُقد Cassandra في مركز البيانات 1. إذا تمت مشاركة مجموعة Cassandra لمركز البيانات 1 مع تثبيت Edge، فعليك أيضًا تحديث خادم الإدارة أيضًا.
إنشاء ملفات الإعداد
لتثبيت مركز البيانات 1، استخدِم الإعدادات الموضّحة في تثبيت API BaaS. لا يحتاج ملف الإعداد إلى تضمين أي معلومات عن مركز البيانات 2 في وقت تثبيت مركز البيانات 1.يمكنك إضافة معلومات إلى ملف الإعداد بعد تثبيت مركز البيانات 2.
في ما يلي ملفات الإعداد لمركز البيانات 2. يفترض ملف الإعداد هذا أنّك تثبّت dc-2 على 10 عُقد، كما هو موضّح في مخططات التثبيت. عدِّل هذا الملف وفقًا لذلك إذا كنت تثبّت على 7 عُقد.
يُرجى ملاحظة أنّ ملف الإعداد لمركز البيانات 2 (dc-2) يحتوي على معلومات عن مركز البيانات 1 (dc-1):
# Specify IP address or DNS name of node for dc-2. IP1=192.168.1.1 # ElasticSearch IP2=192.168.1.2 # ElasticSearch IP3=192.168.1.3 # ElasticSearch IP4=192.168.1.4 # API BaaS Stack IP5=192.168.1.5 # API BaaS Stack IP6=192.168.1.6 # API BaaS Stack IP7=192.168.1.7 # API BaaS Portal IP8=192.168.1.8 # Cassandra dc-2 (shared with Edge or standalone) IP9=192.168.1.9 # Cassandra dc-2 (shared with Edge or standalone) IP10=192.168.1.10 # Cassandra dc-2 (shared with Edge or standalone) # Specify node information for dc-1 IP11=192.168.1.11 # Cassandra dc-1 (shared with Edge or standalone) IP12=192.168.1.12 # Cassandra dc-1 (shared with Edge or standalone) IP13=192.168.1.13 # Cassandra dc-1 (shared with Edge or standalone) IP14=192.168.1.14 # API BaaS Stack IP15=192.168.1.15 # API BaaS Stack # Must resolve to IP address or DNS name of host - not to 127.0.0.1 or localhost. HOSTIP=$(hostname -i) # Define the API BaaS administrator account. AS_ADMIN="superuser" # User name - default is "superuser". AS_ADMIN_EMAIL=stackAdmin@email.com AS_PASSWD=stackAdminPWord # Specify Cassandra data center and rack suffix. # List dc-2 nodes first, then dc-1. # Must use IP addresses for CASS_HOSTS, not DNS names. # CASS_HOSTS="$IP8:2,1 $IP9:2,1 $IP10:2,1 $IP11:1,1 $IP12:1,1 $IP13:1,1" # Specify the Cassandra region. REGION=dc-2 # Cassandra uname/pword. # Even if Cassandra authentication is disabled, # you must still pass values for these properties. CASS_USERNAME=cassandra # Default value CASS_PASSWORD=cassandra # Default value # Specify BaaS Cassandra connection information. # Specify the data center name as dc-2. BAAS_CASS_LOCALDC=dc-2 # Specify both data centers. BAAS_CASS_DC_LIST=dc-1,dc-2 # Replication is in the form "dataCenterName:#CassandraNodes". # Specify both data centers. BAAS_CASS_REPLICATION=dc-1:3,dc-2:3 # Defines the initial contact points for members of the BaaS cluster. # Specify the IP address of no more than two Stack nodes per data center. # Specify both data centers. BAAS_CLUSTER_SEEDS="dc-1:$IP14,dc-1:$IP15,dc-2:$IP4,dc-2:$IP5" # ElasticSearch IPs or DNS names, separated by spaces, for dc-2. ES_HOSTS="$IP1 $IP2 $IP3" # API BaaS Stack information. # Default cluster name is "apigee_baas" BAAS_USERGRID_CLUSTERNAME="apigee_baas" # URL and port of the load balancer for the API BaaS Stack nodes, # or IP/DNS and port 8080 of a single Stack node with no load balancer. BAAS_USERGRID_URL=http://myloadbalancer:8443 # API BaaS Portal information. # URL and port number of load balancer, if there is one in front of the Portal, # or the URL and port of the Portal node. BAAS_PORTAL_URL="http://$IP7:9000" # Portal port. Default value is 9000. BAAS_PORTAL_LISTEN_PORT=9000 # SMTP information. BaaS requires an SMTP server. SMTPHOST=smtp.gmail.com SMTPPORT=465 SMTPUSER=your@email.com SMTPPASSWORD=yourEmailPassword SMTPSSL=y
إضافة مركز بيانات BaaS
- ثبِّت مركز البيانات الأول كما هو موضّح في تثبيت واجهة برمجة التطبيقات BaaS. يتضمّن هذا المستند ملف الإعداد الذي تستخدمه لتثبيت مركز البيانات 1.
- أنشِئ ملف الإعداد لـ dc-2 كما هو موضّح أعلاه.
- ثبِّت Cassandra، إما كجزء من عملية تثبيت Edge حالية أو كمجموعة مستقلة
لـ BaaS:
- ثبِّت الأداة المساعدة apigee-setup في Edge على عقدة Cassandra الأولى في dc-2، الجهاز 8، باستخدام الإجراء الذي يتطلب الاتصال بالإنترنت أو الإجراء الذي لا يتطلب الاتصال بالإنترنت. لمزيد من المعلومات، يُرجى الاطّلاع على تثبيت أداة apigee-setup في Edge.
- في موجِّه الأوامر، شغِّل نص التهيئة البرمجي لتثبيت Cassandra على العقدة الأولى:
> /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile
يحدِّد الخيار "-p c" تثبيت Cassandra.
يجب أن يكون ملف الإعداد متاحًا أو قابلاً للقراءة من قِبل مستخدم "apigee". - كرِّر الخطوتَين 3 و4 لعُقد Cassandra المتبقية، أي الجهازَين 9 و10، في dc-2.
- في عُقد Cassandra في dc-1، عدِّل ملف الإعداد لإضافة عُقد Cassandra من
مركز البيانات 2 استنادًا إلى طريقة تثبيت Cassandra:
# List dc-1 nodes first, then dc-2,
# including Cassandra data center and rack suffix
CASS_HOSTS="$IP11:1,1 $IP12:1,1 $IP13:1,1 $IP8:2,1 $IP9:2,1 $IP10:2,1" - في عقدة Cassandra الأولى في dc-1، شغِّل setup.sh باستخدام ملف إعداد dc-1 الجديد الذي
يتضمّن عقد Cassandra من dc-2:
> /opt/apigee/apigee-setup/bin/setup.sh -p c -f configFile - كرِّر الخطوتَين 6 و7 لعُقد Cassandra المتبقية في dc-1.
- في حال الاتصال بمجموعة Cassandra لمجموعة dc-1 المشتركة مع Edge،
أضِف عُقد dc-2 Cassandra إلى ملف الإعداد لعقدة خادم الإدارة في dc-1 وشغِّل
setup.sh:
> /opt/apigee/apigee-setup/bin/setup.sh -p ms -f configFile - عدِّل مساحات مفاتيح Cassandra باستخدام عامل النسخ المتماثل الصحيح لمركزَي البيانات. عليك تنفيذ هذه الخطوة مرة واحدة فقط على أي خادم Cassandra في أي من مركزَي البيانات:
ملاحظة: تضبط جميع الأوامر أدناه عامل النسخ المتماثل على "3"، ما يشير إلى ثلاث عُقد Cassandra في المجموعة. عدِّل هذه القيمة حسب الحاجة لعملية التثبيت.- ابدأ أداة Cassandra cqlsh:
> /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP - نفِّذ أوامر CQL التالية في الطلب "cqlsh>" لضبط مستويات النسخ المتماثل لمساحات مفاتيح Cassandra:
- cqlsh> ALTER KEYSPACE "Apigee_Baas_dc_1" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- cqlsh> ALTER KEYSPACE "Apigee_Baas" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- cqlsh> ALTER KEYSPACE "Apigee_Baas_Locks" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- cqlsh> ALTER KEYSPACE "system_traces" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- cqlsh> ALTER KEYSPACE "system_auth" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- يمكنك عرض مساحات المفاتيح باستخدام الأمر:
cqlsh> select * من system.schema_keyspaces; - اخرج من cqlsh:
cqlsh> exit
- ابدأ أداة Cassandra cqlsh:
- في جميع عُقد Cassandra في dc-2، شغِّل أمر إعادة الإنشاء، مع تحديد اسم منطقة
dc-1:
> /opt/apigee/apigee-cassandra/bin/nodetool -h cassandraIP rebuild dc-1 - شغِّل "nodetool status" على كل عُقدة Cassandra وتأكَّد من أنّ جميع عُقد Cassandra
تحتوي على القيمة "100%" في حقل "Owns":
> /opt/apigee/apigee-cassandra/bin/nodetool status - تثبيت BaaS في dc-2:
- عدِّل ملف الإعداد لإدراج عُقد Cassandra في مركز بيانات dc-2 فقط:
# List dc-2 Cassandra nodes,
# omitting Cassandra data center and rack suffix
CASS_HOSTS="$IP8 $IP9 $IP10" - ثبِّت ElasticSearch على العُقد 4 و5 و6 من dc-2:
> /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile - ثبِّت حزمة BaaS على العُقد 4 و5 و6 من dc-2:
> /opt/apigee/apigee-setup/bin/setup.sh -p b -f configFile - ثبِّت بوابة BaaS على الجهاز 7:
> /opt/apigee/apigee-setup/bin/setup.sh -p p -f configFile
- عدِّل ملف الإعداد لإدراج عُقد Cassandra في مركز بيانات dc-2 فقط:
- تعديل عُقد حزمة BaaS في مركز البيانات 1:
- في عقدة BaaS Stack الأولى في مركز البيانات 1، عدِّل /opt/apigee/customer/application/usergrid.properties في محرِّر. إذا لم يكن الملف متوفّرًا، أنشِئه.
- أضِف السمات التالية إلى usergrid.properties:
# القيمة نفسها لـ BAAS_CLUSTER_SEEDS في ملف إعداد dc-2،
# بدون علامات اقتباس مزدوجة.
usergrid-deployment_usergrid.cluster.seeds=dc-1:dc1StackIP1,dc-1:dc1StackIP2,dc-2:dc2StackIP1,dc-2:dc2StackIP2
# القيمة نفسها لـ BAAS_CASS_DC_LIST في ملف إعداد dc-2.
usergrid-deployment_usergrid.cluster.region.list=dc-1,dc-2 - كرِّر الخطوتين (أ) و(ب) على عُقد BaaS Stack المتبقية.
- أعِد تشغيل جميع عُقد BaaS Stack.
ملاحظة: عند إعادة تشغيل عُقد BaaS Stack، أعِد تشغيلها بالترتيب نفسه المُدرَج في BAAS_CLUSTER_SEEDS. تسرد BAAS_CLUSTER_SEEDS عقدتَين من عُقد Stack كحد أقصى. بعد إعادة تشغيل هاتين العقدتين بالترتيب، يمكنك إعادة تشغيل العقد المتبقية بأي ترتيب.
> /opt/apigee/apigee-service/bin/apigee-service baas-usergrid restart
- عدِّل قيم مساحة مفاتيح BaaS. يجب ضبط مساحة المفاتيح هذه للنسخ المتماثل في وقت التثبيت،
ولكن ليس بالضرورة في وقت التشغيل. تؤدي إزالة النسخ المتماثل أيضًا إلى توفير ذاكرة Cassandra.
عليك تنفيذ هذه الخطوة مرة واحدة فقط على أي خادم Cassandra في أي من مركزَي البيانات:- ابدأ أداة Cassandra cqlsh:
> /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP - نفِّذ أوامر CQL التالية لضبط مستويات النسخ المتماثل لمساحات مفاتيح Cassandra:
- cqlsh> ALTER KEYSPACE "Apigee_Baas_dc_1" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3' };
- cqlsh> ALTER KEYSPACE "Apigee_Baas_dc_2" WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc-2': '3' };
- اعرض مساحات المفاتيح باستخدام الأمر:
cqlsh> select * من system.schema_keyspaces; - اخرج من cqlsh:
cqlsh> exit
- ابدأ أداة Cassandra cqlsh:
اكتمل الآن تثبيت مركز البيانات الثاني.
بعد إكمال تثبيت وضبط مركزَي البيانات، يمكنك التحقّق من صحة التثبيت باتّباع الإجراء التالي:
- في جميع عُقد BaaS Stack، تحقَّق من الحالة:
> curl 0:8080/status - تحقَّق من عمل طلب بيانات من واجهة برمجة التطبيقات للرمز المميّز:
> curl -X POST "http://localhost:8080/management/token" -d '{"grant_type":"password", "username":"adminEmail","password":"pWord"}' - حاوِل تسجيل الدخول إلى بوابة BaaS لـ dc-2. تحقَّق من أنّه تم نسخ جميع البيانات في dc-2، مثل المجموعات التي تم إنشاؤها على dc-1.