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

במסמך זה מוסבר איך להוסיף שלושה צמתים חדשים של 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 בצמתים החדשים.

בכל צומת חדש של 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, ציון שם האזור שיהיה מרכז הנתונים שבה מוסיפים את הצומת (dc-1, dc-2 וכן הלאה). בדוגמה הזו, הכתובת 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 [-u username -pw password] -h nodeIP describecluster

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

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