Edge for Private Cloud גרסה 4.17.05
אפשר להתקין את BaaS של API במספר מרכזי נתונים באמצעות נכס פעיל או פעיל הגדרה אישית. במסמך הזה מוסבר איך להוסיף מרכז נתונים של 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
- התקנת מרכז הנתונים הראשון כפי שמתואר במאמר API BaaS התקנה. המסמך הזה כולל את קובץ התצורה שמשמש אותך להתקנת הנתונים מרכז 1.
- יוצרים את קובץ התצורה עבור dc-2 כפי שמתואר למעלה.
- מתקינים את Cassandra, כחלק מהתקנת Edge קיימת או כהתקנה עצמאית
אשכול של BaaS:
- התקנת כלי השירות apigee-setup ב-Edge צומת Cassandra של dc-2, מכונה 8, באמצעות תהליך האינטרנט או תהליך שאינו אינטרנט. צפייה התקנת apigee-setup גבוהה יותר.
- בשורת הפקודה, מריצים את סקריפט ההגדרה כדי להתקין את 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:
# ציינו קודם צמתים dc-1 ואז dc-2
# כולל מרכז הנתונים של Cassandra וסיומת המארז
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> החלפה KEYSPACE "Apigee_Baas_dc_1" עם רפליקה = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- cqlsh> החלפה KEYSPACE "Apigee_Baas" עם רפליקה = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- cqlsh> החלפה KEYSPACE "Apigee_Baas_Locks" עם רפליקה = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- cqlsh> מפתח חלופי 'system_traces' עם רפליקה = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- cqlsh> החלפה KEYSPACE "system_auth" עם רפליקה = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3','dc-2': '3' };
- כדי להציג את מרחבי המקשים, משתמשים בפקודה:
cqlsh> בחר * מתוך system.schema_keyspaces; - יציאה מ-cqlsh:
cqlsh> יציאה
- הפעלת הכלי Cassandra cqlsh:
- בכל צומתי Cassandra ב-dc-2, מריצים את הפקודה rebuild, כשמציינים את שם האזור
dc-1:
> /opt/apigee/apigee-cassandra/bin/nodetool -h cassandraIP בנייה מחדש dc-1 - מריצים את 'סטטוס nodetool' בכל צומת של Cassandra ולוודא שכל הצמתים של Cassandra
'100%' לערך של 'בעלות':
> /opt/apigee/apigee-cassandra/bin/nodetool status - מתקינים את BaaS ב-dc-2:
- עורכים את קובץ התצורה כך שיציג רק את צומתי Cassandra ב-dc-2:
# רשימת צמתים של dc-2 Cassandra,
# השמטה של מרכז הנתונים של Cassandra והסיומת של המארז
CASS_HOSTS="$IP8 $IP9 $IP10" - מתקינים את ElasticSearch בצמתים 4, 5 ו-6 של dc-2:
> /opt/apigee/apigee-setup/bin/setup.sh -p e -f configFile - מתקינים את BaaS Stack בצמתים 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 Stack במרכז הנתונים 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 מחדש
- עדכון ערכי מרחב המפתחות של BaaS. צריך להגדיר את מרחב המפתחות הזה לרפליקציה בזמן ההתקנה,
אבל לא חייבים להיות בזמן הריצה. הסרת רפליקציה חוסכת גם את הזיכרון של Cassandra.
צריך להריץ את השלב הזה רק פעם אחת בכל שרת Cassandra בכל מרכזי הנתונים:- הפעלת הכלי Cassandra cqlsh:
> /opt/apigee/apigee-cassandra/bin/cqlsh cassandraIP - מפעילים את פקודות CQL הבאות כדי להגדיר את רמות הרפליקציה של Cassandra
מרחבי מקשים:
- cqlsh> מפתח חלופי "Apigee_Baas_dc_1" עם רפליקה = { 'class': 'NetworkTopologyStrategy', 'dc-1': '3' };
- cqlsh> מפתח חלופי "Apigee_Baas_dc_2" עם רפליקציה = { 'class': 'NetworkTopologyStrategy', 'dc-2': '3' };
- כדי להציג את מרחבי המקשים, משתמשים בפקודה:
cqlsh> בחירת * מתוך system.schema_keyspaces; - יציאה מ-cqlsh:
cqlsh> יציאה
- הפעלת הכלי Cassandra cqlsh:
ההתקנה של מרכז הנתונים השני הושלמה.
לאחר שתשלימו את ההתקנה והתצורה של שני מרכזי הנתונים, תוכלו להמשיך בודקים את ההתקנה באמצעות התהליך הבא:
- בכל הצמתים של BaaS Stack, צריך לבדוק את הסטטוס:
> curl 0:8080/status - בדיקה שהקריאה ל-API לאסימון פועלת:
> curl -X POST "http://localhost:8080/management/token" -d '{"grant_type":"password", "username":"adminEmail","password":"pWord"}' - מנסים להתחבר לפורטל BaaS של dc-2. מוודאים שכל הנתונים משוכפלים ב-dc-2, כמו אוספים שנוצרו על dc-1.