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

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

אפשר להוסיף צומת ZoomKeeper אחד או שניים להתקנה קיימת של 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 של צמתים של ZooKeeper. כתובות ה-IP או שמות ה-DNS חייב להיות רשום באותו סדר בכל הצמתים של ZoomKeeper. בסביבה עם כמה מרכזי נתונים, עליכם לרשום את כל צמתי ZooKeeper משני מרכזי הנתונים.
  • ZK_CLIENT_HOSTS מציין את כתובות ה-IP או שמות ה-DNS של צמתים של ZooKeeper שבהם משתמש מרכז הנתונים הזה. כתובות ה-IP או שמות ה-DNS חייבים להופיע באותו סדר בכל צמתים של ZooKeeper.

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

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

בדוגמה הזו, שלושת הצמתים החדשים של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

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

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

  1. התקנת apigee-setup בצומת הראשון כפי שמתואר ב- התקנת כלי ההגדרה של Edge apigee-setup.
  2. מתקינים את ZooKeeper בצומת הראשון באמצעות הפקודות הבאות:
    /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 עבור הצמתים החדשים הנותרים ב-ZooKeeper.

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

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

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

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

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

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

    עליך להפעיל מחדש את כל הצמתים של ZoomKeeper, אבל סדר ההפעלה מחדש לא משנה.

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

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

  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

בדיקת ההתקנה

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

כדי לאמת:

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