การเพิ่มโหนด ZooKeeper

เอกสารนี้อธิบายวิธีเพิ่มโหนด ZooKeeper ใหม่ 3 โหนดไปยัง Edge for Private ที่มีอยู่ การติดตั้งระบบคลาวด์

คุณสามารถเพิ่มโหนด ZooKeeper 1 หรือ 2 โหนดไปยังการติดตั้ง Edge ที่มีอยู่ได้ แต่คุณต้อง ตรวจสอบว่าคุณมีโหนดผู้ลงคะแนนของ ZooKeeper เป็นจำนวนคี่เสมอ ดังที่ได้อธิบายไว้ด้านล่าง

การกำหนดค่า Edge ที่มีอยู่

โทโพโลยี Edge ทั้งหมดที่รองรับสำหรับระบบเวอร์ชันที่ใช้งานจริง ระบุให้ใช้ ZooKeeper 3 รายการ กำหนดโหนดทั้ง 3 โหนดให้กับ 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 ใหม่ทั้ง 3 โหนด

ในตัวอย่างนี้ โหนด ZooKeeper ใหม่ทั้ง 3 โหนดอยู่ที่ที่อยู่ 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 "ผู้โหวต" คุณต้องมี "ผู้โหวต" จำนวนคี่ ในการกำหนดค่า ดังนั้นในกรณีนี้ คุณมีผู้โหวตใน ZooKeeper 5 คน และผู้สังเกตการณ์ 1 คน

ตรวจสอบว่าได้เพิ่มโหนดให้กับทั้ง ZK_HOSTS และ ZK_CLIENT_HOSTS ในคำสั่งซื้อเดียวกัน อย่างไรก็ตาม ละเว้นตัวแก้ไข :observer เมื่อตั้งค่า ZK_CLIENT_HOSTS

กำหนดค่า Edge

หลังจากแก้ไขไฟล์การกำหนดค่าแล้ว คุณต้องทำงานต่อไปนี้ทั้งหมด

ติดตั้ง ZooKeeper บนโหนดใหม่

  1. ติดตั้ง apigee-setup ในโหนดแรกตามที่อธิบายไว้ใน ติดตั้งยูทิลิตีการตั้งค่า Apigee ของ 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. เรียกใช้คำสั่งการตั้งค่าอีกครั้งด้วยไฟล์การกำหนดค่าใหม่
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper setup -f updatedConfigFile

รีสตาร์ทโหนด Zookeeper ทั้งหมด

ในโหนด ZooKeeper ทั้งหมด:

  1. รีสตาร์ทโหนด
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart

    คุณต้องรีสตาร์ทโหนด ZooKeeper ทั้งหมด แต่ลำดับการรีสตาร์ทจะไม่มีผล

กำหนดค่าเซิร์ฟเวอร์การจัดการใหม่ โหนด

ในโหนดเซิร์ฟเวอร์การจัดการ ให้ทำดังนี้

  1. เรียกใช้คำสั่งการตั้งค่า
    /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. เรียกใช้คำสั่งการตั้งค่า
    /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 edge-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 ของเอาต์พุตสำหรับ โหนดหนึ่งโหนดควรกำหนดเป็นผู้สังเกตการณ์ โหนดหนึ่งเป็นผู้นำ และอีกโหนดหนึ่งเป็น คนติดตามอยู่