הוספת צמתים של קסנדרה

Edge for Private Cloud גרסה 4.19.01

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

אפשר להוסיף צומת Cassandra להתקנת Edge קיימת, אבל ההמלצה של Apigee היא להוסיף שלושה צמתים בכל פעם.

במאמר דרישות התקנה תוכלו למצוא רשימה של דרישות המערכת לצומת של Cassandra.

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

בכל הטופולוגיות הנתמכות של Edge במערכת ייצור נעשה שימוש בשלושה צומתי Cassandra. שלושת הצמתים מצוינים למאפיין CASS_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"
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1 $IP2:1,1 $IP3:1,1" 
SKIP_SMTP=n
SMTPHOST=smtp.example.com
SMTPUSER=smtp@example.com
SMTPPASSWORD=smtppwd

הערה: המאפיין REGION מציין את שם האזור כ-"dc-1". הפרטים האלה נחוצים כשמוסיפים את הצמתים החדשים של Cassandra.

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

בדוגמה הזו, שלושת הצמתים החדשים של Cassandra נמצאים בכתובות ה-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 CASS_HOSTS to add each new node after an existing nodes. 
# Must use IP addresses for CASS_HOSTS, not DNS names.
CASS_HOSTS="$IP1:1,1 $IP14:1,1 $IP2:1,1 $IP15:1,1 $IP3:1,1 $IP16:1,1" 

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

הגדרת Edge

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

  • הגדרה מחדש של צומתי Cassandra הקיימים
  • התקנת Cassandra בצמתים החדשים
  • הגדרה מחדש של שרת הניהול

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

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

  1. מפעילים מחדש את setup.sh עם פרופיל "-p c" וקובץ התצורה החדש:
    /opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile

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

בכל צומת Cassandra חדשים:

  1. מתקינים את Cassandra בשלושת הצמתים:
    1. מתקינים את apigee-setup בצומת הראשון, כפי שמתואר בהתקנה של כלי השירות Edge apigee-setup.
    2. מתקינים את Cassandra בצומת הראשון באמצעות קובץ התצורה המעודכן:
      /opt/apigee/apigee-setup/bin/setup.sh -p c -f updatedConfigFile
    3. חוזרים על שני השלבים האלה עבור שאר הצמתים החדשים של Cassandra.
  2. יוצרים מחדש את שלושת צומתי Cassandra החדשים, ומציינים את שם האזור שהוגדר בקובץ התצורה על ידי הנכס REGION. בדוגמה הזו, הערך הוא 'dc-1':
    1. בצומת הראשון, מריצים את:
      /opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h nodeIP rebuild dc-1

      כאשר nodeIP היא כתובת ה-IP של צומת Cassandra.

      יש להעביר את שם המשתמש והסיסמה רק אם הפעלתם אימות JMX עבור Cassandra.

    2. חוזרים על השלב הזה בשאר הצמתים החדשים של Cassandra.

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

בצומת Management-Server

  1. הפעילו מחדש את setup.sh כדי לעדכן את שרת הניהול עבור צומתי Cassandra החדשים שנוספו:
    /opt/apigee/apigee-setup/bin/setup.sh -p ms -f updatedConfigFile

הפעלה מחדש של כל הנתבים ומעבדי ההודעות

  1. בכל הנתבים:
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
  2. בכל מעבדי ההודעות:
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart

שטח פנוי בכונן בצמתים קיימים של Cassandra

אחרי שמוסיפים צומת חדש, אפשר לפנות מקום בכונן באמצעות הפקודה nodetool cleanup בצמתים הקיימים. הפקודה הזו מסירה אסימוני תצורה שכבר לא נמצאים בבעלות של צומת Cassandra הקיים.

כדי לפנות מקום בכונן בצמתים קיימים של Cassandra אחרי שמוסיפים צומת חדש, מריצים את הפקודה הבאה:

/opt/apigee/apigee-cassandra/bin/nodetool [-u username -pw password] -h cassandraIP cleanup

יש להעביר את שם המשתמש והסיסמה רק אם הפעלתם אימות JMX עבור Cassandra.

אימות היצירה מחדש

כדי לוודא שהבנייה מחדש הצליחה, יש להשתמש בפקודות הבאות:

nodetool [-u username -pw password] -h nodeIP netstats

הפקודה הזו אמורה לציין את הערך MODE: Normal כשהצומת נמצא והאינדקסים נוצרים.

nodetool [-u username -pw password] -h nodeIP statusthrift

ההודעה אמורה לציין ששרת האימות פועל, ולכן ל-Cassandra אפשר לקבל בקשות של לקוחות חדשים.

nodetool [-u username -pw password] -h nodeIP statusbinary

צריך לציין שההעברה המקורית (או הפרוטוקול הבינארי) פועלת.

nodetool describecluster

אמור להופיע שצמתים חדשים משתמשים באותה גרסת סכימה כמו הצמתים הישנים יותר.

למידע נוסף על השימוש ב-nodetool, עיינו בתיעוד השימוש ב-nodetool.