העברת שרתי Apigee

העברת רכיבים ממכונה אחת לאחרת עלולה לגרום לחוסר התאמה בהגדרה אם לא מסנכרנים את כתובות ה-IP בקובצי התצורה של הרכיבים שלך.

בקטע הזה נסביר איך לאבחן ולתקן אי-התאמות בהגדרות.

כתובות IP לעומת שמות מארחים

צריך להשתמש בכתובות IP ולא בשמות מארח בקובצי התצורה של הרכיבים.

קובצי תצורה מסוימים של רכיבים מאפשרים להשתמש בשמות מארחים מאשר כתובות IP, שימוש בשמות מארחים עלול לסבך את פתרון הבעיות. לדוגמה, שמות מארחים יכול להיות המקור לבעיות שקשורות לקישוריות שרת DNS, לכשלים בחיפוש סנכרון.

לכן, מערכת Apigee ממליצה מאוד להשתמש בכתובות IP לכל הרכיבים הגדרות אישיות. במקרים מסוימים, כמו במקרה של Cassandra, צריך להשתמש בכתובות IP ולא ניתן להשתמש שמות מארחים. רוב הדוגמאות בתיעוד מתבססות על כתובות IP להגדרת רכיבים.

לגבי שמות מארחים וכתובות IP, קחו בחשבון את ההשלכות של התרחישים הבאים כשמעבירים שרתי Apigee:

תרחיש ההשפעה על שרתים שמועברים
שינוי בכתובת ה-IP מעדכנים את כל הקבצים הקשורים שמפנים לכתובת ה-IP המקורית.
שינוי שם המארח ללא שינוי בכתובת ה-IP אין השפעה
שינוי בשם המארח עם שינוי בכתובת ה-IP זהה לשינוי בכתובת ה-IP

שינוי כתובת ה-IP של צומת Cassandra

כדי לשנות את כתובת ה-IP של צומת Cassandra, מבצעים את השלבים הבאים:

עבור עם צומת Cassandra יחיד

  1. עריכה של /opt/apigee/customer/application/cassandra.properties במערכת ששונה. אם הקובץ לא קיים, יוצרים אותו.
  2. משנים את הפרמטרים הבאים:
    • הגדרה של conf_cassandra_seeds וconf_cassandra_listen_address כדי לציין את כתובת ה-IP החדשה של המערכת.
    • שינוי conf_cassandra_rpc_address לשימוש את כתובת ה-IP החדשה או 0.0.0.0 (כדי לאפשר ל-Cassandra Thrift להאזין לכל התוכן ממשקים).
  3. לפתיחת /opt/apigee/apigee-cassandra/conf/cassandra-topology.properties בעורך. כתובת ה-IP הישנה והגדרת ברירת המחדל אמורים להופיע בטופס:
    192.168.56.101=dc-1:ra-1
    default=dc-1:ra-1

    שומרים את המידע הזה.

  4. עריכה של /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.

  5. הפעלה מחדש של Cassandra:
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. אם יש צורך, אפשר גם לתקן אתzoKeeper (מידע נוסף זמין במאמר בנושא שינוי כתובת ה-IP של צומת של ZooKeeper). אחרת, צריך להפעיל מחדש כל רכיב של פלטפורמת Apigee, החל משרת הניהול.

עבור הגדרות עם מספר צמתים של Cassandra (צלצול)

  1. אם הצומת שמשנים הוא צומת מקור, צריך לערוך את השדה /opt/apigee/customer/application/cassandra.properties. אחר כל מערכת בצלצול, ומשנים את הפרמטר conf_cassandra_seeds כך שיכלול כתובת ה-IP החדשה של המערכת ששונתה. אם הקובץ cassandra.properties לא קיים, יוצרים את זה.
  2. עריכה של /opt/apigee/customer/application/cassandra.properties במערכת ששונה ומשנים את הפרמטרים הבאים:
    • מגדירים את conf_cassandra_listen_address לשימוש בכתובת ה-IP החדשה.
    • צריך להגדיר את conf_cassandra_rpc_address לשימוש בכתובת ה-IP החדשה או לכתובת 0.0.0.0 (מאפשר ל-Cassandra Thrift להאזין בכל הממשקים).
  3. לפתיחת /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

    שומרים את המידע הזה.

  4. עריכה של /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.

  5. צריך להפעיל מחדש את Cassandra במערכת ששונתה.
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. עבור כל שאר הצמתים, חוזרים על השינויים שבוצעו בשלבים 3 ו-4 כדי ליידע אותם לגבי מיקום הצומת הזה בטבעת Cassandra. בנוסף, משנים את כתובת ה-IP של צומת המקור כפי שמתואר בשלב 1.
  7. מפעילים מחדש את כל צומתי Cassandra בנפרד, אחד אחרי השני.
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  8. מריצים את הפקודה nodetool ring בצומת שהשתנה כדי לוודא שהצלצול הושלם. ניתן למצוא את כלי השירות ב-/opt/apigee/apigee-cassandra/bin.
    nodetool [-u username -pw password] -h localhost ring
  9. מריצים את הפקודה nodetool repair בצומת שהשתנה. שימו לב שהתהליך הזה עשוי להימשך זמן מה, ולכן מומלץ מאוד לא לבצע אותו בשעות השיא של תנועת ה-API.
    nodetool [-u username -pw password] -h localhost repair -pr
  10. במקרה הצורך, צריך לתקן אתzoKeeper (מידע נוסף מופיע במאמר בנושא שינוי כתובת ה-IP של צומת של Zאוזן שמירה), ואז להפעיל מחדש כל רכיב פלטפורמה של Apigee, החל בשרת הניהול.

עדכון מאגר הנתונים הרשמות

  1. מחפשים את מזהי ה-UUID של רישומי מאגר הנתונים שמציינים את כתובת ה-IP הישנה באמצעות הפרמטר פקודות שלמטה. חשוב לשים לב ל"סוג" ו-UUID :
    • curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=central&region=DC" | egrep -i '[type|internalip|uuid|region]'
    • curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=gateway&region=DC" | egrep -i '[type|internalip|uuid|region]'
    • curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=analytics&region=DC" | egrep -i '[type|internalip|uuid|region]'

      כאשר DC הוא השם של מרכז הנתונים. בהתקנה של מרכז נתונים יחיד, הוא בדרך כלל 'dc-1'.

  2. לרשום את כתובות ה-IP החדשות באמצעות אחת מהפקודות הבאות. הפקודה הנדרשת תגרום לביצוע של תלויים בסוג הצומת שהשתנה.
    • עבור type="application-datastore":
      curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers -d \
        "Type=application-datastore&Type=audit-datastore&InternalIP=NEWIP&region=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&region=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&region=REGION&pod=analytics" \
        -H 'content-type: application/x-www-form-urlencoded' -X POST 
  3. מחיקת רישומים ישנים של ה-UUID של המערכת שבה כתובת ה-IP הייתה השתנה. בכל אחד מהבעיות הבאות עם מזהה ייחודי אוניברסלי (UUID):
    curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers/OLD_UUID" -X DELETE

שינוי כתובת ה-IP של צומת בנתונים שלzoKeeper

כדי לשנות את כתובת ה-IP של צומת בנתונים שלzoKeeper, צריך לפעול לפי השלבים הבאים:

שינוי כתובת ה-IP והפעלה מחדש של האנסמבל של ZzooKeeper (לתצורות של הרכבה מרובת צמתים בלבד)

  1. פתיחת /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

    שומרים את המידע הזה.

  2. בכל צומת של 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, והרשומות יופיעו באותו סדר בכל צומת.

  3. כדי למצוא את המנהיג של המארז של ZogoKeeper, משתמשים בפקודה הבאה (מחליפים node מחליפים בכתובת ה-IP של מכשיר Zoomkeeper :
    echo srvr | nc node 2181

    בשורה Mode בפלט אמור להיות כתוב 'leader'.

  4. מפעילים מחדש את ZoomKeeper אחד אחרי השני, מתחילים ב-Lead ומסתיים בצומת ב- שכתובת ה-IP שונתה. אם כתובות ה-IP שונו על ידי יותר מצומת אחד של גן חיות, יכול להיות יש צורך להפעיל מחדש את כל הצמתים.
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
  5. משתמשים בפקודה echo שמתוארת למעלה כדי לאמת כל צומת של ZoomKeeper.

עדכון לצמתים של Apigee בהגדרה ששונתה

  1. בכל צומת של נתב, עורכים את הקובץ /opt/apigee/customer/application/router.properties כמפורט בהמשך. אם הקובץ לא קיים, יוצרים אותו.
    • משנים את הפרמטר conf_zookeeper_connection.string כך שיכלול את כתובת ה-IP החדשה כתובת
    • משנים את הפרמטר conf_zookeeper_zk1.host כך שיכלול את כתובת ה-IP החדשה כתובת
  2. בכל צומת של מעבד הודעות, עורכים את הקובץ /opt/apigee/customer/application/message-processor.properties כמפורט בהמשך. אם הקובץ לא קיים, יוצרים אותו.
    • צריך לשנות את הפרמטר conf_zookeeper_connection.string כך שיכלול את הפרמטר החדש כתובת IP
    • משנים את הפרמטר conf_zookeeper_zk1.host כך שיכלול את כתובת ה-IP החדשה כתובת
  3. בצומת של שרת הניהול, עורכים את הקובץ /opt/apigee/customer/application/management-server.properties. כמפורט בהמשך. אם הקובץ לא קיים, יוצרים אותו.
    • צריך לשנות את הפרמטר conf_zookeeper_connection.string כך שיכלול את הפרמטר החדש כתובת IP
    • משנים את הפרמטר conf_zookeeper_zk1.host כך שיכלול את כתובת ה-IP החדשה כתובת
  4. מפעילים מחדש את כל רכיבי פלטפורמת Apigee על ידי הרצת הפקודה הבאה בכל צומת:
    /opt/apigee/apigee-service/bin/apigee-all restart

שינוי כתובת ה-IP של שרת LDAP (OpenLDAP)

כדי לשנות את כתובת ה-IP של צומת OpenLDAP, מבצעים את הפעולות הבאות:

  1. בצומת של שרת הניהול, עורכים את הקובץ /opt/apigee/customer/application/management-server.properties. חדש. אם הקובץ לא קיים, יוצרים אותו.
  2. בקובץ management-server.properties, מגדירים את conf_security_ldap.server.host לכתובת ה-IP החדשה.
  3. מפעילים מחדש את שרת הניהול:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

שינוי כתובת ה-IP של צומת Apigee אחר סוגים

כדי לשנות את כתובת ה-IP של כל אחד מסוגי הצמתים האלה (נתב, מעבד הודעות, הודעות אימייל) שרת (לא postgresql) ושרת Qpid (לא qpidd):

  1. כדי לרשום את כתובת ה-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 של רכיב.