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

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.
    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.

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

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

  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 כשהצומת למעלה והאינדקסים של BERT.

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

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

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

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

nodetool describecluster

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

מידע נוסף על השימוש ב-nodetool זמין במאמר מסמכי תיעוד השימוש ב-nodetool.