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

Edge for Private Cloud v4.18.01

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

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

הגדרת Edge קיימת

בכל הטופולוגיות שנתמכות של Edge במערכת ייצור נעשה שימוש בשלושה צמתים ב-ZooKeeper. שלושת הצמתים מצוינים במאפיינים 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 צריכים להיות רשומים באותו סדר בכל הצמתים של ZoomKeeper.

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

שינוי קובץ התצורה כדי להוסיף את שלושת הצמתים החדשים של 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

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

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

  1. מתקינים את apigee-setup בצומת הראשון, כפי שמתואר בקטע התקנת הכלי apigee-setup ב-Edge.
  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.

הגדרה מחדש של הצמתים הקיימים ב-zooKeeper

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

  1. מריצים מחדש את פקודת ההגדרה עם הפרופיל -p c וקובץ התצורה החדש:
    > /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

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

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

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

  1. מריצים את הפקודה setup:
    > /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. מריצים את הפקודה setup:
    > /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 dge-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. מידע נוסף על פקודות ZooKeeper זמין בכתובת: http://zookeeper.apache.org/doc/r3.1.2/zookeeperAdmin.html#sc_zkCommands.

כדי לאמת:

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