הוספת צמתים של ZooKeeper

במסמך הזה מוסבר איך להוסיף שלושה צמתים חדשים שלzoKeeper ל-Edge קיים לצורך התקנה של ענן פרטי.

ניתן להוסיף צומת אחד או שניים של {/5}Keeper להתקנת Edge קיימת, אבל צריך לוודא שתמיד יש לך מספר אי-זוגי של צומתי מצביעים ב-ZooKeeper, כפי שמתואר בהמשך.

הגדרות אישיות קיימות של Edge

בכל הטופולוגיות הנתמכות של Edge במערכת ייצור צוין להשתמש בשלושה צומתיzoKeeper. שלושת הצמתים מצוינים למאפיינים ZK_HOSTS ו-ZK_CLIENT_HOSTS בקובץ התצורה, כמו בדוגמה הבאה:

IP1=10.10.0.1
IP2=10.10.0.2
IP3=10.10.0.3
HOSTIP=$(hostname -i)
ADMIN_EMAIL=opdk@google.com
APIGEE_ADMINPW=Secret123
LICENSE_FILE=/tmp/license.txt
MSIP=$IP1 
USE_LDAP_REMOTE_HOST=n
LDAP_TYPE=1
APIGEE_LDAPPW=secret
MP_POD=gateway
REGION=dc-1
ZK_HOSTS="$IP1 $IP2 $IP3"
ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3"
CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1"
SKIP_SMTP=n
SMTPHOST=smtp.example.com
SMTPUSER=smtp@example.com
SMTPPASSWORD=smtppwd

כאשר:

  • ZK_HOSTS מציין את כתובות ה-IP או את שמות ה-DNS של צומתיzoKeeper. כתובות ה-IP או שמות ה-DNS חייבים להיות רשומים באותו סדר בכל הצמתים שלzoKeeper. בסביבה מרובת-נתונים של מרכז נתונים, צריך לרשום את כל הצמתים שלzoKeeper משני מרכזי הנתונים.
  • השדה ZK_CLIENT_HOSTS מציין את כתובות ה-IP או שמות ה-DNS של צומתי התאמות גן החיות (שמשוייזרים) שמשמשים את מרכז הנתונים הזה. כתובות ה-IP או שמות ה-DNS חייבים להיות רשומים באותו סדר בכל הצמתים שלzoKeeper.

    בהתקנה יחידה של מרכז נתונים, אלה הם אותם הצמתים שצוינו על ידי ZK_HOSTS. בסביבה מרובת-נתונים של מרכז נתונים, צריך לרשום רק את הצמתים שלzoKeeper במרכז הנתונים הזה.

שינוי קובץ התצורה כדי להוסיף את שלושת הצמתים החדשים שלzoKeeper

בדוגמה הזו, שלושת הצמתים החדשים שלzoKeeper נמצאים בכתובות ה-IP הבאות:

  • 10.10.0.14
  • 10.10.0.15
  • 10.10.0.16

כדי להוסיף את הצמתים החדשים, קודם צריך לעדכן את קובץ התצורה של Edge:

IP1=10.10.0.1
IP2=10.10.0.2
IP3=10.10.0.3
# Add the new node IP addresses.
IP14=10.10.0.14
IP15=10.10.0.15
IP16=10.10.0.16
HOSTIP=$(hostname -i)
ADMIN_EMAIL=opdk@google.com
...
# Update ZK_HOSTS to add each new node after an existing nodes.
ZK_HOSTS="$IP1 $IP2 $IP3 $IP14 $IP15 $IP16:observer"
# Update ZK_Client_HOSTS to add each new node after an existing nodes.
ZK_CLIENT_HOSTS="$IP1 $IP2 $IP3 $IP14 $IP15 $IP16"

יש לסמן את הצומת האחרון ב-ZK_HOSTS באמצעות המגביל :observer. צמתים ללא המאפיין :observer נקראים "מצביעים". צריך להיות לך מספר אי-זוגי של "מצביעים" בהגדרה. לכן, בתצורה הזו יש 5 מצביעים ב-ZooKeeper וצופה אחד.

חשוב להוסיף את הצמתים ל-ZK_HOSTS וגם ל-ZK_CLIENT_HOSTS באותו סדר. עם זאת, יש להשמיט את הערך של :observer כשמגדירים את ZK_CLIENT_HOSTS.

הגדרת Edge

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

התקנתzoKeeper בצמתים החדשים

  1. מתקינים את apigee-setup בצומת הראשון, כמו שמתואר בהתקנה של כלי השירות Edge apigee-setup.
  2. מתקינים אתzoKeeper בצומת הראשון באמצעות הפקודות הבאות:
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper install
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper setup -f updatedConfigFile
  3. חוזרים על שלבים 1 ו-2 עבור שאר הצמתים החדשים ב-zoKeeper.

הגדרה מחדש של צמתים קיימים של zoKeeper

בצמתים הקיימים שלzoKeeper:

  1. מריצים מחדש את פקודת ההגדרה עם קובץ התצורה החדש:
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper setup -f updatedConfigFile

הפעלה מחדש של כל הצמתים שלzokeeper

בכל הצמתים שלzoKeeper:

  1. מפעילים מחדש את הצומת:
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart

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

הגדרה מחדש של הצומת של שרת הניהול

בצומת שרת הניהול:

  1. מריצים את פקודת ההגדרה:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server setup -f updatedConfigFile
  2. מפעילים מחדש את שרת הניהול:
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

הגדרה מחדש של כל הנתבים

בכל צומתי הנתב:

  1. מריצים את פקודת ההגדרה:
    /opt/apigee/apigee-service/bin/apigee-service edge-router setup -f updatedConfigFile
  2. מפעילים מחדש את הנתב:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart

הגדרה מחדש של כל מעבדי ההודעות

בכל הצמתים של מעבד ההודעות:

  1. מריצים את פקודת ההגדרה:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor setup -f updatedConfigFile
  2. מפעילים מחדש את מעבד ההודעות:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

הגדרה מחדש של כל צומתי ה-Qpid

בכל צומתי Qpid:

  1. מריצים את פקודת ההגדרה:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server setup -f updatedConfigFile
  2. הפעלה מחדש של Qpid:
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart

הגדרה מחדש של כל צומתי Postgres

בכל צומתי Postgres:

  1. מריצים את פקודת ההגדרה:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server setup -f updatedConfigFile
  2. מפעילים מחדש את Postgres:
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart

אימות ההתקנה

ניתן לוודא את ההתקנה של צומתי גן החיות החדשים על ידי שליחת פקודות ליציאה 2181 באמצעות netcat (nc) או telnet. מידע נוסף על הפקודות שלZooKeeper זמין כאן: http://zookeeper.apache.org/doc/r3.1.2/zookeeperAdmin.html#sc_zkCommands.

כדי לאמת:

  1. אם הוא לא מותקן בצומתzoKeeper, מתקינים את nc:
    sudo yum install nc
  2. מריצים את פקודת ה-nc הבאה:
    echo stat | nc localhost 2181
  3. חוזרים על שלבים 1 ו-2 בכל צומת שלzoKeeper. בשורה Mode של הפלט של הצמתים, צריך להגדיר צומת אחד כצופה, צומת אחד מוביל ואת השאר כעוקבים.