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

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

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

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

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

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

שינוי קובץ התצורה להוספה שלושת הצמתים החדשים ב-ZooKeeper

בדוגמה הזו, שלושת הצמתים החדשים של ZoomKeeper נמצאים בכתובות ה-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. מתקינים את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 עבור הצמתים החדשים הנותרים ב-ZooKeeper.

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

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

  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. מידע נוסף על הפקודות שלzoKeeper זמין בכתובת: http://zookeeper.apache.org/doc/r3.1.2/zookeeperAdmin.html#sc_zkCommands

כדי לאמת:

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