במסמך הזה מוסבר איך להוסיף שלושה צומתי 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 צריכים להופיע באותו סדר בכל צומתי ZooKeeper. בסביבה עם כמה מרכזי נתונים, צריך לציין את כל צומתי ZooKeeper משני מרכזי הנתונים.-
ZK_CLIENT_HOSTSמציין את כתובות ה-IP או שמות ה-DNS של צומתי ZooKeeper שבהם משתמש מרכז הנתונים הזה. כתובות ה-IP או שמות ה-DNS צריכים להופיע באותו סדר בכל צומתי ZooKeeper.בהתקנה של מרכז נתונים יחיד, אלה אותם צמתים שצוינו על ידי
ZK_HOSTS. בסביבה עם כמה מרכזי נתונים, צריך לציין רק את צומתי ZooKeeper במרכז הנתונים הזה.
שינוי קובץ התצורה כדי להוסיף את שלושת הצמתים החדשים של ZooKeeper
בדוגמה הזו, שלושת הצמתים החדשים של ZooKeeper נמצאים בכתובות ה-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 בצמתים החדשים
- מתקינים את
apigee-setupבצומת הראשון, כמו שמתואר בקטע התקנת כלי השירות apigee-setup של Edge. - מתקינים את ZooKeeper בצומת הראשון באמצעות הפקודות הבאות:
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper install
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper setup -f updatedConfigFile - חוזרים על שלבים 1 ו-2 בשאר צומתי ZooKeeper החדשים.
הגדרה מחדש של צומתי ZooKeeper הקיימים
בצמתים הקיימים של ZooKeeper:
- מריצים מחדש את פקודת ההגדרה עם קובץ התצורה החדש:
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper setup -f updatedConfigFile
הפעלה מחדש של כל צומתי Zookeeper
בכל הצמתים של ZooKeeper:
- מפעילים מחדש את הצומת:
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
צריך להפעיל מחדש את כל צומתי ZooKeeper, אבל סדר ההפעלה מחדש לא משנה.
הגדרה מחדש של צומת שרת הניהול
בצומת של שרת הניהול:
- מריצים את פקודת ההגדרה:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server setup -f updatedConfigFile
- מפעילים מחדש את שרת הניהול:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
הגדרה מחדש של כל הנתבים
בכל צומתי הנתב:
- מריצים את פקודת ההגדרה:
/opt/apigee/apigee-service/bin/apigee-service edge-router setup -f updatedConfigFile
- מפעילים מחדש את הנתב:
/opt/apigee/apigee-service/bin/apigee-service edge-router restart
הגדרה מחדש של כל מעבדי הבקשות
בכל הצמתים של מעבדי הבקשות:
- מריצים את פקודת ההגדרה:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor setup -f updatedConfigFile
- מפעילים מחדש את מעבד הבקשות:
/opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
הגדרה מחדש של כל צומתי Qpid
בכל צומתי Qpid:
- מריצים את פקודת ההגדרה:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server setup -f updatedConfigFile
- מפעילים מחדש את Qpid:
/opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
הגדרה מחדש של כל צומתי Postgres
בכל צומתי Postgres:
- מריצים את פקודת ההגדרה:
/opt/apigee/apigee-service/bin/apigee-service edge-postgres-server setup -f updatedConfigFile
- מפעילים מחדש את 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.
כדי לאמת:
- אם הוא לא מותקן בצומת ZooKeeper, מתקינים את nc:
sudo yum install nc
- מריצים את הפקודה הבאה של nc:
echo stat | nc localhost 2181
- חוזרים על שלבים 1 ו-2 בכל צומת ZooKeeper. בשורה
Modeשל הפלט של הצמתים, צומת אחד צריך להיות מוגדר כ-observer, צומת אחד כ-leader והשאר כ-followers.