ย้อนกลับ Apigee Edge 4.53.00

หากพบข้อผิดพลาดระหว่างการอัปเดตเป็น Edge 4.53.00 คุณสามารถย้อนกลับคอมโพเนนต์ที่ทำให้เกิดข้อผิดพลาด แล้วลองอัปเดตอีกครั้งได้

คุณสามารถย้อนกลับ Edge 4.53.00 ไปยังเวอร์ชันรุ่นย่อยต่อไปนี้ได้

  • เวอร์ชัน 4.52.02

การย้อนกลับเวอร์ชันเกี่ยวข้องกับการย้อนกลับคอมโพเนนต์ทุกรายการที่คุณอาจอัปเกรด นอกจากนี้ คุณควรพิจารณาเป็นพิเศษเมื่อย้อนกลับ Cassandra เป็นเวอร์ชัน 4.52.02

คุณอาจต้องการทำการย้อนกลับใน 2 สถานการณ์ต่อไปนี้

  1. ย้อนกลับไปเป็นรุ่นหลักหรือรุ่นย่อยก่อนหน้า เช่น จาก 4.53.00 เป็น 4.52.02
  2. ย้อนกลับไปใช้การเผยแพร่แพตช์ก่อนหน้าในรุ่นเดียวกัน เช่น จาก 4.53.00.01 เป็น 4.53.00.00

ดูข้อมูลเพิ่มเติมได้ที่กระบวนการเผยแพร่ Apigee Edge

ลำดับการย้อนกลับ

การย้อนกลับคอมโพเนนต์ควรทำในลำดับย้อนกลับของการอัปเกรด โดยยกเว้นเซิร์ฟเวอร์การจัดการที่ควรย้อนกลับหลังจาก Cassandra

ลำดับการย้อนกลับทั่วไปสำหรับ Private Cloud 4.53.00 จะมีลักษณะดังนี้

  1. ย้อนกลับ Postgres, Qpid และคอมโพเนนต์อื่นๆ ที่เกี่ยวข้องกับการวิเคราะห์
  2. ย้อนกลับเราเตอร์และ Message Processor
  3. ย้อนกลับ Cassandra, Zookeeper
  4. เซิร์ฟเวอร์การจัดการการย้อนกลับ

ตัวอย่างเช่น สมมติว่าคุณได้อัปเกรดคลัสเตอร์ Cassandra ทั้งหมด เซิร์ฟเวอร์การจัดการทั้งหมด และ RMP บางรายการเป็นเวอร์ชัน 4.53.00 จากเวอร์ชัน 4.52.02 และต้องการย้อนกลับ ในกรณีนี้ คุณจะต้องดำเนินการดังนี้

  1. ย้อนกลับ RMP ทั้งหมดทีละรายการ
  2. ย้อนกลับทั้งคลัสเตอร์ Cassandra โดยใช้ข้อมูลสำรอง
  3. ย้อนกลับโหนดเซิร์ฟเวอร์การจัดการ Edge ทีละรายการ

ผู้ที่ทำการย้อนกลับได้

ผู้ใช้ที่ทำการย้อนกลับควรเป็นผู้ใช้รายเดียวกับที่อัปเดต Edge ในตอนแรก หรือเป็นผู้ใช้ที่เรียกใช้ในฐานะรูท

โดยค่าเริ่มต้น คอมโพเนนต์ Edge จะทํางานในฐานะผู้ใช้ "apigee" ในบางกรณี คุณอาจเรียกใช้คอมโพเนนต์ Edge ในฐานะผู้ใช้ที่แตกต่างกัน เช่น หากเราเตอร์ต้องเข้าถึงพอร์ตที่มีสิทธิ์ เช่น พอร์ตที่ต่ำกว่า 1000 คุณจะต้องเรียกใช้เราเตอร์ในฐานะรูทหรือผู้ใช้ที่มีสิทธิ์เข้าถึงพอร์ตเหล่านั้น หรืออาจเรียกใช้คอมโพเนนต์หนึ่งในฐานะผู้ใช้รายหนึ่ง และเรียกใช้คอมโพเนนต์อื่นในฐานะผู้ใช้รายอื่น

คอมโพเนนต์ที่มีโค้ดร่วมกัน

คอมโพเนนต์ Edge ต่อไปนี้ใช้โค้ดร่วมกัน ดังนั้น หากต้องการย้อนกลับคอมโพเนนต์ใดคอมโพเนนต์หนึ่ง ในโหนด คุณต้องย้อนกลับคอมโพเนนต์ทั้งหมดที่อยู่ในโหนดนั้น

  • edge-management-server (เซิร์ฟเวอร์การจัดการ)
  • edge-message-processor (Message Processor)
  • edge-router (เราเตอร์)
  • edge-postgres-server (เซิร์ฟเวอร์ Postgres)
  • edge-qpid-server (เซิร์ฟเวอร์ Qpid)

เช่น หากคุณติดตั้ง Management Server, Router และ Message Processor ไว้ในโหนด การย้อนกลับรายการใดรายการหนึ่งจะต้องย้อนกลับทั้ง 3 รายการ

การย้อนกลับของ Cassandra

การย้อนกลับของ Cassandra

เมื่อมีการอัปเกรด Cassandra ครั้งใหญ่ในโหนดหนึ่งๆ Cassandra จะแก้ไขสคีมาของข้อมูลที่จัดเก็บไว้ในโหนดนั้น ด้วยเหตุนี้ การย้อนกลับโดยตรงในที่จึงไม่สามารถทำได้

สถานการณ์การย้อนกลับ

Cassandra 4.0.X ซึ่งพร้อมใช้งานกับ Edge สำหรับ Private Cloud 4.53.00 จะใช้ได้กับคอมโพเนนต์อื่นๆ ของ Private Cloud 4.52.02

โปรดดูตารางด้านล่างเพื่อดูสรุปกลยุทธ์การย้อนกลับต่างๆ ที่คุณใช้ได้

สถานการณ์ กลยุทธ์การย้อนกลับ
DC เดียว อัปเกรดโหนด Cassandra บางรายการ ใช้ข้อมูลสำรอง
DC เดียว อัปเกรดโหนด Cassandra ทั้งหมดแล้ว ห้ามย้อนกลับ Cassandra คุณสามารถย้อนกลับคอมโพเนนต์อื่นๆ ได้
อัปเกรด DC เดียว โหนดทั้งหมด (Cassandra และอื่นๆ) ห้ามย้อนกลับ Cassandra คุณสามารถย้อนกลับคอมโพเนนต์อื่นๆ ได้
หลาย DC, อัปเกรดโหนดบางรายการใน DC หนึ่ง สร้างใหม่จาก DC ที่มีอยู่
DC หลายแห่ง, โหนด Cassandra ทั้งหมดใน DC บางแห่งได้รับการอัปเกรดแล้ว สร้างใหม่จาก DC ที่มีอยู่
โหนด DC, Cassandra หลายรายการของ DC สุดท้ายที่กำลังอัปเกรด โปรดลองอัปเกรดให้เสร็จสมบูรณ์ หากทำไม่ได้ ให้ย้อนกลับ 1 DC โดยใช้ข้อมูลสำรอง สร้าง DC ที่เหลือใหม่จาก DC ที่ย้อนกลับ
หลาย DC, อัปเกรดโหนด Cassandra ทั้งหมด ห้ามย้อนกลับ Cassandra คุณสามารถย้อนกลับคอมโพเนนต์อื่นๆ ได้
อัปเกรด DC หลายรายการและโหนดทั้งหมด (Cassandra และอื่นๆ) ห้ามย้อนกลับ Cassandra คุณสามารถย้อนกลับคอมโพเนนต์อื่นๆ ได้

ข้อควรพิจารณาทั่วไป

เมื่อพิจารณาที่จะย้อนกลับ โปรดคำนึงถึงสิ่งต่อไปนี้

  • การย้อนกลับคอมโพเนนต์รันไทม์หรือการจัดการ: หากต้องการย้อนกลับคอมโพเนนต์ เช่น edge-management-server, edge-message-processor หรือคอมโพเนนต์ที่ไม่ใช่ Cassandra เป็น Private Cloud เวอร์ชัน 4.52.02 เราขอแนะนำว่าอย่าย้อนกลับ Cassandra Cassandra ที่มาพร้อมกับ Private Cloud 4.53.00 จะเข้ากันได้กับคอมโพเนนต์ที่ไม่ใช่ Cassandra ทั้งหมดของ Edge สำหรับ Private Cloud 4.52.02 คุณสามารถย้อนกลับคอมโพเนนต์ที่ไม่ใช่ Cassandra ได้โดยใช้วิธีการที่ระบุไว้ที่นี่ในขณะที่ Cassandra ยังคงเป็นเวอร์ชัน 4.0.13
  • การย้อนกลับหลังจากอัปเกรดคลัสเตอร์ Cassandra ทั้งหมดเป็น 4.0.X: หากอัปเกรดคลัสเตอร์ Cassandra ทั้งหมดเป็นเวอร์ชัน 4.0.X ซึ่งเป็นส่วนหนึ่งของการอัปเกรดเป็น Private Cloud เวอร์ชัน 4.53.00 เราขอแนะนำให้คุณตั้งค่าคลัสเตอร์นี้ต่อไปและไม่ย้อนกลับ Cassandra คอมโพเนนต์ต่างๆ เช่น edge-management-server, edge-message-processor, edge-router ฯลฯ ของ Private Cloud เวอร์ชัน 4.52.02 จะใช้งานร่วมกับ Cassandra เวอร์ชัน 4.0.X ได้
  • การย้อนกลับ Cassandra ระหว่างการอัปเกรด Cassandra: หากพบปัญหาในระหว่างการอัปเกรด Cassandra คุณอาจต้องพิจารณาการย้อนกลับ คุณสามารถทำตามกลยุทธ์การย้อนกลับที่ระบุไว้ในบทความนี้ได้โดยอิงตามสถานะที่คุณอยู่ระหว่างกระบวนการอัปเกรด
  • การย้อนกลับโดยใช้ข้อมูลสำรอง: ข้อมูลสำรองที่นำมาจาก Cassandra 4.0.X จะใช้ร่วมกับข้อมูลสำรองของ Cassandra 3.11.X ไม่ได้ หากต้องการย้อนกลับ Cassandra โดยใช้การกู้คืนข้อมูลสำรอง คุณต้องสำรองข้อมูล Cassandra 3.11.X ก่อนที่จะพยายามอัปเกรด

ย้อนกลับ Cassandra โดยใช้การสร้างใหม่

ข้อกำหนดเบื้องต้น

  • คุณกำลังใช้งานคลัสเตอร์ Edge สำหรับ Private Cloud 4.52.02 ในศูนย์ข้อมูลหลายแห่ง
  • คุณกำลังอัปเกรด Cassandra จาก 3.11.X เป็น 4.0.X และพบปัญหาในระหว่างการอัปเกรด
  • คุณมีศูนย์ข้อมูลที่ทำงานได้อย่างสมบูรณ์อย่างน้อย 1 แห่งในคลัสเตอร์ที่ยังคงใช้ Cassandra เวอร์ชันเก่า (Cassandra 3.11.X)

ขั้นตอนนี้อาศัยการสตรีมข้อมูลจากศูนย์ข้อมูลที่มีอยู่ ซึ่งอาจใช้เวลานานพอสมควร ทั้งนี้ขึ้นอยู่กับปริมาณข้อมูลที่จัดเก็บไว้ใน Cassandra คุณควรเตรียมพร้อมที่จะเปลี่ยนเส้นทางการรับส่งข้อมูลรันไทม์ออกจากศูนย์ข้อมูลนี้ในขณะที่การย้อนกลับกำลังดำเนินการอยู่

ขั้นตอนระดับสูง

  1. เลือกศูนย์ข้อมูล 1 แห่ง (อัปเกรดบางส่วนหรือทั้งหมด) ที่ต้องการย้อนกลับ เปลี่ยนเส้นทางการรับส่งข้อมูลรันไทม์ไปยังศูนย์ข้อมูลอื่นที่ทำงานอยู่
  2. ระบุโหนดเริ่มต้นในศูนย์ข้อมูลและเริ่มต้นด้วยโหนดเริ่มต้นโหนดใดโหนดหนึ่ง
  3. หยุด ถอนการติดตั้ง และล้างข้อมูลโหนด Cassandra
  4. ติดตั้ง Cassandra เวอร์ชันเก่าในโหนดและกำหนดค่าตามต้องการ
  5. นำการกำหนดค่าเพิ่มเติมที่เพิ่มไว้ก่อนหน้านี้ออก
  6. ทำซ้ำขั้นตอนข้างต้นสำหรับโหนดเริ่มต้นทั้งหมดในศูนย์ข้อมูลทีละรายการ
  7. ทำซ้ำขั้นตอนข้างต้นกับโหนด Cassandra ที่เหลือทั้งหมดในศูนย์ข้อมูลทีละโหนด
  8. สร้างโหนดใหม่จากศูนย์ข้อมูลที่ใช้งานได้ที่มีอยู่ทีละโหนด
  9. รีสตาร์ทคอมโพเนนต์ edge-* ทั้งหมดในศูนย์ข้อมูลที่เชื่อมต่อกับ Cassandra
  10. ทดสอบและเปลี่ยนเส้นทางการเข้าชมกลับไปยังศูนย์ข้อมูลนี้
  11. ทำตามขั้นตอนสำหรับศูนย์ข้อมูลแต่ละแห่งทีละแห่ง

ขั้นตอนโดยละเอียด

  1. เลือกศูนย์ข้อมูล 1 แห่งที่จะอัปเกรดโหนด Cassandra ทั้งหมดหรือบางส่วน เปลี่ยนเส้นทางการรับส่งข้อมูลพร็อกซีรันไทม์และการรับส่งข้อมูลการจัดการทั้งหมดจากศูนย์ข้อมูลนี้ในขณะที่กำลังย้อนกลับโหนด Cassandra ในศูนย์ข้อมูลนี้ ตรวจสอบว่าโหนด Cassandra ทั้งหมดอยู่ในสถานะ UN (ใช้งานได้/ปกติ) เมื่อเรียกใช้คำสั่ง nodetool ring ในโหนด หากโหนดบางรายการหยุดทำงาน ให้แก้ปัญหาและนำโหนดเหล่านั้นกลับมาทำงานอีกครั้งก่อนดำเนินการต่อ

    ดูตัวอย่างด้านล่าง

    /opt/apigee/apigee-cassandra/bin/nodetool status
    Datacenter: dc-1
    ================
    Status=Up/Down
    |/ State=Normal/Leaving/Joining/Moving
    --  Address      Load       Tokens       Owns (effective)  Host ID                               Rack
    UN  DC1-1IP1  456.41 KiB  1            100.0%            78fc4ddd-2ed9-4a8c-98a2-63a38c2f1920  ra-1
    UN  DC1-1IP2  870.93 KiB  1            100.0%            160db01a-64ab-43a7-b9ea-3b7f8f66d52b  ra-1
    UN  DC1-1IP3  824.08 KiB  1            100.0%            21d61543-d59e-403a-bf5d-bfe7f664baa6  ra-1
    Datacenter: dc-2
    ================
    Status=Up/Down
    |/ State=Normal/Leaving/Joining/Moving
    --  Address      Load       Tokens       Owns (effective)  Host ID                               Rack
    UN  DC2-1IP1   802.08 KiB  1            100.0%            583e0576-336d-4ce7-9729-2ae74e0abde2  ra-1
    UN  DC2-1IP2   844.4 KiB   1            100.0%            fef794d5-f4c2-4a4e-bb05-9adaeb4aea4b  ra-1
    UN  DC2-1IP3   878.12 KiB  1            100.0%            3894b3d9-1f5a-444d-83db-7b1e338bbfc9  ra-1

    คุณเรียกใช้ nodetool describecluster ในโหนดเพื่อทำความเข้าใจสถานะปัจจุบันของคลัสเตอร์ทั้งหมดได้ ตัวอย่างเช่น ข้อมูลต่อไปนี้แสดงอินสแตนซ์ของคลัสเตอร์ 2 ศูนย์ข้อมูลที่โหนด DC-1 ทั้งหมดใช้ Cassandra เวอร์ชัน 4 ในขณะที่โหนด DC-2 ทั้งหมดใช้ Cassandra เวอร์ชัน 3

    # On nodes where Cassandra is upgraded
    /opt/apigee/apigee-cassandra/bin/nodetool describecluster
    Cluster Information:
        Name: Apigee
        Snitch: org.apache.cassandra.locator.PropertyFileSnitch
        DynamicEndPointSnitch: enabled
        Partitioner: org.apache.cassandra.dht.RandomPartitioner
        Schema versions:
            2eadcd74-0245-309a-9992-3625afa70038: [DC-1-IP1, DC-1-IP2, DC-1-IP3]
            129dc15e-198e-3c11-b64c-701044a3a1ad: [DC-2-IP1, DC-2-IP2, DC-2-IP3]
    
    Stats for all nodes:
        Live: 6
        Joining: 0
        Moving: 0
        Leaving: 0
        Unreachable: 0
    
    Data Centers:
        dc-1 #Nodes: 3 #Down: 0
        dc-2 #Nodes: 3 #Down: 0
    
    Database versions:
        4.0.13: [DC-1-IP1:7000, DC-1-IP2:7000, DC-1-IP3:7000]
        3.11.16: [DC-2-IP1:7000, DC-2-IP2:7000, DC-2-IP3:7000]
    
    Keyspaces:
        system_schema -> Replication class: LocalStrategy {}
        system -> Replication class: LocalStrategy {}
        auth -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3}
        cache -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3}
        devconnect -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3}
        dek -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3}
        user_settings -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3}
        apprepo -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3}
        kms -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3}
        identityzone -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3}
        audit -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3}
        analytics -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3}
        keyvaluemap -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3}
        counter -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3}
        apimodel_v2 -> Replication class: NetworkTopologyStrategy {dc-2=3, dc-1=3}
        system_distributed -> Replication class: SimpleStrategy {replication_factor=3}
        system_traces -> Replication class: SimpleStrategy {replication_factor=2}
        system_auth -> Replication class: SimpleStrategy {replication_factor=1}
    
    # On nodes where Cassandra is not upgraded
    /opt/apigee/apigee-cassandra/bin/nodetool describecluster
    Cluster Information:
        Name: Apigee
        Snitch: org.apache.cassandra.locator.PropertyFileSnitch
        DynamicEndPointSnitch: enabled
        Partitioner: org.apache.cassandra.dht.RandomPartitioner
        Schema versions:
            2eadcd74-0245-309a-9992-3625afa70038: [DC-1-IP1, DC-1-IP2, DC-1-IP3]
            129dc15e-198e-3c11-b64c-701044a3a1ad: [DC-2-IP1, DC-2-IP2, DC-2-IP3]
            
  2. ระบุโหนดเริ่มต้นในศูนย์ข้อมูล: ดูส่วนวิธีระบุโหนดเริ่มต้นในภาคผนวก ทำตามขั้นตอนด้านล่างในโหนดเริ่มต้น
  3. หยุด ถอนการติดตั้ง และล้างข้อมูลจากโหนดของ Cassandra เลือกโหนดเริ่มต้นแรกใน Cassandra เวอร์ชัน 4 ในศูนย์ข้อมูลนี้ หยุด
    # Stop Cassandra service on the node
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
    
    # Uninstall Cassandra software
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra uninstall
    
    # Wipe out Cassandra data
    rm -rf /opt/apigee/data/apigee-cassandra
            
  4. ติดตั้งซอฟต์แวร์ Cassandra เวอร์ชันเก่าในโหนดและตั้งค่าบางอย่าง เรียกใช้ไฟล์ Bootstrap ของ Edge สำหรับ Private Cloud 4.52.02
  5. # Download bootstrap of 4.52.02
    curl https://software.apigee.com/bootstrap_4.52.02.sh -o /tmp/bootstrap_4.52.02.sh -u uName:pWord
    
    # Execute bootstrap of 4.52.02
    sudo bash /tmp/bootstrap_4.52.02.sh apigeeuser=uName apigeepassword=pWord
        
  6. สร้างหรือแก้ไขไฟล์ /opt/apigee/customer/application/cassandra.properties
  7. เพิ่มเนื้อหาต่อไปนี้ลงในไฟล์ ipOfNode คือที่อยู่ IP ของโหนดที่ Cassandra ใช้สื่อสารกับโหนด Cassandra อื่นๆ
    conf_jvm_options_custom_settings=-Dcassandra.replace_address=ipOfNode -Dcassandra.allow_unsafe_replace=true
  8. ตรวจสอบว่าผู้ใช้ Apigee เป็นเจ้าของไฟล์และอ่านไฟล์ได้โดยทำดังนี้
    chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
  9. ติดตั้งและตั้งค่า Cassandra
    # Install cassandra version 3.11.X
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra install
    
    # Setup cassandra while passing standard configuration file
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra setup -f configFile
    # Ensure Cassandra version is correct and service is running
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra version
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra status
  10. ตรวจสอบว่าโหนดเริ่มทำงานแล้ว ตรวจสอบคำสั่งต่อไปนี้ในโหนดนี้และโหนดอื่นๆ ในคลัสเตอร์ โหนดควรรายงานว่าอยู่ในสถานะ "UN" (ใช้งานได้/ปกติ) ดังนี้
    /opt/apigee/apigee-cassandra/bin/nodetool status
  11. นำการกำหนดค่าเพิ่มเติมที่เพิ่มไว้ก่อนหน้านี้ออกจากไฟล์ /opt/apigee/customer/application/cassandra.properties
  12. ทำขั้นตอนที่ 3-10 ซ้ำในโหนดเริ่มต้นของ Cassandra ทั้งหมดในศูนย์ข้อมูลทีละรายการ
  13. ทำขั้นตอนที่ 3-10 ซ้ำในโหนด Cassandra ที่เหลือทั้งหมดในศูนย์ข้อมูลทีละโหนด
  14. สร้างโหนดทั้งหมดในศูนย์ข้อมูลใหม่จากศูนย์ข้อมูลที่ใช้ Cassandra เวอร์ชันเก่ากว่า ทำตามขั้นตอนนี้ทีละโหนด
    /opt/apigee/apigee-cassandra/bin/nodetool rebuild -dc <name of working DC>

    กระบวนการนี้อาจใช้เวลาสักครู่ คุณปรับ streamingthroughput ได้หากต้องการ ตรวจสอบ nodetool netstats เพื่อดูสถานะการดำเนินการที่เสร็จสมบูรณ์

  15. (ไม่บังคับ) เรียกใช้คำสั่งซ่อมในโหนด Cassandra หากระบบไม่ได้สร้างข้อมูลใหม่
    /opt/apigee/apigee-cassandra/bin/nodetool -h node-IP repair -pr
  16. รีสตาร์ทคอมโพเนนต์ edge-* ทั้งหมดในศูนย์ข้อมูลทีละรายการ
    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
  17. ตรวจสอบความถูกต้องและเปลี่ยนเส้นทางการเข้าชมกลับไปยังศูนย์ข้อมูลนี้ เรียกใช้การตรวจสอบบางอย่างสำหรับการรับส่งข้อมูลรันไทม์และ API การจัดการในศูนย์ข้อมูลนี้ แล้วเริ่มเปลี่ยนเส้นทางการรับส่งข้อมูลพร็อกซีและ API การจัดการกลับไปยังศูนย์ข้อมูลนี้
  18. ทำขั้นตอนข้างต้นซ้ำสำหรับศูนย์ข้อมูลแต่ละแห่งที่ต้องการย้อนกลับ

ย้อนกลับ Cassandra โดยใช้ข้อมูลสำรอง

ข้อกำหนดเบื้องต้น

  1. คุณกำลังอัปเกรด Cassandra จาก 3.11.X เป็น 4.0.X และพบปัญหาในระหว่างการอัปเกรด
  2. คุณมีข้อมูลสำรองสำหรับโหนดที่กำลังเปลี่ยนกลับ ระบบได้ทำการสำรองข้อมูลก่อนที่จะพยายามอัปเกรดจาก 3.11.X เป็น 4.0.X

ขั้นตอน

  1. เลือกโหนดที่ต้องการย้อนกลับ หากคุณย้อนกลับโหนดทั้งหมดในศูนย์ข้อมูลโดยใช้ข้อมูลสำรอง ให้เริ่มจากโหนดเริ่มต้นก่อน ดูส่วน "วิธีระบุโหนดเริ่มต้น" ในภาคผนวก

  2. หยุด ถอนการติดตั้ง และล้างข้อมูลโหนด Cassandra

    # Stop Cassandra service on the node
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
    
    # Uninstall Cassandra software
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra uninstall
    
    # Wipe Cassandra data
    rm -rf /opt/apigee/data/apigee-cassandra
  3. ติดตั้งซอฟต์แวร์ Cassandra เวอร์ชันเก่าในโหนดและกำหนดค่าโดยทำดังนี้

    • เรียกใช้ไฟล์ Bootstrap สำหรับ Edge for Private Cloud 4.52.02 โดยทำดังนี้
    • # Download bootstrap for 4.52.02
      curl https://software.apigee.com/bootstrap_4.52.02.sh -o /tmp/bootstrap_4.52.02.sh -u uName:pWord
      
      # Execute bootstrap for 4.52.02
      sudo bash /tmp/bootstrap_4.52.02.sh apigeeuser=uName apigeepassword=pWord
    • สร้างหรือแก้ไขไฟล์ /opt/apigee/customer/application/cassandra.properties โดยทำดังนี้
    • conf_jvm_options_custom_settings=-Dcassandra.replace_address=ipOfNode -Dcassandra.allow_unsafe_replace=true
    • ตรวจสอบว่าไฟล์เป็นของผู้ใช้ Apigee และอ่านได้
    • chown apigee:apigee /opt/apigee/customer/application/cassandra.properties
    • ติดตั้งและตั้งค่า Cassandra
    • # Install Cassandra version 3.11.X
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra install
      
      # Set up Cassandra with the standard configuration file
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra setup -f configFile
      
      # Verify Cassandra version and check service status
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra version
      /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra status

    ตรวจสอบว่าโหนดเริ่มทำงานแล้ว ตรวจสอบคำสั่งต่อไปนี้ในโหนดนี้และโหนดอื่นๆ ในคลัสเตอร์ โหนดควรรายงานว่าโหนดนี้อยู่ในสถานะ "UN"

    /opt/apigee/apigee-cassandra/bin/nodetool status
  4. หยุดบริการ Cassandra และกู้คืนข้อมูลสำรอง ดูรายละเอียดเพิ่มเติมได้ในเอกสารประกอบการสำรองและกู้คืนข้อมูล

    # Stop Cassandra service on the node
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra stop
    
    # Wipe the data directory in preparation for restore
    rm -rf /opt/apigee/data/apigee-cassandra/data
    
    # Restore the backup taken before the upgrade attempt
    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra restore backupFile
            
  5. เมื่อกู้คืนข้อมูลสำรองแล้ว ให้นำการกำหนดค่าเพิ่มเติมออกโดยทำดังนี้

    นำการกำหนดค่าที่เพิ่มไว้ก่อนหน้านี้ออกจากไฟล์ /opt/apigee/customer/application/cassandra.properties

  6. เริ่มบริการ Cassandra ในโหนด

    /opt/apigee/apigee-service/bin/apigee-service apigee-cassandra start
  7. ทำขั้นตอนซ้ำในแต่ละโหนด Cassandra ที่คุณต้องการย้อนกลับโดยใช้ข้อมูลสำรองทีละโหนด

  8. เมื่อกู้คืนโหนด Cassandra ทั้งหมดแล้ว ให้รีสตาร์ทคอมโพเนนต์ edge-* ทั้งหมดทีละรายการ

    /opt/apigee/apigee-service/bin/apigee-service edge-message-processor restart
    /opt/apigee/apigee-service/bin/apigee-service edge-router restart
    /opt/apigee/apigee-service/bin/apigee-service edge-management-server restart
    /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server restart
    /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server restart
            

การเพิ่มประสิทธิภาพการสำรองข้อมูล (ตัวเลือกขั้นสูง)

คุณอาจลด (หรือกำจัด) การสูญเสียข้อมูลขณะกู้คืนข้อมูลสำรองได้หากมีรีพลิก้าที่มีข้อมูลล่าสุด หากมีรีพลิกา ให้เรียกใช้การซ่อมแซมในโหนดที่กู้คืนหลังจากกู้คืนข้อมูลสำรอง

ภาคผนวก

วิธีระบุโหนดเริ่มต้น

เรียกใช้คำสั่งต่อไปนี้ในโหนด Cassandra ในศูนย์ข้อมูล

/opt/apigee/apigee-service/bin/apigee-service apigee-cassandra configure -search conf_cassandra_seeds

คำสั่งจะแสดงผลหลายบรรทัด มองหาบรรทัดสุดท้ายของเอาต์พุต ที่อยู่ IP ที่แสดงในบรรทัดสุดท้ายคือโหนดเริ่มต้น ในตัวอย่างด้านล่าง DC-1-IP1, DC-1-IP2, DC-2-IP1 และ DC-2-IP2 คือ IP ของโหนดเริ่มต้น

Found key conf_cassandra_seeds, with value, "127.0.0.1", in /opt/apigee/apigee-cassandra/token/default.properties

Found key conf_cassandra_seeds, with value, 127.0.0.1, in /opt/apigee/apigee-cassandra/token/application/cassandra.properties

Found key conf_cassandra_seeds, with value, "DC-1-IP1, DC-1-IP2, DC-2-IP1, DC-2-IP2", in /opt/apigee/token/application/cassandra.properties
apigee-configutil: apigee-cassandra: # OK

ย้อนกลับไปเป็นรุ่นก่อนหน้า

หากต้องการย้อนกลับไปใช้รุ่นหลักหรือรุ่นย่อยก่อนหน้า ให้ทำดังนี้ในแต่ละโหนดที่โฮสต์คอมโพเนนต์

  1. ดาวน์โหลดไฟล์ bootstrap.sh สำหรับเวอร์ชันที่คุณต้องการย้อนกลับ

    • หากต้องการย้อนกลับไปใช้เวอร์ชัน 4.52.02 ให้ดาวน์โหลด bootstrap_4.52.02.sh
      curl https://software.apigee.com/bootstrap_4.52.02.sh -o /tmp/bootstrap_4.52.02.sh 
  2. หยุดคอมโพเนนต์เพื่อย้อนกลับ โดยทำดังนี้
    1. หากต้องการย้อนกลับคอมโพเนนต์ที่มีโค้ดร่วมกันในโหนด คุณต้องหยุดคอมโพเนนต์ทั้งหมด ดังตัวอย่างต่อไปนี้
      /opt/apigee/apigee-service/bin/apigee-service edge-management-server stop
      /opt/apigee/apigee-service/bin/apigee-service edge-router stop
      /opt/apigee/apigee-service/bin/apigee-service edge-message-processor stop
      /opt/apigee/apigee-service/bin/apigee-service edge-qpid-server stop
      /opt/apigee/apigee-service/bin/apigee-service edge-postgres-server stop
    2. หากต้องการย้อนกลับคอมโพเนนต์อื่นๆ ในโหนด ให้หยุดคอมโพเนนต์นั้น
      /opt/apigee/apigee-service/bin/apigee-service component stop
  3. หากคุณจะย้อนกลับการสร้างรายได้ ให้ถอนการติดตั้งจากเซิร์ฟเวอร์การจัดการและโหนด Message Processor ทั้งหมด
    /opt/apigee/apigee-service/bin/apigee-service edge-mint-gateway uninstall
  4. ถอนการติดตั้งคอมโพเนนต์เพื่อย้อนกลับในโหนด โดยทำดังนี้
    1. หากต้องการย้อนกลับคอมโพเนนต์ที่มีโค้ดร่วมในโหนด คุณต้องถอนการติดตั้งทั้งหมดโดยการถอนการติดตั้งกลุ่มคอมโพเนนต์ edge-gateway ดังตัวอย่างต่อไปนี้
      /opt/apigee/apigee-service/bin/apigee-service edge-gateway uninstall
    2. วิธีย้อนกลับ Nginx มีดังนี้
      ###Find the apigee-nginx RPM 
      rpm -qa | grep -i "apigee-nginx"
      
      ###Remove the apigee-nginx RPM
      dnf remove apigee-nginx-1.26.x
      
    3. หากต้องการย้อนกลับคอมโพเนนต์อื่นๆ ในโหนด ให้ถอนการติดตั้งเฉพาะคอมโพเนนต์นั้น ดังตัวอย่างต่อไปนี้
      /opt/apigee/apigee-service/bin/apigee-service component uninstall

      โดยที่ component คือชื่อคอมโพเนนต์

    4. หากต้องการย้อนกลับ Edge Router คุณต้องลบเนื้อหาของไฟล์ /opt/nginx/conf.d นอกเหนือจากการถอนการติดตั้งกลุ่มคอมโพเนนต์ edge-gateway
      cd /opt/nginx/conf.d
      rm -rf *
  5. ถอนการติดตั้ง apigee-setup เวอร์ชัน 4.53.00 โดยทำดังนี้
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup uninstall
  6. ติดตั้งยูทิลิตี apigee-service เวอร์ชัน 4.52.02 และทรัพยากร Dependency ตัวอย่างต่อไปนี้จะติดตั้ง apigee-service เวอร์ชัน 4.52.02
    sudo bash /tmp/bootstrap_4.52.02.sh apigeeuser=uName apigeepassword=pWord

    โดยที่ uName และ pWord คือชื่อผู้ใช้และรหัสผ่านที่คุณได้รับ จาก Apigee หากคุณละเว้น pWord ระบบจะแจ้งให้คุณป้อน

    หากพบข้อผิดพลาด โปรดตรวจสอบว่าคุณได้ดาวน์โหลดไฟล์ bootstrap.sh ในขั้นตอนที่ 1

  7. ติดตั้ง apigee-setup
    /opt/apigee/apigee-service/bin/apigee-service apigee-setup install
  8. ติดตั้งคอมโพเนนต์เวอร์ชันเก่าโดยทำดังนี้
    /opt/apigee/apigee-setup/bin/setup.sh -p component -f configFile

    โดย component คือคอมโพเนนต์ที่จะติดตั้ง และ configFile คือ ไฟล์การกำหนดค่าสำหรับเวอร์ชันเก่า

  9. หากคุณย้อนกลับ Qpid ให้ล้าง iptables โดยทำดังนี้
    sudo iptables -F
  10. ทำกระบวนการนี้ซ้ำสำหรับแต่ละโหนดที่โฮสต์คอมโพเนนต์ที่คุณกำลังย้อนกลับ

ย้อนกลับไปเป็นรุ่นแพตช์ก่อนหน้า

หากต้องการย้อนกลับคอมโพเนนต์ไปยังแพตช์เวอร์ชันที่เฉพาะเจาะจง ให้ทำดังนี้ในแต่ละโหนด ที่โฮสต์คอมโพเนนต์

  1. ดาวน์โหลดคอมโพเนนต์เวอร์ชันที่ต้องการ
    /opt/apigee/apigee-service/bin/apigee-service component_version install

    โดย component_version คือคอมโพเนนต์และรุ่นแก้ไขที่จะติดตั้ง เช่น

    /opt/apigee/apigee-service/bin/apigee-service edge-ui-4.53.00-0.0.20254 install

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

    yum --showduplicates list comp

    เช่น

    yum --showduplicates list edge-ui
  2. ใช้ apigee-setup เพื่อติดตั้งคอมโพเนนต์
    /opt/apigee/apigee-setup/bin/setup.sh -p comp -f configFile

    เช่น

    /opt/apigee/apigee-setup/bin/setup.sh -p ui -f configFile

    โปรดทราบว่าคุณระบุเฉพาะชื่อคอมโพเนนต์เมื่อติดตั้ง ไม่ใช่เวอร์ชัน

  3. ทำกระบวนการนี้ซ้ำสำหรับแต่ละโหนดที่โฮสต์คอมโพเนนต์ที่คุณกำลังย้อนกลับ

ย้อนกลับ mTLS

หากต้องการย้อนกลับการอัปเดต mTLS ให้ทำตามขั้นตอนต่อไปนี้ในโฮสต์ทั้งหมด

  1. หยุด Apigee
    apigee-all stop
  2. หยุด mTLS
    apigee-service apigee-mtls uninstall
  3. ติดตั้ง mTLS อีกครั้ง
    apigee-service apigee-mtls install
    apigee-service apigee-mtls setup -f /opt/silent.conf