การย้ายคอมโพเนนต์จากเครื่องหนึ่งไปยังอีกเครื่องหนึ่งอาจทำให้เกิดการกำหนดค่าที่ไม่ตรงกัน หากคุณไม่ซิงค์ที่อยู่ IP ในไฟล์การกำหนดค่าคอมโพเนนต์ให้ตรงกัน
ส่วนนี้จะอธิบายวิธีวินิจฉัยและแก้ไขการกำหนดค่าที่ไม่ตรงกัน
ที่อยู่ 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 ทุกรายการโดยเริ่มจาก Management Server
สำหรับการกำหนดค่าที่มีโหนด Cassandra หลายโหนด (ริง)
- หากโหนดที่กำลังเปลี่ยนแปลงเป็นโหนดเริ่มต้น ให้แก้ไขไฟล์
/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 ในระบบที่แก้ไข หากระบบที่แก้ไขเป็นโหนดเริ่มต้น ให้รีสตาร์ทแต่ละระบบที่ใช้โหนดเริ่มต้นที่แก้ไขด้วย
/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restart
- เรียกใช้คำสั่ง
nodetool ringบนโหนดที่แก้ไขเพื่อให้แน่ใจว่าวงแหวนสมบูรณ์ ดูยูทิลิตีได้ที่/opt/apigee/apigee-cassandra/binnodetool [-u username -pw password] -h localhost ring
คุณต้องส่งชื่อผู้ใช้และรหัสผ่านเฉพาะในกรณีที่เปิดใช้การตรวจสอบสิทธิ์ JMX สำหรับ Cassandra
- เรียกใช้
nodetool repairในโหนดที่แก้ไข โปรดทราบว่ากระบวนการนี้อาจใช้เวลาสักครู่ เราจึงขอแนะนำอย่างยิ่งว่าไม่ควรดำเนินการนี้ในช่วงที่มีการเข้าชม API สูงสุดnodetool [-u username -pw password] -h localhost repair -pr
- หากจำเป็น ให้ซ่อมแซม ZooKeeper (ดูด้านล่าง) จากนั้นรีสตาร์ทคอมโพเนนต์แพลตฟอร์ม Apigee ทุกรายการ โดยเริ่มจาก Management Server
อัปเดตการลงทะเบียน Datastore
- ค้นหา UUID ของการลงทะเบียน Datastore ที่ระบุที่อยู่ IP เดิมโดยใช้คำสั่งด้านล่าง จดบันทึกพารามิเตอร์ "type" และ "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 Ensemble (สำหรับการกำหนดค่า Ensemble แบบหลายโหนดเท่านั้น)
- เปิด
/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
บรรทัด Mode ในเอาต์พุตควรระบุว่า "leader"
- รีสตาร์ท ZooKeeper ทีละรายการ โดยเริ่มจาก Leader และสิ้นสุดที่โหนดที่มีการเปลี่ยนที่อยู่ IP หากโหนด Zookeeper มากกว่า 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 ใหม่
- เปลี่ยนพารามิเตอร์
- ในโหนด Message Processor ทุกโหนด ให้แก้ไขไฟล์
/opt/apigee/customer/application/message-processor.propertiesดังนี้ หากไม่มีไฟล์ ให้สร้างไฟล์- เปลี่ยนพารามิเตอร์
conf_zookeeper_connection.stringให้รวมที่อยู่ IP ใหม่ - เปลี่ยนพารามิเตอร์
conf_zookeeper_zk1.hostให้รวมที่อยู่ IP ใหม่
- เปลี่ยนพารามิเตอร์
- ในโหนด Management Server ให้แก้ไขไฟล์
/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 ให้ทำดังนี้
- ในโหนด Management Server ให้แก้ไขไฟล์
/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 ของโหนดประเภทใดประเภทหนึ่งต่อไปนี้ (เราเตอร์, 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