העברת רכיבים ממכונה אחת למכונה אחרת עלולה לגרום לחוסר התאמה בהגדרות אם לא תסנכרנו את כתובות ה-IP בקובצי התצורה של הרכיבים.
בקטע הזה נסביר איך לאבחן ולתקן אי-התאמות בהגדרות.
כתובות IP לעומת שמות מארחים
צריך להשתמש בכתובות IP ולא בשמות מארח בקובצי התצורה של הרכיבים.
בחלק מקובצי התצורה של הרכיבים אפשר להשתמש בשמות מארחים במקום בכתובות IP, אבל השימוש בשמות מארחים עלול לסבך את פתרון הבעיות. לדוגמה, שמות המארחים יכולים להיות המקור לבעיות שקשורות לקישוריות של שרת ה-DNS, לכשלים בחיפוש ולסנכרון.
לכן, מערכת Apigee ממליצה מאוד להשתמש בכתובות IP לכל הרכיבים הגדרות אישיות. במקרים מסוימים, כמו במקרה של Cassandra, צריך להשתמש בכתובות IP ולא ניתן להשתמש שמות מארחים. רוב הדוגמאות בתיעוד מתבססות על כתובות IP להגדרת רכיבים.
לגבי שמות מארחים וכתובות IP, קחו בחשבון את ההשלכות של התרחישים הבאים כשמעבירים שרתי Apigee:
תרחיש | ההשפעה על העברת שרתים |
---|---|
שינוי בכתובת ה-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
- במקרה הצורך, יש לתקן את ZoomKeeper (ראו בהמשך), ואז להפעיל מחדש כל רכיב בפלטפורמת Apigee, מתחיל בשרת הניהול.
עדכון מאגר הנתונים הרשמות
- כדי למצוא את מזהי ה-UUID של הרישומים של מאגר הנתונים שצוינה בהם כתובת ה-IP הישנה, משתמשים בפקודות הבאות: חשוב לשים לב ל"סוג" ו-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 של צומת בנתונים שלzoKeeper
כדי לשנות את כתובת ה-IP של צומת באתרים שלzoKeeper, פועלים לפי השלבים הבאים:
שינוי כתובת ה-IP והפעלה מחדש של האנסמבל של ZzooKeeper (לתצורות של הרכבה מרובת צמתים בלבד)
- פותחים את
/opt/apigee/apigee-zookeeper/conf/zoo.cfg
בכלי לעריכה. אתם אמורים לראות כל כתובות ה-IP של ZoomKeeper והגדרות ברירת המחדל בטופס:server.1=192.168.56.101:2888:3888 server.2=192.168.56.102:2888:3888 server.3=192.168.56.103:2888:3888
שומרים את המידע הזה.
- בכל צומת של ZoomKeeper, עורכים את הקובץ
/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, והרשומות יופיעו באותו סדר בכל צומת.
- כדי למצוא את המנהיג של המארז של ZogoKeeper, משתמשים בפקודה הבאה (מחליפים
node מחליפים בכתובת ה-IP של מכשיר Zoomkeeper :
echo srvr | nc node 2181
בשורה Mode בפלט אמור להופיע הכיתוב leader.
- מפעילים מחדש את כל צומת ZooKeeper אחד אחרי השני, החל מצומת המנהיג ועד לצומת שבו שונתה כתובת ה-IP. אם כתובות ה-IP שונו על ידי יותר מצומת אחד של גן חיות, יכול להיות
יש צורך להפעיל מחדש את כל הצמתים.
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
- משתמשים בפקודה
echo
שמתוארת למעלה כדי לאמת כל צומת של ZoomKeeper.
עדכון הצמתים של Apigee לגבי ההגדרה השתנתה
- בכל צומת של נתב, עורכים את הקובץ
/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 החדשה כתובת
- צריך לשנות את הפרמטר
- בצומת של שרת הניהול, עורכים את הקובץ
/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, מבצעים את הפעולות הבאות:
- בצומת של שרת הניהול, עורכים את הקובץ
/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 של כל אחד מסוגי הצמתים האלה (נתב, מעבד הודעות, הודעות אימייל) שרת (לא postgresql) ושרת Qpid (לא qpidd):
- כדי לרשום את כתובת ה-IP הפנימית והחיצונית החדשה, צריך להשתמש בפקודה
curl
הבאה: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 של רכיב.