העברת שרתי 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. אם יש צורך, מתקנים גם את ZooKeeper (ראו בהמשך). אחרת, מפעילים מחדש כל רכיב של פלטפורמת Apigee, החל מ-Management Server.

עבור הגדרות עם מספר צמתים של 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. מריצים את הפקודה nodetool ring בצומת ששונה כדי לוודא שהטבעת מלאה. אפשר למצוא את הכלי בכתובת /opt/apigee/apigee-cassandra/bin
    nodetool [-u username -pw password] -h localhost ring

    צריך להעביר את שם המשתמש והסיסמה רק אם מופעל אימות JMX של Cassandra.

  7. מריצים את nodetool repair צומת שהשתנה. חשוב לזכור שהתהליך הזה עשוי להימשך זמן מה, ולכן מומלץ מאוד לא לבצע אותו בשעות השיא של תנועת ה-API.
    nodetool [-u username -pw password] -h localhost repair -pr
  8. במקרה הצורך, יש לתקן את ZoomKeeper (ראו בהמשך), ואז להפעיל מחדש כל רכיב בפלטפורמת 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. מפעילים מחדש את כל צומת ZooKeeper אחד אחרי השני, החל מצומת המנהיג ועד לצומת שבו שונתה כתובת ה-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 של רכיב.