העברת רכיבים ממחשב אחד למחשב אחר עלולה לגרום לחוסר התאמה בהגדרות אם לא מקפידים על סנכרון כתובות ה-IP בקובצי ההגדרות של הרכיבים.
בקטע הזה מוסבר איך לאבחן ולתקן חוסר התאמה בהגדרות.
כתובות IP לעומת שמות מארחים
מומלץ להשתמש בכתובות IP ולא בשמות מארחים בקובצי התצורה של הרכיבים.
אף על פי שבחלק מקובצי ההגדרות של הרכיבים אפשר להשתמש בשמות מארחים במקום בכתובות IP, השימוש בשמות מארחים עלול לסבך את פתרון הבעיות. לדוגמה, שמות מארחים יכולים להיות מקור לבעיות שקשורות לקישוריות של שרת DNS, לכשלים בחיפוש ולסנכרון.
לכן, ב-Apigee מומלץ מאוד להשתמש בכתובות 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 (ראו שינוי כתובת ה-IP של צומת ZooKeeper). אחרת, מפעילים מחדש כל רכיב בפלטפורמת Apigee, החל משרת הניהול.
לגבי הגדרות עם כמה צמתים (nodes) של 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
- עבור כל שאר הצמתים, חוזרים על השינויים שבוצעו בשלבים 3 ו-4 כדי לעדכן אותם לגבי המיקום של הצומת הזה בטבעת Cassandra. בנוסף, משנים את כתובת ה-IP של צומת ה-seed כמו שמתואר בשלב 1.
- מפעילים מחדש כל אחד מצומתי 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
- מריצים את הפקודה
nodetool repairבצומת ששונה. חשוב לזכור שהתהליך הזה עשוי להימשך זמן מה, ולכן מומלץ מאוד לא לבצע אותו בשעות השיא של תנועת ה-API.nodetool [-u username -pw password] -h localhost repair -pr
- אם צריך, מתקנים את ZooKeeper (ראו שינוי כתובת ה-IP של צומת 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, ולוודא שהערכים מופיעים באותו סדר בכל צומת.
- כדי למצוא את המנהיג של קבוצת השרתים של ZooKeeper, משתמשים בפקודה הבאה (מחליפים את node בכתובת ה-IP של מכונת Zookeeper):
echo srvr | nc node 2181
בשורה Mode בפלט צריך להופיע הערך leader.
- מפעילים מחדש את ZooKeeper אחד אחרי השני, מתחילים עם ה-leader ומסיימים עם הצומת שכתובת ה-IP שלו השתנתה. אם יותר מצומת אחד של zookeeper שינה את כתובת ה-IP, יכול להיות שיהיה צורך להפעיל מחדש את כל הצמתים.
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
- משתמשים בפקודה
echoשמתוארת למעלה כדי לאמת כל צומת של ZooKeeper.
עדכון של צומתי 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 (SymasLDAP)
כדי לשנות את כתובת ה-IP של צומת SymasLDAP:
- בצומת של שרת הניהול, עורכים את הקובץ
/opt/apigee/customer/application/management-server.propertiesfile. אם הקובץ לא קיים, צריך ליצור אותו. - בקובץ
management-server.properties, מגדירים את הפרמטרconf_security_ldap.server.hostלכתובת ה-IP החדשה. - מפעילים מחדש את שרת הניהול:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
שינוי כתובת ה-IP של סוגים אחרים של צמתים ב-Apigee
כדי לשנות את כתובת ה-IP של אחד מסוגי הצמתים האלה (נתב, מעבד הודעות, שרת Postgres (לא postgresql) ושרת Qpid (לא qpidd):
- משתמשים בפקודה
curlהבאה כדי לרשום את כתובת ה-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 של רכיב.