מדי פעם, יכול להיות שתצטרכו לבטל את השימוש במרכז נתונים. לדוגמה, אם אתם משדרגים את מערכת ההפעלה, עליכם להתקין את מערכת ההפעלה החדשה במרכז נתונים חדש ולאחר מכן להוציא משימוש את מרכז הנתונים הישן. בקטעים הבאים מוצגת דוגמה להשבתה של מרכז נתונים, שבה יש שני מרכזי נתונים – dc-1 ו-dc-2 בהתקנה של אשכולות עם 12 צמתים:
- dc-1 הוא מרכז הנתונים שצריך להפסיק את השימוש בו.
- dc-2 הוא מרכז נתונים שני, שנעשה בו שימוש בתהליך הפסקת השימוש.
אם אתם משדרגים את מערכת ההפעלה, dc-2 יכול להיות מרכז הנתונים שבו התקנתם את הגרסה החדשה של מערכת ההפעלה (OS). עם זאת, אין צורך להתקין מערכת הפעלה חדשה כדי להפסיק את השימוש במרכז נתונים.
שיקולים שיש להביא בחשבון לפני השקה של מרכז נתונים
כשיוצאים ממרכז נתונים, חשוב להביא בחשבון את השיקולים הבאים:
- חסימת כל תעבורת הנתונים בזמן הריצה והניהול של מרכז הנתונים הפסקת השימוש במרכזי נתונים, והפנייתם למרכזי נתונים אחרים.
- לאחר ההוצאה משימוש של מרכז הנתונים, הקיבולת של אשכול Apigee תהיה נמוכה יותר. כדי לפצות על כך, אפשר להגדיל את הקיבולת במרכזי הנתונים שנותרו או להוסיף מרכזי נתונים אחרי הביטול.
- במהלך תהליך ההוצאה משימוש, יכול להיות שיאבדו נתונים במסגרת ניתוח נתונים, בהתאם לרכיבי הניתוח שהותקנו במרכז הנתונים שיוצא משימוש. פרטים נוספים זמינים במאמר הוספה או הסרה של צמתים מסוג Qpid.
- לפני שמוציאים משימוש מרכז נתונים, צריך להבין איך כל הרכיבים מוגדרים בכל מרכזי הנתונים, במיוחד בשרתים OpenLDAP, , zoKeeper, Cassandra ו-Postgres. מומלץ גם ליצור גיבויים של כל הרכיבים וההגדרות שלהם.
לפני שמתחילים
- שרת הניהול: כל שלבי הביטול תלויים בשרת הניהול. אם יש לך רק שרת ניהול אחד, מומלץ להתקין רכיב חדש של שרת ניהול במרכז נתונים שאינו dc-1 לפני שמוציאים אותו משימוש ב-dc-1, ולוודא שאחד משרתי הניהול תמיד זמין.
- נתב: לפני הוצאה משימוש של הנתב, צריך לחסום את יכולת הגישה של הנתבים על ידי חסימת היציאה 15999. צריך לוודא שלא מתבצעת הפניית תנועה בזמן ריצה אל הנתבים שמוציאים משימוש.
Cassandra ו-zoKeeper: בקטעים שבהמשך מתואר איך לבטל את השימוש ב-dc-1 בשתי הגדרות של מרכז נתונים. אם יש לך יותר משני מרכזי נתונים, חשוב להסיר את כל ההפניות לצומת שיוצא משימוש (במקרה הזה, dc-1) מכל קובצי התצורה השקטים בכל שאר מרכזי הנתונים. עבור צומתי Cassandra שעומדים לצאת משימוש, יש להסיר את המארחים האלה מ-
CASS_HOSTS
. שאר הצמתים של Cassandra אמורים להישאר בסדר המקורי שלCASS_HOSTS
.Postgres: אם מוציאים משימוש את ה-Postgres הראשי, יש להקפיד לקדם כל אחד מהצמתים הזמינים במצב המתנה בתור מנהל ראשי חדש של Postgres. אמנם שרת ה-QPID שומר מאגר נתונים זמני בתור, אבל אם המאסטר של Postgres לא זמין למשך זמן רב יותר, אתה עלול לאבד נתונים לניתוח.
דרישות מוקדמות
לפני שמוציאים משימוש רכיב כלשהו, מומלץ לבצע גיבוי מלא של כל הצמתים. מבצעים את הגיבוי בהתאם לגרסה הנוכחית של Edge. למידע נוסף על גיבוי, תוכלו לקרוא את המאמר גיבוי ושחזור.
הערה: אם יש לך כמה צמתים ב-Cassandra או ב-zoKeeper, עליך לגבות אותם אחד אחרי השני, כי תהליך הגיבוי משבית באופן זמני אתzoKeeper.
- מוודאים ש-Edge פועל לפני היציאה ממנו באמצעות הפקודה:
/opt/apigee/apigee-service/bin/apigee-all status
- צריך לוודא שלא מגיעה כרגע תנועה בזמן הריצה למרכז הנתונים שברצונך להוציא משימוש.
סדר רכיבי ההוצאה משימוש
אם מתקינים את Edge לענן פרטי בכמה צמתים, צריך להסיר את רכיבי Edge בצמתים האלה לפי הסדר הבא:
- Edge UI (edge-ui)
- Management Server (edge-management-server)
- OpenLDAP (apigee-openldap)
- נתב (נתב קצה)
- מעבד הודעות (edge-message-processor)
- Qpid Server ו-Qpidd (edge-qpid-server ו-apigee-qpidd)
- מסדי נתונים Postgres ו-PostgreSQL (edge-postgres-server ו-apigee-postgresql)
- ZooKeeper (apigee-zookeeper)
- Cassandra (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, יוצרים רשומה ב-dc-2 LDAP ומוודאים שהוא לא מופיע ב-LDAP של dc-1.
לחלופין, ניתן לבצע את השלבים הבאים, שיוצרים משתמש לקריאה בלבד בצומת dc-2 OpenLDAP ואז לבדוק אם המשתמש משוכפל או לא. המשתמש יימחק בהמשך.
- יוצרים קובץ
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 של הנתב, כמו שמתואר במאמר קבלת UUIDs.
- עוצרים את הנתב:
/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 של מעבדי ההודעות, כמו שמתואר במאמר קבלת UUIDs.
- מפסיקים את מעבד ההודעות:
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, כמו שמתואר במאמר קבלת UUIDs.
- עצירת הפעולה של
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
- מפעילים מחדש את כל רכיבי שרת הקצה 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
- הסרה של edge-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, כפי שמתואר במאמר קבלת UUIDs.
- ב-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: יש לפעול לפי השלבים בקטע המתאים בהמשך:
אם נותר רק צומת אחד במצב המתנה
לדוגמה, נניח שלפני ההשבתה היו שלושה צומתי 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 חדש לקבוצת Analytics לפי ההוראות במאמר הוספת שרת 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 חדש לקבוצת Analytics לפי ההוראות במאמר הוספת שרת 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
גן החיות (ZooKeeper) ו-קסנדרה
בקטע הזה נסביר איך לבטל את ההפעלה של השרתים שלzoKeeper ושל Cassandra בשתי הגדרות של מרכז נתונים.
אם יש לך יותר משני מרכזי נתונים, חשוב להסיר את כל ההפניות לצומת שיוצא משימוש (במקרה הזה, dc-1) מכל קובצי התצורה השקטים בכל שאר מרכזי הנתונים. עבור צומתי Cassandra שעומדים לצאת משימוש, יש להסיר את המארחים האלה מ-
CASS_HOSTS
. שאר הצמתים של Cassandra אמורים להישאר בסדר המקורי שלCASS_HOSTS
.הערה ב-zoKeeper: כדי להבטיח שהמתחם שלzoKeeper ימשיך לפעול, צריך לשמור על קוורום של צומתי מצביעים בזמן שאתם משנים את המאפיין
ZK_HOST
בקובץ התצורה. צריך להיות לך מספר אי-זוגי של צומתי מצביעים. למידע נוסף, ראו משימות תחזוקה של גן החיות של Apache.כדי להוציא משימוש את השרתים שלzoKeeper ושל Cassandra:
- מגבים את צומתי Cassandra ו-zoKeeper של dc-1 על ידי ביצוע ההוראות בקישורים הבאים:
צריך להציג רשימה של מזהי UUID של השרתים שלzoKeeper ו-Cassandra במרכז הנתונים, שבו הצמתים של 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 באשכול. משנים את הערך הזה לפי הצורך.אחרי השלמת השלב הזה, הטופולוגיה של 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 ו-zoKeeper ב-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 מסוימים, צריך לבצע את השלבים הבאים כדי לבטל את הרישום ולמחוק את השרתים. הערה: אפשר לשנות את הסוגים ואת רצף המודעות לפי הצורך.
- מקבלים את מזהי UUID באמצעות הפקודה הבאה:
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
הפקודות שלמעלה יחזירו מידע פעיל של מרכז נתונים.
בצמתים שלzoKeeper, יש להזין קודם:
echo ruok | nc <host> 2181
פקודה זו תחזיר את הערך
imok
.לאחר מכן מזינים:
echo stat | nc <host> 2181 | grep Mode
הערך של
Mode
שיוחזר על ידי הפקודה שלמעלה יהיה אחד מהערכים הבאים:observer
,leader
אוfollower
.בצומת גן חיות אחת:
/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)
מ-Analytics.”$org.$env.fact” limit 1
;יומנים
צריך לבדוק את היומנים ברכיבים כדי לוודא שאין שגיאות.
- במאסטר החדש, עורכים את קובץ התצורה כדי להגדיר את: