אם מעבירים רכיבים ממכונה אחת לאחרת, יכול להיות שיהיה חוסר התאמה בהגדרות אם לא מסנכרנים את כתובות ה-IP בקובצי התצורה של הרכיבים.
בקטע הזה מוסבר איך לאבחן ולתקן חוסר התאמה בהגדרות האישיות.
כתובות IP לעומת שמות מארחים
מומלץ להשתמש בכתובות IP ולא בשמות מארחים בקובצי התצורה של הרכיבים.
אפשר להשתמש בשמות מארחים במקום בכתובות IP בחלק מקובצי התצורה של הרכיבים, אבל זה יכול להקשות על פתרון הבעיות. לדוגמה, שמות מארחים יכולים להיות המקור לבעיות שקשורות לקישוריות של שרת ה-DNS, לכשלים בחיפוש ולסנכרון.
לכן, מומלץ מאוד להשתמש בכתובות IP לכל הגדרות הרכיבים. במקרים מסוימים, כמו ב-Cassandra, צריך להשתמש בכתובות IP ולא בשמות מארחים. ברוב הדוגמאות במסמכי התיעוד נעשה שימוש בכתובות IP להגדרת הרכיבים.
כשמעבירים שרתי Apigee, כדאי להביא בחשבון את ההשלכות של התרחישים הבאים על שמות המארחים וכתובות ה-IP:
| תרחיש | ההשפעה על העברת שרתים |
|---|---|
| שינוי בכתובת ה-IP | מעדכנים את כל הקבצים הקשורים שמפנים לכתובת ה-IP המקורית. |
| שינוי שם המארח בלי לשנות את כתובת ה-IP | אין השפעה |
| שינוי שם המארח עם שינוי בכתובת ה-IP | כמו שינוי בכתובת ה-IP |
שינוי כתובת ה-IP של צומת Cassandra
כדי לשנות את כתובת ה-IP של צומת Cassandra, מבצעים את השלבים הבאים:
להגדרות עם צומת Cassandra יחיד
- עורכים את
/opt/apigee/customer/application/cassandra.propertiesבמערכת שמשנים. אם הקובץ לא קיים, יוצרים אותו. - משנים את הפרמטרים הבאים:
- מגדירים את הפרמטרים
conf_cassandra_seedsו-conf_cassandra_listen_addressכדי לציין את כתובת ה-IP החדשה של המערכת. - משנים את
conf_cassandra_rpc_addressכדי להשתמש בכתובת ה-IP החדשה או ב-0.0.0.0 (שמאפשרת ל-Cassandra Thrift להאזין בכל הממשקים).
- מגדירים את הפרמטרים
- פותחים את
/opt/apigee/apigee-cassandra/conf/cassandra-topology.propertiesבכלי לעריכת טקסט. כתובת ה-IP הישנה והגדרת ברירת המחדל אמורות להופיע בטופס:192.168.56.101=dc-1:ra-1 default=dc-1:ra-1
שומרים את המידע הזה.
- עורכים את
/opt/apigee/customer/application/cassandra.propertiesכדי לשנות את כתובת ה-IP הישנה שצוינה לכתובת ה-IP החדשה:conf_cassandra-topology_topology=192.168.56.103=dc-1:ra-1\ndefault=dc-1:ra-1\n
חשוב להוסיף "\n" אחרי כתובת ה-IP, ולציין את אותן הגדרות ברירת מחדל שמצאתם בשלב 3 שלמעלה.
- מפעילים מחדש את Cassandra:
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- אם צריך, מתקנים גם את ZooKeeper (ראו בהמשך). אחרת, מפעילים מחדש כל רכיב בפלטפורמת Apigee, החל מ-Management Server.
במערכים עם כמה צומתי Cassandra (טבעת)
- אם הצומת שמשתנה הוא צומת ראשוני, עורכים את הקובץ
/opt/apigee/customer/application/cassandra.propertiesבכל מערכת בטבעת, ומשנים את הפרמטרconf_cassandra_seedsכך שיכלול את כתובת ה-IP החדשה של המערכת ששונתה. אם הקובץ cassandra.properties לא קיים, יוצרים אותו. - עורכים את
/opt/apigee/customer/application/cassandra.propertiesבמערכת שמשנים, ומשנים את הפרמטרים הבאים:- מגדירים את
conf_cassandra_listen_addressכך שישתמש בכתובת ה-IP החדשה. - מגדירים את
conf_cassandra_rpc_addressכך שישתמש בכתובת ה-IP החדשה או ב-"0.0.0.0" (מה שמאפשר ל-Cassandra Thrift להאזין בכל הממשקים).
- מגדירים את
- פותחים את
/opt/apigee/apigee-cassandra/conf/cassandra-topology.propertiesבכלי לעריכת טקסט. כל כתובות ה-IP של Cassandra והגדרת ברירת המחדל אמורות להופיע בטופס:192.168.56.101=dc-1:ra-1 192.168.56.102=dc-1:ra-1 192.168.56.103=dc-1:ra-1 default=dc-1:ra-1
שומרים את המידע הזה.
- עורכים את
/opt/apigee/customer/application/cassandra.propertiesכדי לשנות את כתובת ה-IP הישנה שצוינה לכתובת ה-IP החדשה:conf_cassandra-topology_topology=192.168.56.101=dc-1:ra-1\n192.168.56.102=dc-1:ra-1\n192.168.56.104=dc-1:ra-1\ndefault=dc-1:ra-1\n
חשוב להוסיף "\n" אחרי כל כתובת IP, ולהשתמש באותן הגדרות ברירת מחדל שתיעדתם בשלב 3 למעלה.
- מפעילים מחדש את Cassandra במערכת ששונתה. אם המערכת ששונתה היא צומת ראשוני, צריך להפעיל מחדש גם כל מערכת שהשתמשה בצומת הראשוני ששונה.
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- מריצים את הפקודה
nodetool ringבצומת ששונה כדי לוודא שהטבעת שלמה. הכלי נמצא בכתובת/opt/apigee/apigee-cassandra/bin.nodetool [-u username -pw password] -h localhost ring
צריך להעביר את שם המשתמש והסיסמה רק אם הפעלתם אימות JMX ל-Cassandra.
- מריצים את
nodetool repairבצומת ששונה. חשוב לזכור שהתהליך הזה יכול להימשך זמן מה, ולכן מומלץ מאוד לא לבצע אותו בשעות השיא של התנועה ב-API.nodetool [-u username -pw password] -h localhost repair -pr
- אם צריך, מתקנים את ZooKeeper (ראו בהמשך) ואז מפעילים מחדש כל רכיב בפלטפורמת Apigee, החל משרת הניהול.
עדכון הרישומים של מאגרי המידע
- כדי למצוא את מזהי ה-UUID של רישומי מאגר הנתונים שמציינים את כתובת ה-IP הישנה, משתמשים בפקודות הבאות. שימו לב לפרמטרים "type" ו-"UUID":
-
curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=central®ion=DC" | egrep -i '[type|internalip|uuid|region]'
-
curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=gateway®ion=DC" | egrep -i '[type|internalip|uuid|region]'
-
curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=analytics®ion=DC" | egrep -i '[type|internalip|uuid|region]'
כאשר DC הוא השם של מרכז הנתונים. בהתקנה של מרכז נתונים יחיד, הערך הוא בדרך כלל "dc-1".
-
- רושמים את כתובות ה-IP החדשות באמצעות אחת מהפקודות הבאות. הפקודה הנדרשת תלויה בסוג הצומת שהשתנה.
- עבור type="application-datastore":
curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers -d \ "Type=application-datastore&Type=audit-datastore&InternalIP=NEWIP®ion=REGION&pod=central" \ -H 'content-type: application/x-www-form-urlencoded' -X POST
- ל-type="kms-datastore":
curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers -d \ "Type=kms-datastore&Type=dc-datastore&Type=keyvaluemap-datastore&Type=counter-datastore&Type=cache-datastore \ &InternalIP=NEWIP®ion=REGION&pod=GATEWAY_POD" -H 'content-type: \ application/x-www-form-urlencoded' -X POST
- עבור type="reportcrud-datastore":
curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers" -d \ "Type=reportcrud-datastore&InternalIP=NEW_IP®ion=REGION&pod=analytics" \ -H 'content-type: application/x-www-form-urlencoded' -X POST
- עבור type="application-datastore":
- מוחקים את הרישומים הישנים של ה-UUID של המערכת שבה כתובת ה-IP השתנתה. לכל אחד מה-UUID האלה, מפעילים את הפקודה:
curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers/OLD_UUID" -X DELETE
שינוי כתובת ה-IP של צומת ZooKeeper
כדי לשנות את כתובת ה-IP של צומת ZooKeeper:
משנים את כתובת ה-IP ומפעילים מחדש את אנסמבל ZooKeeper (רק להגדרות של אנסמבל עם כמה צמתים)
- פותחים את
/opt/apigee/apigee-zookeeper/conf/zoo.cfgבכלי לעריכת טקסט. כל כתובות ה-IP של ZooKeeper וההגדרה שמוגדרת כברירת מחדל אמורות להופיע בפורמט הבא:server.1=192.168.56.101:2888:3888 server.2=192.168.56.102:2888:3888 server.3=192.168.56.103:2888:3888
שומרים את המידע הזה.
- בכל צומת ZooKeeper, עורכים את הקובץ
/opt/apigee/customer/application/zookeeper.propertiesכדי להגדיר את המאפייןconf_zoo_quorumלכתובות ה-IP הנכונות. אם הקובץ לא קיים, יוצרים אותו.conf_zoo_quorum=server.1=192.168.56.101:2888:3888\nserver.2=192.168.56.102:2888:3888\nserver.3=192.168.56.104:2888:3888\n
חשוב להוסיף "\n" אחרי כל כתובת IP, ולוודא שהרשומות מופיעות באותו סדר בכל צומת.
- מאתרים את ה-leader של אנסמבל ZooKeeper באמצעות הפקודה הבאה (מחליפים את node בכתובת ה-IP של מכונת Zookeeper):
echo srvr | nc node 2181
בשורת המצב בפלט אמור להופיע "leader".
- מפעילים מחדש את ZooKeeper אחד אחרי השני, החל מה-leader וכלה בצומת שבו כתובת ה-IP השתנתה. אם כתובות ה-IP של יותר מצומת אחד של ZooKeeper השתנו, יכול להיות שצריך להפעיל מחדש את כל הצמתים.
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
- משתמשים בפקודה
echoשמתוארת למעלה כדי לאמת כל צומת ZooKeeper.
מודיעים לצומתי Apigee על שינוי ההגדרות
- בכל צומת של Router, עורכים את הקובץ
/opt/apigee/customer/application/router.propertiesבאופן הבא: אם הקובץ לא קיים, יוצרים אותו.- משנים את הפרמטר
conf_zookeeper_connection.stringכך שיכלול את כתובת ה-IP החדשה. - משנים את הפרמטר
conf_zookeeper_zk1.hostכך שיכלול את כתובת ה-IP החדשה.
- משנים את הפרמטר
- בכל צומת של מעבד בקשות, עורכים את הקובץ
/opt/apigee/customer/application/message-processor.propertiesבאופן הבא. אם הקובץ לא קיים, יוצרים אותו.- משנים את הפרמטר
conf_zookeeper_connection.stringכך שיכלול את כתובת ה-IP החדשה. - משנים את הפרמטר
conf_zookeeper_zk1.hostכך שיכלול את כתובת ה-IP החדשה.
- משנים את הפרמטר
- בצומת Management Server, עורכים את הקובץ
/opt/apigee/customer/application/management-server.propertiesבאופן הבא: אם הקובץ לא קיים, יוצרים אותו.- משנים את הפרמטר
conf_zookeeper_connection.stringכך שיכלול את כתובת ה-IP החדשה. - משנים את הפרמטר
conf_zookeeper_zk1.hostכך שיכלול את כתובת ה-IP החדשה.
- משנים את הפרמטר
- מפעילים מחדש את כל הרכיבים של פלטפורמת Apigee על ידי הרצת הפקודה הבאה בכל צומת:
/opt/apigee/apigee-service/bin/apigee-all restart
שינוי כתובת ה-IP של שרת LDAP (OpenLDAP)
כדי לשנות את כתובת ה-IP של צומת OpenLDAP:
- בצומת Management Server, עורכים את הקובץ
/opt/apigee/customer/application/management-server.properties. אם הקובץ לא קיים, יוצרים אותו. - בקובץ
management-server.properties, מגדירים את הפרמטרconf_security_ldap.server.hostלכתובת ה-IP החדשה. - מפעילים מחדש את שרת הניהול:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
שינוי כתובת ה-IP של סוגי צמתים אחרים של Apigee
כדי לשנות את כתובת ה-IP של כל אחד מסוגי הצמתים האלה (Router, מעבד בקשות, Postgres Server (לא postgresql) ו-Qpid Server (לא qpidd):
- השתמשו בפקודה הבאה של
curlכדי לרשום את כתובת ה-IP הפנימית וכתובת ה-IP החיצונית החדשה:curl -u ADMINEMAIL:PW -X PUT \ http://MSIP:8080/v1/servers/uuid -d ExternalIP=ip
curl -u ADMINEMAIL:PW -X PUT \ http://$MSIP:8080/v1/servers/uuid -d InternalIP=ipכאשר uuid הוא ה-UUID של הצומת.
במאמר קבלת מזהי UUID מוסבר איך מקבלים את ה-UUID של רכיב.