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

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

    บรรทัดโหมดในเอาต์พุตควรระบุว่า "leader"

  4. รีสตาร์ท ZooKeeper หนึ่งตามหลังอีกตัวหนึ่งโดยเริ่มจากตัวนำและจบด้วยโหนดใน ที่อยู่ IP ที่ถูกเปลี่ยนแปลง หากมีโหนดผู้ดูแลสวนสัตว์มากกว่า 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 เซิร์ฟเวอร์ (ไม่ใช่ postgresql) และเซิร์ฟเวอร์ Qpid (ไม่ใช่ 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