לפעמים צריך להוציא מרכז נתונים משימוש. לדוגמה, אם אתם משדרגים את מערכת ההפעלה, צריך כדי להתקין את מערכת ההפעלה החדשה במרכז נתונים חדש, ולאחר מכן להוציא משימוש את מרכז הנתונים הישן. בקטעים הבאים מוצגת דוגמה להוצאה משימוש של מרכז נתונים, שבה יש שני מרכזי נתונים, dc-1 ו-dc-2, 12 צמתים התקנה אשכולות:
- dc-1 הוא מרכז הנתונים המיועד להוצאה משימוש.
- dc-2 הוא מרכז נתונים שני שבו משתמשים בתהליך פירוק הרשות.
אם אתם משדרגים במערכת ההפעלה dc-2 יכול להיות מרכז הנתונים שבו התקנתם הגרסה החדשה של מערכת ההפעלה. עם זאת, אין צורך להתקין מערכת הפעלה חדשה כדי להוציא מרכז נתונים משימוש.
שיקולים לפני הוצאה משימוש של מרכז נתונים
כשמוציאים משימוש מרכז נתונים, חשוב לזכור את השיקולים הבאים:
- חסימה של כל תעבורת הנתונים והניהול של סביבת זמן הריצה למרכז הנתונים, הוצאה משימוש והפניה אוטומטית למרכז הנתונים למרכזי נתונים אחרים.
- אחרי ההוצאה משימוש של מרכז הנתונים, הקיבולת של אשכול Apigee תהיה נמוכה יותר. כדי לפצות על כך, כדאי להגדיל את הקיבולת במרכזי הנתונים שנותרו או להוסיף מרכזי נתונים אחרי שהוצאו משימוש.
- בתהליך ההוצאה משימוש, עלול להיווצר מצב של אובדן נתונים במסגרת ניתוח הנתונים, בהתאם אילו רכיבי ניתוח נתונים מותקנים במרכז הנתונים שמוציאים משימוש. טיפים נוספים לאופטימיזציה מפורטים פרטים נוספים זמינים במאמר הוספה או הסרה של Qpid צמתים.
- לפני שפורקים מרכז נתונים, צריך להבין איך כל הרכיבים מוגדרים בכל מרכזי הנתונים, במיוחד OpenLDAP, zoKeeper, Cassandra, ו-Postgres. מומלץ גם לגבות גיבויים של כל הרכיבים וההגדרות שלהם.
לפני שמתחילים
- שרת ניהול: כל שלבי ההוצאה משימוש תלויים מאוד בשרת הניהול. אם יש לכם רק שרת ניהול זמין, מומלץ להתקין יישום חדש רכיב של שרת ניהול במרכז נתונים שאינו dc-1 לפני הוצאה משימוש של הניהול בשרת DC-1, ומוודאים אחד משרתי הניהול תמיד זמין.
- נתב: לפני שמוציאים משימוש נתב, צריך להשבית את יכולת ההגעה (reachability) של נתבים על ידי חסימת היציאה 15999. מוודאים שאין זמן ריצה התנועה מופנית אל הנתבים שהוצאו משימוש.
קסנדרה וגן חיות: בקטעים הבאים מתואר איך להוציא את DC-1 בהגדרה של שני מרכזי נתונים. אם יש לכם יותר מרכזי נתונים, צריך להסיר את כל ההפניות לצומת שמוציאים משימוש (dc-1 במקרה הזה) מכל קובצי התצורה השקטים בכל מרכזי הנתונים הנותרים. בצמתים של Cassandra שעומדים לצאת משימוש, צריך לשחרר את המארחים האלה מ-
CASS_HOSTS
. שאר צמתים ב-Cassandra צריכים להישאר בסדר המקורי שלCASS_HOSTS
.Postgres: אם מוציאים משימוש ב-Postgres מאסטר, חשוב לקדם כל אחד צמתים זמינים במצב המתנה כמאסטר חדש של Postgres. למרות ששרת ה-QPID שומר מאגר בתור, אם המאסטר של Postgres לא זמין למשך זמן ארוך יותר, אתה עלול לאבד את הנתונים של ניתוח הנתונים.
דרישות מוקדמות
לפני שמוציאים משימוש רכיב כלשהו, מומלץ לבצע גיבוי מלא של כל הרכיבים צמתים. מבצעים את התהליך של הגרסה הנוכחית של Edge כדי לבצע גיבוי. למידע נוסף על הגיבוי: גיבוי ושחזור.
הערה: אם יש מספר צמתים של Cassandra או גן החיות, צריך לגבות אותם אחד בכל פעם, כי תהליך הגיבוי משבית באופן זמני אתzoKeeper.
- כדי לוודא ש-Edge פועל לפני ההוצאה משימוש, משתמשים בפקודה:
/opt/apigee/apigee-service/bin/apigee-all status
- מוודאים שלא מגיעה כרגע תנועה בסביבת זמן הריצה במרכז הנתונים שבו אתם נמצאים להוצאה משימוש.
סדר הרכיבים של הוצאה משימוש
אם מתקינים את Edge ל-Cloud פרטי בכמה צמתים, צריך להפסיק את השימוש רכיבי הקצה בצמתים האלה בסדר הבא:
- Edge UI (ממשק קצה)
- שרת ניהול (End-management-server)
- OpenLDAP (apigee-openldap)
- נתב (נתב קצה)
- מעבד הודעות (מעבד הודעות קצה)
- Qpid Server ו-Qpidd (שוליים-qpid-server ו-apigee-qpidd)
- Postgres ומסד הנתונים של PostgreSQL (End-postgres-server ו-apigee-postgresql)
- ZooKeeper (apigee-zookeeper)
- קסנדרה (apigee-cassandra)
בקטעים הבאים מוסבר איך להוציא משימוש כל רכיב.
ממשק המשתמש של Edge
כדי להפסיק ולהסיר את רכיב ממשק המשתמש של Edge ב-dc-1, מזינים את הפקודות הבאות:
/opt/apigee/apigee-service/bin/apigee-service edge-ui stop
/opt/apigee/apigee-service/bin/apigee-service edge-ui uninstall
שרת ניהול
כדי להוציא משימוש את שרת הניהול ב-dc-1, מבצעים את השלבים הבאים:
- הפסקת שרת הניהול ב-dc-1:
apigee-service edge-management-server stop
- מחפשים את ה-UUID של שרת הניהול שרשום ב-dc-1:
curl -u <AdminEmailID>:'<AdminPassword>' \ -X GET “http://{MS_IP}:8080/v1/servers?pod=central®ion=dc-1&type=management-server”
- ביטול הרישום של סוג השרת:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \ -d "type=management-server®ion=dc-1&pod=central&uuid=UUID&action=remove"
- מוחקים את השרת. הערה: אם בשרת הזה מותקנים גם רכיבים אחרים,
לבטל את הרישום של כולם לפני מחיקת ה-UUID.
curl -u <AdminEmailID>:'<AdminPassword> -X DELETE http://{MS_IP}:8080/v1/servers/{UUID}
- הסרת הרכיב של שרת הניהול ב-dc-1:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server uninstall
פתיחת LDAP
הקטע הזה מסביר איך להוציא משימוש את OpenLDAP ב-dc-1.
הערה: אם יש לכם יותר משני מרכזי נתונים, היכנסו למאמר הגדרות שיש להן יותר משני מרכזי נתונים בהמשך.
כדי להוציא את OpenLDAP ב-dc-1, מבצעים את השלבים הבאים:
- גיבוי הצומת dc-1 OpenLDAP על ידי ביצוע השלבים הבאים איך מגבים.
מפרקים את רפליקציית הנתונים בין שני מרכזי הנתונים, dc-1 ו-dc-2, ב- ביצוע השלבים הבאים בשני מרכזי הנתונים.
- בודקים את המצב הנוכחי:
ldapsearch -H ldap://{HOST}:{PORT} -LLL -x -b "cn=config" -D "cn=admin,cn=config" -w {credentials} -o ldif-wrap=no 'olcSyncRepl' | grep olcSyncrepl
הפלט אמור להיראות כך:
olcSyncrepl: {0}rid=001 provider=ldap://{HOST}:{PORT}/ binddn="cn=manager,dc=apigee,dc=com" bindmethod=simple credentials={credentials} searchbase="dc=apigee,dc=com" attrs="*,+" type=refreshAndPersist retry="60 1 300 12 7200 +" timeout=1
- יוצרים קובץ
break_repl.ldif
שמכיל את הפקודות הבאות:dn: olcDatabase={2}bdb,cn=config changetype: modify delete: olcSyncRepl dn: olcDatabase={2}bdb,cn=config changetype: modify delete: olcMirrorMode
- מריצים את הפקודה
ldapmodify
:ldapmodify -x -w {credentials} -D "cn=admin,cn=config" -H "ldap://{HOST}:{PORT}/" -f path/to/file/break_repl.ldif
הפלט אמור להיראות כך:
modifying entry "olcDatabase={2}bdb,cn=config" modifying entry "olcDatabase={2}bdb,cn=config"
- בודקים את המצב הנוכחי:
ניתן לוודא ש-dc-2 כבר לא משוכפל ל-dc-1 על ידי יצירת ערך ב-LDAP DC-2 וודא שהוא לא מופיע ב-LDAP של dc-1.
לחלופין, אפשר לבצע את השלבים הבאים כדי ליצור משתמש עם הרשאת קריאה בלבד ב-dc-2 צריך לפתוח את הצומת של LDAP ואז לבדוק אם יש רפליקציה של המשתמש או לא. המשתמש בהמשך נמחק.
- יוצרים קובץ
readonly-user.ldif
ב-dc-2 עם התוכן הבא:dn: uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com objectClass: organizationalPerson objectClass: person objectClass: inetOrgPerson objectClass: top cn: readonly-user sn: readonly-user userPassword: {testPassword}
- הוספת משתמש באמצעות פקודת 'ldapadd' ב-dc-2:
ldapadd -H ldap://{HOST}:{PORT} -w {credentials} -D "cn=manager,dc=apigee,dc=com" -f path/to/file/readonly-user.ldif
הפלט אמור להיראות כך:
adding new entry "uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com"
- מחפשים את המשתמש ב-dc-1 כדי לוודא שהמשתמש לא משוכפל. אם המשתמש
אינו קיים ב-dc-1, תהיה בטוח ששני מזהי ה-LDAP כבר לא משכפלים:
ldapsearch -H ldap://{HOST}:{PORT} -x -w {credentials} -D "cn=manager,dc=apigee,dc=com" -b uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com -LLL
הפלט אמור להיראות כך:
No such object (32) Matched DN: ou=users,ou=global,dc=apigee,dc=com
- הסרת המשתמש עם הרשאת קריאה בלבד שהוספתם קודם:
ldapdelete -v -H ldap://{HOST}:{PORT} -w {credentials} -D "cn=manager,dc=apigee,dc=com" "uid=readonly-user,ou=users,ou=global,dc=apigee,dc=com"
- יוצרים קובץ
- הפסקת OpenLDAP ב-dc-1:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap stop
- מסירים את הרכיב OpenLDAP ב-dc-1:
/opt/apigee/apigee-service/bin/apigee-service apigee-openldap uninstall
נתב
בקטע הזה מוסבר איך להוציא נתב משימוש. צפייה צריך להסיר שרת כדי לקבל פרטים נוספים על הסרת הנתב.
השלבים הבאים מוציאים משימוש את הנתב מ-dc-1. אם הוגדרו מספר צומתי נתב שהוגדרו ב-dc-1, יש לבצע את השלבים בכל צומתי הנתב מילה אחת בכל פעם
הערה: כאן ההנחה היא שיציאת בדיקת התקינות של הנתב 15999 מוגדרת בעומס והיציאה החוסמת 15999, לא תהיה גישה לנתב. יכול להיות שנדרשת גישה לרמה הבסיסית (root) כדי לחסום את השקע.
כדי להוציא נתב משימוש:
השבתת היכולת להגיע לנתבים על ידי חסימת היציאה 15999, היציאה של בדיקת התקינות. יש לוודא שהתנועה בסביבת זמן הריצה חסומה במרכז הנתונים הזה:
iptables -A INPUT -i eth0 -p tcp --dport 15999 -j REJECT
מוודאים שניתן להגיע לנתב:
curl -vvv -X GET http://{ROUTER_IP}:15999/v1/servers/self/reachable
הפלט אמור להיראות כך:
About to connect() to 10.126.0.160 port 15999 (#0) Trying 10.126.0.160... Connection refused Failed connect to 10.126.0.160:15999; Connection refused Closing connection 0 curl: (7) Failed connect to 10.126.0.160:15999; Connection refused
- מקבלים את ה-UUID של הנתב, כפי שמתואר ב קבלת מזהי UUID.
- עוצרים את הנתב:
/opt/apigee/apigee-service/bin/apigee-service edge-router stop
- מציגים את רשימה של רצפי השער הזמינים בארגון באמצעות הפקודה הבאה:
curl -u <AdminEmailID>:<AdminPassword> -X GET "http://{MS_IP}:8080/v1/organizations/{ORG}/pods"
ראו מידע על Pods.
- מבטלים את הרישום של סוג השרת:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \ -d "type=router&region=dc-1&pod=gateway-1&uuid=UUID&action=remove"
- מבטלים את הרישום של השרת:
curl -u <AdminEmailID>:'<AdminPassword>’ -X DELETE http://{MS_IP}:8080/v1/servers/UUID
- הסרת ההתקנה של
edge-router
:/opt/apigee/apigee-service/bin/apigee-service edge-router uninstall
ראו הסרה של שרת. - מנקים את הכללים של
iptables
כדי להפעיל את היציאה החסומה 15999:iptables -F
מעבד בקשות
בקטע הזה מוסבר איך להוציא את מעבד ההודעות מ-dc-1. ראו לפרטים נוספים על הסרת מעבד ההודעות, צריך להסיר שרת.
מכיוון שאנחנו מניחים של-dc-1 יש 12 צמתים באשכולות באשכולות, יש שני צמתים של מעבדי הודעות שהוגדרו ב-dc-1. מבצעים את את הפקודות הבאות בשני הצמתים.
- מקבלים את מזהי ה-UUID של מעבדי ההודעות, כפי שמתואר ב קבלת מזהי UUID.
- עוצרים את מעבד ההודעות:
apigee-service edge-message-processor stop
- מבטלים את הרישום של סוג השרת:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \ -d "type=message-processor&region=dc-1&pod=gateway-1&uuid=UUID&action=remove"/pre>
- Disassociate an environment from the Message Processor.
Note: You need to remove the bindings on each org/env that associates the Message Processor UUID.
curl -H "Content-Type:application/x-www-form-urlencoded" -u <AdminEmailID>:'
' \ -X POST http://{MS_IP}:8080/v1/organizations/{ORG}/environments/{ENV}/servers \ -d "action=remove&uuid=UUID" - מבטלים את הרישום של סוג השרת:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MS_IP:8080/v1/servers -d "type=message-processor®ion=dc-1&pod=gateway-1&uuid=UUID&action=remove"
- מסירים את מעבד ההודעות:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor uninstall
- מבטלים את הרישום של השרת:
curl -u <AdminEmailID>:'<AdminPassword> -X DELETE http://{MS_IP}:8080/v1/servers/UUID
שרת Qpid ו-Qpidd
בקטע הזה מוסבר איך להוציא משימוש את שרת Qpid (edge-qpid-server
) ו-Qpidd
(apigee-qpidd
).
יש שני צומתי Qpid שהוגדרו ב-dc-1, ולכן עליכם לבצע את השלבים הבאים בשני הצמתים
צמתים:
- מקבלים את ה-UUID ל-Qpidd, כפי שמתואר בקבלת מזהים ייחודיים אוניברסליים (UUID).
- עצירת הפעולה של
edge-qpid-server
ושלapigee-qpidd
:/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
/opt/apigee/apigee-service/bin/apigee-service apigee-qpidd stop
- מקבלים רשימה של Analytics וקבוצות של צרכנים:
curl -u <AdminEmailID>:'<AdminPassword>' -X GET http://{MS_IP}:8080/v1/analytics/groups/ax
- הסרת Qpid מקבוצת הצרכנים:
curl -u <AdminEmailID>:'<AdminPassword>' -H "Content-Type: application/json" -X DELETE \ "http://{MS_IP}:8080/v1/analytics/groups/ax/{ax_group}/consumer-groups/{consumer_group}/consumers/{QPID_UUID}"
- הסרת Qpid מקבוצת ניתוח הנתונים:
curl -v -u <AdminEmailID>:'<AdminPassword>' \ -X DELETE "http://{MS_IP}:8080/v1/analytics/groups/ax/{ax_group}/servers?uuid={QPID_UUID}&type=qpid-server"
- ביטול הרישום של שרת ה-Qpid מהתקנת Edge:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \ -d "type=qpid-server®ion=dc-1&pod=central&uuid={QPID_UUID}&action=remove"
- הסרת שרת ה-Qpid מהתקנת Edge:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
- כדי לוודא שהשינוי נאסף, צריך להפעיל מחדש את כל הרכיבים של שרת dge-qpid בכל הצמתים
על ידי הרכיבים האלה:
$ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart $ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server wait_for_ready
- מסירים את dge-qpid-server ו-apigee-qpidd:
$ /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server uninstall $ /opt/apigee/apigee-service/bin/apigee-service apigee-qpidd uninstall
Postgres ו-Postgresql
יכול להיות שלמרכז הנתונים שמוציאים משימוש יש מאסטר של Postgres או מצב המתנה של Postgres. בקטעים הבאים מוסבר איך להוציא אותם משימוש:
פירוק מאסטר ב-Postgres
הערה: אם אתם מוציאים משימוש את שירות Postgres ברמת מאסטר, חשוב לקדם כל אחד צמתים זמינים במצב המתנה כמאסטר חדש של Postgres. בזמן שה-QPID שומר נתונים של מאגר נתונים זמני, אם המאסטר של Postgres לא זמין למשך זמן רב, אתם עלולים לאבד את נתוני ניתוח הנתונים.
כדי להוציא משימוש את המאסטר ב-Postgres:
- מגבים את הצומת הראשי dc-1 Postgres על ידי ביצוע ההוראות בקישורים הבאים:
- מקבלים את מזהי ה-UUID של שרתי Postgres, כפי שמתואר ב קבלת מזהי UUID.
- ב-DC-1, מפסיקים את
edge-postgres-server
apigee-postgresql
במאסטר הנוכחי:/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
- בצומת ההמתנה ב-dc-2, מזינים את הפקודה הבאה כדי להפוך אותה לצומת הראשי:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql promote-standby-to-master <IP of OLD Progress master>
הערה: אם יש לכם יותר מצומת אחד של Postgres במצב המתנה, עליכם להוסיף רשומות מארחים המאסטר החדש ועדכון הגדרת הרפליקציה לכל הצמתים הזמינים במצב המתנה לאחר לחיצה.
כדי להוסיף רשומות מארחים למאסטר החדש של Postgres: פועלים לפי השלבים שבקטע המתאים. למטה:
אם נשאר רק צומת אחד במצב המתנה
לדוגמה, נניח שלפני ההוצאה משימוש הוגדרו שלושה צמתים של Postgres. הוצאת משימוש את המאסטר הקיים וקידמת את אחד מהמצבים ההמתנה שנותרו לאחר שליחת אימייל את הצמתים שרוצים במאסטר. כדי להגדיר את הצומת שנותר במצב המתנה:
- במאסטר החדש, עורכים את ההגדרות האישיות
קובץ להגדרה:
PG_MASTER=IP_or_DNS_of_new_PG_MASTER PG_STANDBY=IP_or_DNS_of_PG_STANDBY
- הפעלת רפליקציה במאסטר החדש:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-master -f configFIle
אם נשאר יותר מצומת אחד במצב המתנה
- הוספת ההגדרות האישיות הבאות ב-
/opt/apigee/customer/application/postgresql.properties
:conf_pg_hba_replication.connection=host replication apigee standby_1_ip/32 trust \n host replication apigee standby_2_ip/32 trust
- יש לוודא שהקובץ /opt/apigee/customer/application/postgresql.properties נמצא בבעלות
משתמש ב-apigee:
chown apigee:apigee /opt/apigee/customer/application/postgresql.properties
- מפעילים מחדש את
apigee-postgresql
:apigee-service apigee-postgresql restart
- שינוי קובץ התצורה
/opt/silent.conf
ועדכון השדהPG_MASTER
עם כתובת ה-IP של המאסטר החדש של Postgres. - מסירים נתוני Postgres ישנים באמצעות הפקודה הבאה:
rm -rf /opt/apigee/data/apigee-postgresql/
- מגדירים רפליקציה בצומת ההמתנה:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql setup-replication-on-standby -f configFile
- כדי לוודא שהמאסטר של Postgres מוגדר נכון על ידי הזנת הפקודה הבאה ב-dc-2:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
- מסירים ומוסיפים שרתי Postgresql מקבוצת ניתוח הנתונים ומקבוצת הצרכנים.
- מסירים את שרת Postgres הישן מקבוצת ניתוח הנתונים לפי ההוראות ב- הסרת שרת Postgres מקבוצת ניתוח נתונים.
- מוסיפים שרת Postgres חדש לקבוצת ניתוח הנתונים לפי ההוראות ב- מוסיפים שרת Postgres קיים לקבוצת ניתוח נתונים.
- מבטלים את הרישום של שרת postgres הישן מ-dc-1:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \ -d "type=postgres-server®ion=dc-1&pod=analytics&uuid=UUID&action=remove"<
- מוחקים את שרת Postgres הישן מ-dc-1:
curl -u >AdminEmailID>:'>AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
- המאסטר הישן של Postgres יכול עכשיו להוציא משימוש. הסרת ההתקנה של
edge-postgres-server
ו-apigee-postgresql
:/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server uninstall /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql uninstall
כדי לעדכן הגדרות רפליקציה בצומת המתנה:
המתנה לסיום פעולה של Postgres
הערה: מסמכי התיעוד של 12 צמתים בהתקנה באשכולות רואים את הצומת dc-1 postgresql כמאסטר, אבל מטעמי נוחות, בקטע הזה ההנחה היא שהצומת dc-1 postgresql נמצא במצב המתנה והצומת dc-2 postgresql הוא מאסטר.
כדי להוציא משימוש את Postgres במצב המתנה, צריך לבצע את השלבים הבאים:
- מקבלים את מזהי ה-UUID של שרתי Postgres, לפי ההוראות ב- קבלת מזהי UUID.
- עצירת הפעולה של
apigee-postgresql
בצומת ההמתנה הנוכחי ב-DC-1:/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql stop
- מסירים ומוסיפים שרתי Postgresql מקבוצת ניתוח הנתונים ומקבוצת הצרכנים.
- מסירים את שרת Postgres הישן מקבוצת ניתוח הנתונים לפי ההוראות ב- הסרת שרת Postgres מקבוצת ניתוח נתונים.
- מוסיפים שרת Postgres חדש לקבוצת ניתוח הנתונים לפי ההוראות ב- מוסיפים שרת Postgres קיים לקבוצת ניתוח נתונים.
- מבטלים את הרישום של שרת postgres הישן מ-dc-1:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://{MS_IP}:8080/v1/servers \ -d "type=postgres-server®ion=dc-1&pod=analytics&uuid=UUID&action=remove"<
- מוחקים את שרת Postgres הישן מ-dc-1:
curl -u >AdminEmailID>:'>AdminPassword>' -X DELETE http://{MS_IP}:8080/v1/servers/UUID
- המאסטר הישן של Postgres יכול עכשיו להוציא משימוש. הסרת ההתקנה של
edge-postgres-server
ו-apigee-postgresql
:/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server uninstall /opt/apigee/apigee-service/bin/apigee-service apigee-postgresql uninstall
גן החיות וקסנדרה
בקטע הזה מוסבר איך להוציא משימוש את השרתים של ZoomKeeper ו-Cassandra בשני מרכזים של נתונים.
אם יש לכם יותר מרכזי נתונים, צריך להסיר את כל ההפניות לצומת שמוציאים משימוש (dc-1 במקרה הזה) מכל קובצי התצורה השקטים בכל מרכזי הנתונים הנותרים. בצמתים של Cassandra שעומדים לצאת משימוש, צריך לשחרר את המארחים האלה מ-
CASS_HOSTS
. שאר צמתים ב-Cassandra צריכים להישאר בסדר המקורי שלCASS_HOSTS
.הערה ב-ZooKeeper: עליכם לשמור על קוורום של צמתי מצביעים בזמן שינוי של נכס
ZK_HOST
בקובץ התצורה, כדי להבטיח שהמתחם של ZoomKeeper ימשיך לפעול. צריך להיות לך מספר אי-זוגי של צומתי המצביעים בהגדרה שלך. מידע נוסף זמין במאמר הבא: תחזוקה של Apache ZoKeeper למשימות סיווג.כדי להוציא משימוש את השרתים של ZoomKeeper ו-Cassandra:
- מגבים את הצמתים dc-1 Cassandra ו-ZooKeeper על ידי ביצוע ההוראות בקישורים הבאים:
רשימה של מזהי UUID שלzoKeeper ו-Cassandra שרתים במרכז הנתונים שבהם צמתים של קסנדרה שיופסק.
apigee-adminapi.sh servers list -r dc-1 -p central -t application-datastore --admin <AdminEmailID> --pwd '<AdminPassword>' --host localhost
- מבטלים את הרישום של סוג השרת:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MS_IP:8080/v1/servers -d "type=cache-datastore&type=user-settings-datastore&type=scheduler-datastore&type=audit-datastore&type=apimodel-datastore&type=application-datastore&type=edgenotification-datastore&type=identityzone-datastore&type=user-settings-datastore&type=auth-datastore®ion=dc-1&pod=central&uuid=UUID&action=remove"
- מבטלים את הרישום של השרת:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
- מעדכנים את קובץ התצורה כך שכתובות ה-IP של צמתים שהוצאו משימוש הוסרו מ-
ZK_HOSTS
וגםCASS_HOSTS
דוגמה: נניח שכתובות ה-IP שלך
$IP1 $IP2 $IP3
ב-dc-1 ו-$IP4 $IP5 $IP6
ב-DC-2, ואת מוציאים משימוש את dc-1. לאחר מכן צריך להסיר את כתובות ה-IP$IP1 $IP2 $IP3
קובצי תצורה.- הרשומות הקיימות בקובץ התצורה:
ZK_HOSTS="$IP1 $IP2 $IP3 $IP4 $IP5 $IP6" CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1, $IP4:2,1 $IP5:2,1 $IP6:2,1”
- רשומות חדשות בקובץ התצורה:
ZK_HOSTS="$IP4 $IP5 $IP6" CASS_HOSTS="$IP4:2,1 $IP5:2,1 $IP6:2,1"
- הרשומות הקיימות בקובץ התצורה:
- מעדכנים את קובץ התצורה השקט (שהשתנה בשלב e) בכתובות ה-IP של הנכס שהוסר
צמתים שהוצאו משימוש ולהריץ את הפקודה
פרופיל שרת בכל הצמתים שמארחים שרתי ניהול:
/opt/apigee/apigee-setup/bin/setup.sh -p ms -f updated_config_file
- צריך לעדכן את קובץ התצורה עם כתובות ה-IP של הצמתים שהוצאו משימוש ולהריץ את פרופיל ה-MP/RMP
בכל הצמתים של הנתב ומעבד ההודעות:
- אם 'נתב Edge' ו'מעבד הודעות' מוגדרים באותו צומת, צריך להזין את הפרטים הבאים:
/opt/apigee/apigee-setup/bin/setup.sh -p rmp -f updated_config_file
אם נתב Edge ומעבד ההודעות מוגדרים בצמתים נפרדים, צריך להזין את הפרטים הבאים:
בנתב:
/opt/apigee/apigee-setup/bin/setup.sh -p r -f updated_config_file
עבור מעבד ההודעות:
/opt/apigee/apigee-setup/bin/setup.sh -p mp -f updated_config_file
- אם 'נתב Edge' ו'מעבד הודעות' מוגדרים באותו צומת, צריך להזין את הפרטים הבאים:
- הגדרה מחדש של כל צומתי ה-Qpid, ללא כתובות ה-IP של הצמתים שהוצאו משימוש יוסרו מקובץ התגובה:
/opt/apigee/apigee-setup/bin/setup.sh -p qs -f updated_config_file
- הגדרה מחדש של כל צומתי Postgres, לאחר הסרה של כתובות ה-IP של הצמתים שהוסרו מקובץ התגובה:
/opt/apigee/apigee-setup/bin/setup.sh -p ps -f updated_config_file
- שינוי של מרחב המקשים
system_auth
. אם הפעלת אימות Cassandra צומת Cassandra, עדכון גורם הרפליקציה של מרחב המפתחותsystem_auth
על ידי הרצה של הפקודה הבאה:ALTER KEYSPACE system_auth WITH replication = {'class': 'NetworkTopologyStrategy', 'dc-2': '3'};
הפקודה הזו מגדירה את גורם הרפליקציה ל-
'3'
, שמציין שלושה צמתים של Cassandra באשכול. משנים את הערך הזה לפי הצורך.לאחר השלמת השלב הזה, הטופולוגיה של קסנדרה לא כוללים
dc-1
באף אחד ממרחבי המקשים. - מוציאים את הצמתים של Cassandra מזרם dc-1, אחד אחרי השני.
כדי להוציא את הצמתים של Cassandra, מזינים את הפקודה הבאה:
/opt/apigee/apigee-cassandra/bin/nodetool -h cassIP -u cassandra -pw '<AdminPassword>' decommission
- בודקים את החיבור של צומתי Cassandra מ-dc-1 באמצעות אחת מהפקודות הבאות:
/opt/apigee/apigee-cassandra/bin/cqlsh cassIP 9042 -u cassandra -p '<AdminPassword>'
או פקודת אימות משנית שתופעל בצומת שהוצא משימוש:
/opt/apigee/apigee-cassandra/bin/nodetool netstats
הפקודה שלמעלה אמורה להחזיר:
Mode: DECOMMISSIONED
- מריצים את פרופיל ה-DS לכל הצמתים של Cassandra ו-ZooKeeper ב-dc-2:
/opt/apigee/apigee-setup/bin/setup.sh -p ds -f updated_config_file
- עצירת הפעולה של
apigee-cassandra
ושלapigee-zookeeper
ב-DC-1:apigee-service apigee-cassandra stop
apigee-service apigee-zookeeper stop
- הסרת ההתקנה של
apigee-cassandra
ושלapigee-zookeeper
ב-dc-1:apigee-service apigee-cassandra uninstall
apigee-service apigee-zookeeper uninstall
מחיקת הקישורים מ-dc-1
כדי למחוק את הקישורים מ-dc-1, מבצעים את השלבים הבאים:
- מוחקים את הקישורים מ-dc-1.
- הצגת רשימה של כל הקבוצות הזמינות בארגון:
curl -v -u <AdminEmailID>:<AdminPassword> -X GET "http://MS_IP:8080/v1/o/ORG/pods"
- כדי לבדוק אם כל הקישורים הוסרו,
מזהי UUID של השרתים המשויכים ל-Pods:
curl -v -u <AdminEmailID>:<AdminPassword> \ -X GET "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1/servers"
אם הפקודה לא מחזירה מזהי UUID, כל הקישורים הוסרו בשלבים הקודמים. ותוכלו לדלג על השלב הבא. אם לא, מבצעים את השלב הבא.
- מסירים את כל קישורי השרת עבור מזהי UUID שהתקבלו בשלב הקודם:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MS_IP:8080/v1/servers/UUID
- ביטול השיוך של הארגון למערך המודעות:
curl -v -u <AdminEmailID>:<AdminPassword> "http://MS_IP:8080/v1/o/ORG/pods" -d "action=remove®ion=dc-1&pod=gateway-1" -H "Content-Type: application/x-www-form-urlencoded" -X POST
- הצגת רשימה של כל הקבוצות הזמינות בארגון:
- מחיקת רצפי המודעות:
curl -v -u <AdminEmailID>:<AdminPassword> "http://MS_IP:8080/v1/regions/dc-1/pods/gateway-1" -X DELETE
- מחיקת האזור.
curl -v -u <AdminEmailID>:<AdminPassword> "http://MS_IP:8080/v1/regions/dc-1" -X DELETE
הערה: אם פספסתם את אחד מהשלבים למחיקת השרתים, תוכלו לבצע את השלב שמופיע למעלה. יחזיר הודעת שגיאה שרת ספציפי ב-pod עדיין קיים. לכן, מוחקים אותם באמצעות השלבים לפתרון בעיות. למטה, תוך התאמה אישית של הסוגים בפקודה
curl
.בשלב הזה השלמתם את ההוצאה משימוש של dc-1.
נספח
פתרון בעיות
אם אחרי שביצעתם את השלבים הקודמים עדיין יש שרתים בחלק מה-Pods, צריך לבצע את השלבים הבאים כדי לבטל את הרישום ולמחוק את השרתים. הערה: משנים את הסוגים ואת רצף המודעות לפי הצורך.
- משתמשים בפקודה הבאה כדי לקבל את ה-UUIDs:
apigee-adminapi.sh servers list -r dc-1 -p POD -t --admin <AdminEmailID> --pwd '<AdminPassword>’ --host localhost
- ביטול הרישום של סוג השרת:
curl -u <AdminEmailID>:'<AdminPassword>' -X POST http://MP_IP:8080/v1/servers -d "type=TYPE=REGION=dc-1&pod=POD&uuid=UUID&action=remove"
- מוחקים את השרתים אחד אחרי השני:
curl -u <AdminEmailID>:'<AdminPassword>' -X DELETE http://MP_IP:8080/v1/servers/UUID
אימות
אפשר לבדוק את ההוצאה משימוש באמצעות הפקודות הבאות.
שרת ניהול
מריצים את הפקודות הבאות משרתי הניהול בכל האזורים.
curl -v -u <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=central®ion=dc-1 curl -v -u <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=gateway®ion=dc-1 curl -v -u <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/servers?pod=analytics®ion=dc-1
כדי לבדוק את דרישות השקעים של כל רכיבי הניהול, מריצים את הפקודה הבאה על כל הרכיבים יציאות.
curl -v http://MS_IP:8080/v1/servers/self
בודקים את קבוצת ניתוח הנתונים.
curl -v -u <AdminEmailID>:'<AdminPassword>' "http://MS_IP:8080}/v1/o/ORG/e/ENV/provisioning/axstatus" curl -v -u <AdminEmailID>:'<AdminPassword>' http://MS_IP:8080/v1/analytics/groups/ax
צמתים של Cassandra/ZooKeeper
בכל צומתי Cassandra, מזינים:
/opt/apigee/apigee-cassandra/bin/nodetool -h <host> statusthrift
הפעולה הזו תחזיר סטטוס של
running
אוnot running
עבור הספציפי הזה .בצומת אחד, מזינים:
/opt/apigee/apigee-cassandra/bin/nodetool -h <host> ring
/opt/apigee/apigee-cassandra/bin/nodetool -h <host> status
הפקודות שלמעלה יחזירו מידע פעיל של מרכז נתונים.
בצמתים של ZoomKeeper, קודם צריך להזין:
echo ruok | nc <host> 2181
הפקודה הזו תחזיר את הערך
imok
.לאחר מכן מזינים:
echo stat | nc <host> 2181 | grep Mode
הערך של
Mode
שהוחזר על ידי הפקודה שלמעלה יהיה אחד מהערכים הבאים:observer
,leader
אוfollower
.בצומת אחד של ZoomKeeper:
/opt/apigee/apigee-zookeeper/contrib/zk-tree.sh >> /tmp/zk-tree.out.txt
בצומת המאסטר של Postgres, מריצים את:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-master
בודקים שבתשובה מצוין שהצומת הוא המאסטר.
בצומת ההמתנה:
/opt/apigee/apigee-service/bin/apigee-service apigee-postgresql postgres-check-standby
בודקים שהתשובה מציינת שהצומת נמצא במצב המתנה.
מתחברים למסד הנתונים של PostgreSQL באמצעות הפקודה
psql -h localhost -d apigee -U postgres
כשמופיעה בקשה, כותבים 'postgres'. סיסמת המשתמש בתור
'postgres'
. צריך לבחור אתmax(client_received_start_timestamp)
מניתוח הנתונים.”$org.$env.fact” limit 1
;יומנים
צריך לבדוק את היומנים ברכיבים כדי לוודא שאין שגיאות.
- במאסטר החדש, עורכים את ההגדרות האישיות
קובץ להגדרה: