การย้ายคอมโพเนนต์จากเครื่องหนึ่งไปยังอีกเครื่องอาจทำให้เกิดการกำหนดค่าไม่ตรงกันในกรณีต่อไปนี้ คุณไม่ได้ทำให้ที่อยู่ IP ในไฟล์การกำหนดค่าคอมโพเนนต์ซิงค์กัน
ส่วนนี้จะอธิบายวิธีการวินิจฉัยและแก้ไขการกำหนดค่าที่ไม่ตรงกัน
ที่อยู่ IP กับชื่อโฮสต์
คุณควรใช้ที่อยู่ IP แทนชื่อโฮสต์ในไฟล์การกำหนดค่าคอมโพเนนต์
ในขณะที่ไฟล์การกำหนดค่าคอมโพเนนต์บางไฟล์อนุญาตให้คุณใช้ชื่อโฮสต์ได้ การใช้ชื่อโฮสต์อาจยุ่งยากและซับซ้อนในการแก้ปัญหา เช่น ชื่อโฮสต์ อาจเป็นแหล่งที่มาของปัญหาที่เกี่ยวข้องกับการเชื่อมต่อเซิร์ฟเวอร์ DNS ความล้มเหลวในการค้นหา การซิงค์ข้อมูล
Apigee จึงขอแนะนำให้ใช้ที่อยู่ IP สำหรับทุกคอมโพเนนต์ การกำหนดค่าเอง ในบางกรณี เช่น การใช้ Cassandra คุณต้องใช้ที่อยู่ IP และ ชื่อโฮสต์ ตัวอย่างในเอกสารประกอบส่วนใหญ่ใช้ที่อยู่ IP ในการกำหนดค่าคอมโพเนนต์
สําหรับชื่อโฮสต์และที่อยู่ IP ให้พิจารณาผลกระทบจากสถานการณ์ต่อไปนี้ เมื่อย้ายเซิร์ฟเวอร์ Apigee
สถานการณ์ | ผลกระทบต่อการย้ายเซิร์ฟเวอร์ |
---|---|
การเปลี่ยนแปลงที่อยู่ IP | อัปเดตไฟล์ที่เกี่ยวข้องทั้งหมดซึ่งอ้างอิงที่อยู่ IP เดิม |
การเปลี่ยนชื่อโฮสต์โดยไม่เปลี่ยนที่อยู่ IP | ไม่ได้ส่งผลอะไร |
ชื่อโฮสต์เปลี่ยนแปลงพร้อมเปลี่ยนที่อยู่ IP | เหมือนกับการเปลี่ยนแปลงที่อยู่ IP |
การเปลี่ยนที่อยู่ IP ของโหนด Cassandra
หากต้องการเปลี่ยนที่อยู่ IP ของโหนด Cassandra ให้ทำตามขั้นตอนต่อไปนี้
สำหรับ การกำหนดค่าด้วยโหนด Cassandra เดี่ยว
- แก้ไข
/opt/apigee/customer/application/cassandra.properties
บนระบบที่กำลังแก้ไข หากไม่มีไฟล์ ให้สร้างขึ้นมา - เปลี่ยนพารามิเตอร์ต่อไปนี้
- ตั้งค่า
conf_cassandra_seeds
และconf_cassandra_listen_address
เพื่อระบุที่อยู่ IP ใหม่ของระบบ - เปลี่ยน
conf_cassandra_rpc_address
ที่จะใช้ ที่อยู่ IP ใหม่หรือ 0.0.0.0 (ซึ่งช่วยให้ Cassandra Thrift ฟังเนื้อหาทั้งหมดได้ อินเทอร์เฟซ)
- ตั้งค่า
- เปิด
/opt/apigee/apigee-cassandra/conf/cassandra-topology.properties
ในเครื่องมือแก้ไข คุณควรเห็นที่อยู่ IP เดิมและการตั้งค่าเริ่มต้นในแบบฟอร์ม:192.168.56.101=dc-1:ra-1 default=dc-1:ra-1
บันทึกข้อมูลนั้น
- แก้ไข
/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 ด้านบน
- รีสตาร์ท Cassandra ด้วยคำสั่งต่อไปนี้
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- หากจำเป็นให้ซ่อมแซม ZooKeeper ด้วย (ดูด้านล่าง) หรือให้รีสตาร์ทแพลตฟอร์ม Apigee ทั้งหมดอีกครั้ง เริ่มต้นด้วยเซิร์ฟเวอร์การจัดการ
สำหรับ การกำหนดค่าด้วยโหนด Cassandra หลายรายการ (ริง)
- หากโหนดที่จะเปลี่ยนคือโหนด Seed ให้แก้ไข
/opt/apigee/customer/application/cassandra.properties
ในแต่ละระบบในริง แล้วเปลี่ยนพารามิเตอร์conf_cassandra_seeds
ให้มี IP ใหม่ของระบบที่แก้ไขแล้ว หากไม่มีไฟล์ cassandra.properties ให้สร้าง ได้ - แก้ไข
/opt/apigee/customer/application/cassandra.properties
ในระบบที่แก้ไข และเปลี่ยนพารามิเตอร์ต่อไปนี้- ตั้งค่า
conf_cassandra_listen_address
ให้ใช้ที่อยู่ IP ใหม่ - ตั้งค่า
conf_cassandra_rpc_address
ให้ใช้ที่อยู่ IP ใหม่หรือ "0.0.0.0" (ซึ่งช่วยให้ Cassandra Thrift ฟังได้บนทุกอินเทอร์เฟซ)
- ตั้งค่า
- เปิด
/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
บันทึกข้อมูลนั้น
- แก้ไข
/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
- รีสตาร์ท Cassandra ในระบบที่แก้ไขแล้ว หากระบบที่แก้ไขแล้วเป็นโหนดตั้งต้น
รีสตาร์ทแต่ละระบบที่ใช้โหนด Seed ที่แก้ไขแล้ว
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- เรียกใช้คำสั่ง
nodetool ring
ในโหนดที่แก้ไขแล้วเพื่อให้แน่ใจว่าเสียงเรียกเข้า เสร็จสมบูรณ์ ยูทิลิตีอยู่ที่/opt/apigee/apigee-cassandra/bin
nodetool [-u username -pw password] -h localhost ring
คุณต้องส่งชื่อผู้ใช้และรหัสผ่านเฉพาะในกรณีต่อไปนี้ เปิดใช้การตรวจสอบสิทธิ์ JMX สำหรับ Cassandra
- เรียกใช้
nodetool repair
ใน โหนดที่แก้ไขแล้ว โปรดทราบว่ากระบวนการนี้อาจใช้เวลาสักครู่ เราจึงขอแนะนำอย่างยิ่ง ซึ่งจะไม่สามารถทำได้ในช่วงเวลาที่มีการรับส่งข้อมูล API สูงสุดnodetool [-u username -pw password] -h localhost repair -pr
- หากจำเป็น ให้ซ่อมแซม ZooKeeper (ดูด้านล่าง) จากนั้นรีสตาร์ทคอมโพเนนต์แพลตฟอร์ม Apigee ทั้งหมดอีกครั้ง เริ่มต้นจากเซิร์ฟเวอร์การจัดการ
อัปเดตพื้นที่เก็บข้อมูล การลงทะเบียน
- ค้นหา UUID ของการลงทะเบียนพื้นที่เก็บข้อมูลที่ระบุที่อยู่ IP เก่าโดยใช้
คำสั่งด้านล่าง จดบันทึก "ประเภท" และ "UUID" ได้แก่
-
curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=central®ion=DC" | egrep -i '[type|internalip|uuid|region]'
-
curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=gateway®ion=DC" | egrep -i '[type|internalip|uuid|region]'
-
curl -u ADMINEMAIL:PW "http://$MSIP:$port/v1/servers?pod=analytics®ion=DC" | egrep -i '[type|internalip|uuid|region]'
โดยที่ DC คือชื่อของศูนย์ข้อมูล ในการติดตั้งศูนย์ข้อมูลหนึ่งๆ ฟิลด์ โดยทั่วไปคือ "dc-1"
-
- ลงทะเบียนที่อยู่ IP ใหม่โดยใช้คำสั่งใดคำสั่งหนึ่งด้านล่างนี้ คำสั่งที่จำเป็นจะ
ขึ้นอยู่กับประเภทของโหนดที่เปลี่ยนแปลง
- สำหรับ type="application-datastore"
curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers -d \ "Type=application-datastore&Type=audit-datastore&InternalIP=NEWIP®ion=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®ion=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®ion=REGION&pod=analytics" \ -H 'content-type: application/x-www-form-urlencoded' -X POST
- สำหรับ type="application-datastore"
- ลบการลงทะเบียนเก่าสำหรับ UUID ของระบบที่ใช้ที่อยู่ IP
มีการเปลี่ยนแปลง สำหรับปัญหา UUID แต่ละรายการเหล่านี้
curl -u ADMINEMAIL:PW "http://MSIP:port/v1/servers/OLD_UUID" -X DELETE
การเปลี่ยนที่อยู่ IP ของโหนด ZooKeeper
ทำตามขั้นตอนด้านล่างเพื่อเปลี่ยนที่อยู่ IP ของโหนด ZooKeeper
เปลี่ยนที่อยู่ IP และรีสตาร์ทชุด ZooKeeper (สำหรับการกำหนดค่าชุดรวมหลายโหนด) เท่านั้น)
- เปิด
/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
บันทึกข้อมูลนั้น
- ในแต่ละโหนด 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 แต่ละรายการ และรายการดังกล่าวเรียงลำดับเหมือนกันใน ทุกโหนด
- หาตัวนำของชุด ZooKeeper โดยใช้คำสั่งต่อไปนี้ (แทนที่
node โดยใช้ที่อยู่ IP ของเครื่อง Zookeeper):
echo srvr | nc node 2181
บรรทัดโหมดในเอาต์พุตควรระบุว่า "leader"
- รีสตาร์ท ZooKeeper หนึ่งตามหลังอีกตัวหนึ่งโดยเริ่มจากตัวนำและจบด้วยโหนดใน
ที่อยู่ IP ที่ถูกเปลี่ยนแปลง หากมีโหนดผู้ดูแลสวนสัตว์มากกว่า 1 โหนดเปลี่ยนที่อยู่ IP โหนดดังกล่าวอาจ
จำเป็นต้องรีสตาร์ทโหนดทั้งหมด
/opt/apigee/apigee-service/bin/apigee-service apigee-zookeeper restart
- ใช้คำสั่ง
echo
ที่อธิบายไว้ข้างต้นเพื่อยืนยันโหนด ZooKeeper แต่ละรายการ
แจ้งโหนด Apigee ของการกำหนดค่าที่เปลี่ยนไป
- แก้ไขไฟล์
/opt/apigee/customer/application/router.properties
บนโหนดเราเตอร์แต่ละรายการ ดังนี้ หากไม่มีไฟล์ ให้สร้างขึ้นมา- เปลี่ยนพารามิเตอร์
conf_zookeeper_connection.string
ให้รวม IP ใหม่ ที่อยู่ - เปลี่ยนพารามิเตอร์
conf_zookeeper_zk1.host
ให้รวม IP ใหม่ ที่อยู่
- เปลี่ยนพารามิเตอร์
- แก้ไขไฟล์
/opt/apigee/customer/application/message-processor.properties
ในทุกโหนดตัวประมวลผลข้อความ ดังนี้ หากไม่มีไฟล์ ให้สร้างขึ้นมา- เปลี่ยนพารามิเตอร์
conf_zookeeper_connection.string
ให้รวมพารามิเตอร์ใหม่ ที่อยู่ IP - เปลี่ยนพารามิเตอร์
conf_zookeeper_zk1.host
ให้รวม IP ใหม่ ที่อยู่
- เปลี่ยนพารามิเตอร์
- แก้ไขไฟล์
/opt/apigee/customer/application/management-server.properties
ในโหนดเซิร์ฟเวอร์การจัดการ ดังนี้ หากไม่มีไฟล์ ให้สร้างขึ้นมา- เปลี่ยนพารามิเตอร์
conf_zookeeper_connection.string
ให้รวมพารามิเตอร์ใหม่ ที่อยู่ IP - เปลี่ยนพารามิเตอร์
conf_zookeeper_zk1.host
ให้รวม IP ใหม่ ที่อยู่
- เปลี่ยนพารามิเตอร์
- รีสตาร์ทคอมโพเนนต์แพลตฟอร์ม Apigee ทั้งหมดโดยการเรียกใช้คำสั่งต่อไปนี้ในแต่ละโหนด
/opt/apigee/apigee-service/bin/apigee-all restart
การเปลี่ยนที่อยู่ IP ของเซิร์ฟเวอร์ LDAP (OpenLDAP)
ในการเปลี่ยนที่อยู่ IP ของโหนด OpenLDAP ให้ทำดังนี้
- แก้ไขไฟล์
/opt/apigee/customer/application/management-server.properties
ในโหนดเซิร์ฟเวอร์การจัดการ หากไม่มีไฟล์ ให้สร้างขึ้นมา - ในไฟล์
management-server.properties
ให้ตั้งค่าconf_security_ldap.server.host
ไปยังที่อยู่ IP ใหม่ - รีสตาร์ทเซิร์ฟเวอร์การจัดการ:
/opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
การเปลี่ยนที่อยู่ IP ของโหนด Apigee อื่นๆ ประเภท
ในการเปลี่ยนที่อยู่ IP ของโหนดประเภทต่างๆ เหล่านี้ (Router, Message Processor, Postgres เซิร์ฟเวอร์ (ไม่ใช่ postgresql) และเซิร์ฟเวอร์ Qpid (ไม่ใช่ qpidd):
- ใช้คำสั่ง
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