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

การย้ายคอมโพเนนต์จากเครื่องหนึ่งไปยังอีกเครื่องหนึ่งอาจทําให้การกําหนดค่าไม่ตรงกันหากคุณไม่ซิงค์ที่อยู่ 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 โดยเริ่มจาก Management Server

สําหรับการกําหนดค่าที่มีโหนด 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 ในระบบที่แก้ไขแล้ว หากระบบที่แก้ไขเป็นโหนดต้นทาง ให้รีสตาร์ทระบบแต่ละระบบที่ใช้โหนดต้นทางที่แก้ไขด้วย
    /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