การย้ายเซิร์ฟเวอร์ Apigee

Edge สำหรับ Private Cloud เวอร์ชัน 4.19.01

การย้ายคอมโพเนนต์จากเครื่องหนึ่งไปยังอีกเครื่องหนึ่งอาจทำให้เกิดการกำหนดค่าไม่ตรงกัน หากคุณไม่ซิงค์ที่อยู่ IP ในไฟล์การกำหนดค่าคอมโพเนนต์

ส่วนนี้จะอธิบายวิธีการวินิจฉัยและแก้ไขการกำหนดค่าที่ไม่ตรงกัน

ที่อยู่ IP กับชื่อโฮสต์

คุณควรใช้ที่อยู่ IP แทนชื่อโฮสต์ในไฟล์การกำหนดค่าคอมโพเนนต์

แม้ว่าไฟล์การกำหนดค่าคอมโพเนนต์บางไฟล์จะอนุญาตให้คุณใช้ชื่อโฮสต์แทนที่อยู่ IP แต่การใช้ชื่อโฮสต์อาจทําให้การแก้ปัญหามีความซับซ้อนได้ เช่น ชื่อโฮสต์อาจเป็นต้นตอของปัญหาที่เกี่ยวข้องกับการเชื่อมต่อเซิร์ฟเวอร์ DNS, การค้นหาล้มเหลว และการซิงค์ข้อมูล

ด้วยเหตุนี้ Apigee จึงขอแนะนำให้ใช้ที่อยู่ IP สำหรับการกำหนดค่าคอมโพเนนต์ทั้งหมด ในบางกรณี เช่น เมื่อใช้ Cassandra คุณจะต้องใช้ที่อยู่ IP และจะใช้ชื่อโฮสต์ไม่ได้ ตัวอย่างส่วนใหญ่ในเอกสารใช้ที่อยู่ IP สำหรับการกำหนดค่าคอมโพเนนต์

สำหรับชื่อโฮสต์และที่อยู่ IP ให้พิจารณาผลที่ตามมาจากสถานการณ์ต่อไปนี้เมื่อย้ายเซิร์ฟเวอร์ Apigee

สถานการณ์ ผลกระทบต่อเซิร์ฟเวอร์ที่ย้าย
การเปลี่ยนแปลงที่อยู่ IP อัปเดตไฟล์ที่เกี่ยวข้องทั้งหมดที่อ้างอิงที่อยู่ IP เดิม
เปลี่ยนชื่อโฮสต์โดยไม่เปลี่ยนที่อยู่ IP ไม่ได้ส่งผลอะไร
เปลี่ยนชื่อโฮสต์โดยมีการเปลี่ยนแปลงที่อยู่ IP เหมือนกับการเปลี่ยนแปลงที่อยู่ IP

การเปลี่ยนที่อยู่ IP ของโหนด Cassandra

หากต้องการเปลี่ยนที่อยู่ IP ของโหนด Cassandra ให้ทำตามขั้นตอนต่อไปนี้

สำหรับการกำหนดค่าที่มีโหนด Cassandra เดี่ยว

  1. แก้ไข /opt/apigee/customer/application/cassandra.properties ในระบบที่กำลังแก้ไข หากไม่มีไฟล์ ให้สร้างขึ้นมา
  2. เปลี่ยนพารามิเตอร์ต่อไปนี้
    • ตั้งค่าพารามิเตอร์ conf_cassandra_seeds และ conf_cassandra_listen_address เพื่อระบุที่อยู่ IP ใหม่ของระบบ
    • เปลี่ยน conf_cassandra_rpc_address เพื่อใช้ที่อยู่ IP ใหม่หรือ 0.0.0.0 (ซึ่งอนุญาตให้ Cassandra Thrift รับฟังได้บนอินเทอร์เฟซทั้งหมด)
  3. เปิด /opt/apigee/apigee-cassandra/conf/cassandra-topology.properties ในเครื่องมือแก้ไข คุณควรเห็นที่อยู่ IP เดิมและการตั้งค่าเริ่มต้นในแบบฟอร์ม:
    192.168.56.101=dc-1:ra-1
    default=dc-1:ra-1

    บันทึกข้อมูลนั้น

  4. แก้ไข /opt/apigee/customer/application/cassandra.properties เพื่อเปลี่ยนที่อยู่ IP เก่าที่ระบุเป็นที่อยู่ IP ใหม่:
    conf_cassandra-topology_topology=192.168.56.103=dc-1:ra-1\ndefault=dc-1:ra-1\n

    ตรวจสอบว่าคุณแทรก "\n" หลังที่อยู่ IP และกำหนดการตั้งค่าเริ่มต้นเหมือนกับที่คุณระบุไว้ข้างต้นในขั้นตอนที่ 3

  5. รีสตาร์ท Cassandra โดยทําดังนี้
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. หากจำเป็นให้ซ่อมแซม ZooKeeper (ดูด้านล่าง) ให้รีสตาร์ทคอมโพเนนต์แพลตฟอร์ม Apigee ทั้งหมดโดยเริ่มต้นจากเซิร์ฟเวอร์การจัดการ

สำหรับการกำหนดค่าที่มีโหนด Cassandra หลายรายการ (วงแหวน)

  1. หากโหนดที่เปลี่ยนแปลงเป็นโหนดตั้งต้น ให้แก้ไขไฟล์ /opt/apigee/customer/application/cassandra.properties ในแต่ละระบบในริงและเปลี่ยนพารามิเตอร์ conf_cassandra_seeds ให้รวม IP ใหม่ของระบบที่แก้ไข หากไม่มีไฟล์ cassandra.properties ให้สร้างขึ้นมา
  2. แก้ไข /opt/apigee/customer/application/cassandra.properties ในระบบที่กําลังแก้ไขและเปลี่ยนพารามิเตอร์ต่อไปนี้
    • ตั้งค่า conf_cassandra_listen_address เพื่อใช้ที่อยู่ IP ใหม่
    • ตั้งค่า conf_cassandra_rpc_address เพื่อใช้ที่อยู่ IP ใหม่หรือ "0.0.0.0" (ซึ่งอนุญาตให้ Cassandra Thrift ฟังอินเทอร์เฟซทั้งหมด)
  3. เปิด /opt/apigee/apigee-cassandra/conf/cassandra-topology.properties ในเครื่องมือแก้ไข คุณควรเห็นที่อยู่ IP และการตั้งค่าเริ่มต้นทั้งหมดของ Cassandra ในแบบฟอร์ม:
    192.168.56.101=dc-1:ra-1
    192.168.56.102=dc-1:ra-1
    192.168.56.103=dc-1:ra-1
    default=dc-1:ra-1

    บันทึกข้อมูลนั้น

  4. แก้ไข /opt/apigee/customer/application/cassandra.properties เพื่อเปลี่ยนที่อยู่ IP เก่าที่ระบุเป็นที่อยู่ IP ใหม่:
    conf_cassandra-topology_topology=192.168.56.101=dc-1:ra-1\n192.168.56.102=dc-1:ra-1\n192.168.56.104=dc-1:ra-1\ndefault=dc-1:ra-1\n

    ตรวจสอบว่าคุณแทรก "\n" หลังที่อยู่ IP แต่ละรายการ และใช้การตั้งค่าเริ่มต้นเดียวกันกับที่บันทึกไว้ด้านบนในขั้นตอนที่ 3

  5. รีสตาร์ท Cassandra ในระบบที่แก้ไขแล้ว หากระบบที่แก้ไขเป็นโหนดตั้งต้น ให้รีสตาร์ทแต่ละระบบที่ใช้โหนดเริ่มต้นที่แก้ไขแล้วด้วย
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
  6. เรียกใช้คำสั่ง nodetool ring ในโหนดที่แก้ไขเพื่อให้การสร้างวงแหวนเสร็จสมบูรณ์ ดูยูทิลิตีได้ที่ /opt/apigee/apigee-cassandra/bin
    nodetool [-u username -pw password] -h localhost ring

    คุณจะต้องส่งชื่อผู้ใช้และรหัสผ่านต่อเมื่อเปิดใช้การตรวจสอบสิทธิ์ JMX สำหรับ Cassandra เท่านั้น

  7. เรียกใช้ nodetool repair ในโหนดที่แก้ไขแล้ว โปรดทราบว่ากระบวนการนี้อาจใช้เวลาสักครู่ เราจึงแนะนำว่าไม่ควรดำเนินการในช่วงที่มีการรับส่งข้อมูล API สูงสุด
    nodetool [-u username -pw password] -h localhost repair -pr
  8. หากจำเป็น ให้ซ่อมแซม ZooKeeper (ดูด้านล่าง) จากนั้นรีสตาร์ทคอมโพเนนต์แพลตฟอร์ม Apigee ทั้งหมดโดยเริ่มจากเซิร์ฟเวอร์การจัดการ

อัปเดตการลงทะเบียนพื้นที่เก็บข้อมูล

  1. ค้นหา UUID ของการจดทะเบียนพื้นที่เก็บข้อมูลที่ระบุที่อยู่ IP เก่าได้โดยใช้คำสั่งด้านล่าง จดพารามิเตอร์ "type" และ "UUID" ไว้
    • curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=central&region=DC" | egrep -i '[type|internalip|uuid|region]'
    • curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=gateway&region=DC" | egrep -i '[type|internalip|uuid|region]'
    • curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=analytics&region=DC" | egrep -i '[type|internalip|uuid|region]'

      โดย DC คือชื่อศูนย์ข้อมูล ในการติดตั้งศูนย์ข้อมูลเดียว ค่าโดยทั่วไปจะเป็น "dc-1"

  2. ลงทะเบียนที่อยู่ IP ใหม่โดยใช้คำสั่งอย่างใดอย่างหนึ่งด้านล่าง คำสั่งที่ต้องใช้จะขึ้นอยู่กับประเภทของโหนดที่เปลี่ยนแปลง
    • สำหรับ type="application-datastore":
      curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers -d \
        "Type=application-datastore&Type=audit-datastore&InternalIP=NEWIP&region=REGION&pod=central" \
        -H 'content-type: application/x-www-form-urlencoded' -X POST
    • สำหรับ type="kms-datastore":
      curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers -d \
        "Type=kms-datastore&Type=dc-datastore&Type=keyvaluemap-datastore&Type=counter-datastore&Type=cache-datastore \
        &InternalIP=NEWIP&region=REGION&pod=GATEWAY_POD" -H 'content-type: \
        application/x-www-form-urlencoded' -X POST
    • สำหรับ type="reportcrud-datastore":
      curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers" -d \
        "Type=reportcrud-datastore&InternalIP=NEW_IP&region=REGION&pod=analytics" \
        -H 'content-type: application/x-www-form-urlencoded' -X POST 
  3. ลบการจดทะเบียนเก่าสำหรับ UUID ของระบบที่มีการเปลี่ยนแปลงที่อยู่ IP สำหรับแต่ละปัญหา UUID ต่อไปนี้
    curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers/OLD_UUID" -X DELETE

การเปลี่ยนที่อยู่ IP ของโหนด ZooKeeper

ทำตามขั้นตอนด้านล่างเพื่อเปลี่ยนที่อยู่ IP ของโหนด ZooKeeper

เปลี่ยนที่อยู่ IP และรีสตาร์ทชุด ZooKeeper (สำหรับการกำหนดค่าชุดโหนดหลายโหนดเท่านั้น)

  1. เปิด /opt/apigee/apigee-zookeeper/conf/zoo.cfg ในเครื่องมือแก้ไข คุณควรเห็นที่อยู่ IP ของ ZooKeeper และการตั้งค่าเริ่มต้นทั้งหมดในแบบฟอร์ม:
    server.1=192.168.56.101:2888:3888
    server.2=192.168.56.102:2888:3888
    server.3=192.168.56.103:2888:3888

    บันทึกข้อมูลนั้น

  2. ในแต่ละโหนด ZooKeeper ให้แก้ไขไฟล์ /opt/apigee/customer/application/zookeeper.properties ไฟล์เพื่อตั้งค่าพร็อพเพอร์ตี้ conf_zoo_quorum เป็นที่อยู่ IP ที่ถูกต้อง หากไม่มี ให้สร้างไฟล์ดังกล่าว
    conf_zoo_quorum=server.1=192.168.56.101:2888:3888\nserver.2=192.168.56.102:2888:3888\nserver.3=192.168.56.104:2888:3888\n

    โปรดตรวจสอบว่าคุณแทรก "\n" หลังที่อยู่ IP แต่ละรายการ และรายการที่อยู่ในลำดับเดียวกันในทุกโหนด

  3. ค้นหาผู้นำของชุด ZooKeeper โดยใช้คำสั่งต่อไปนี้ (แทนที่ node ด้วยที่อยู่ IP ของเครื่อง Zookeeper)
    echo srvr | nc node 2181

    บรรทัดโหมดในเอาต์พุตควรเป็น "ผู้นำ"

  4. รีสตาร์ท ZooKeeper อีกครั้งหลังจากอีกตัวหนึ่งขึ้นต้นด้วยผู้นำและลงท้ายด้วยโหนดที่มีการเปลี่ยนแปลงที่อยู่ IP หากมีโหนด Zookeeper มากกว่า 1 รายการเปลี่ยนที่อยู่ IP คุณอาจจำเป็นต้องรีสตาร์ทโหนดทั้งหมด
    /opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
  5. ใช้คำสั่ง echo ที่อธิบายไว้ข้างต้นเพื่อยืนยันโหนด ZooKeeper แต่ละรายการ

แจ้งโหนด Apigee ของการกำหนดค่าที่เปลี่ยนแปลง

  1. ที่โหนดเราเตอร์แต่ละโหนด ให้แก้ไขไฟล์ /opt/apigee/customer/application/router.properties ดังนี้ หากไม่มีไฟล์ ให้สร้างขึ้นมา
    • เปลี่ยนพารามิเตอร์ conf_zookeeper_connection.string ให้รวมที่อยู่ IP ใหม่
    • เปลี่ยนพารามิเตอร์ conf_zookeeper_zk1.host ให้รวมที่อยู่ IP ใหม่
  2. ในโหนดตัวประมวลผลข้อความทุกโหนด ให้แก้ไขไฟล์ /opt/apigee/customer/application/message-processor.properties ดังนี้ หากไม่มีไฟล์ ให้สร้างขึ้นมา
    • เปลี่ยนพารามิเตอร์ conf_zookeeper_connection.string ให้รวมที่อยู่ IP ใหม่
    • เปลี่ยนพารามิเตอร์ conf_zookeeper_zk1.host ให้รวมที่อยู่ IP ใหม่
  3. ในโหนดของเซิร์ฟเวอร์การจัดการ ให้แก้ไขไฟล์ /opt/apigee/customer/application/management-server.properties ดังนี้ หากไม่มีไฟล์ ให้สร้างขึ้นมา
    • เปลี่ยนพารามิเตอร์ conf_zookeeper_connection.string ให้รวมที่อยู่ IP ใหม่
    • เปลี่ยนพารามิเตอร์ conf_zookeeper_zk1.host ให้รวมที่อยู่ IP ใหม่
  4. รีสตาร์ทคอมโพเนนต์แพลตฟอร์ม Apigee ทั้งหมดโดยเรียกใช้คำสั่งต่อไปนี้ในแต่ละโหนด
    /opt/apigee/apigee-service/bin/apigee-all restart

การเปลี่ยนที่อยู่ IP ของเซิร์ฟเวอร์ LDAP (OpenLDAP)

หากต้องการเปลี่ยนที่อยู่ IP ของโหนด OpenLDAP ให้ทำดังนี้

  1. แก้ไขไฟล์ /opt/apigee/customer/application/management-server.properties ในโหนดเซิร์ฟเวอร์การจัดการ หากไม่มีไฟล์ ให้สร้างขึ้นมา
  2. ในไฟล์ management-server.properties ให้ตั้งค่าพารามิเตอร์ conf_security_ldap.server.host เป็นที่อยู่ IP ใหม่
  3. รีสตาร์ทเซิร์ฟเวอร์การจัดการโดยทำดังนี้
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart

การเปลี่ยนที่อยู่ IP ของโหนด Apigee ประเภทอื่นๆ

หากต้องการเปลี่ยนที่อยู่ IP ของโหนดประเภทต่างๆ ต่อไปนี้ (Router, Message Processor, Postgres Server (ไม่ใช่ postgresql) และ Qpid Server (ไม่ใช่ qpidd) ให้ทำดังนี้

  1. ใช้คำสั่ง curl ต่อไปนี้เพื่อลงทะเบียนที่อยู่ IP ภายในและภายนอกใหม่
    curl -u ADMINEMAIL:PW -X PUT \
      http://MSIP:8080/v1/servers/uuid -d ExternalIP=ip
    curl -u ADMINEMAIL:PW -X PUT \
      http://$MSIP:8080/v1/servers/uuid -d InternalIP=ip

    โดย uuid คือ UUID ของโหนด

โปรดดูวิธีรับ UUID ของคอมโพเนนต์ที่หัวข้อรับ UUID