Elasticsearch Cleanup Snapshot Repository

Elasticsearch Cleanup Snapshot Repository



“การสำรองข้อมูลเป็นคุณสมบัติที่สำคัญมากเมื่อทำงานกับฐานข้อมูล ใน Elasticsearch เราสามารถสร้างข้อมูลสำรองของดัชนี สตรีมข้อมูล สถานะส่วนกลาง คุณลักษณะ หรือคลัสเตอร์ทั้งหมดโดยใช้สแน็ปช็อต

อย่างไรก็ตาม เช่นเดียวกับฐานข้อมูลทั้งหมด สถานะของคลัสเตอร์อาจเปลี่ยนแปลงเมื่อเวลาผ่านไปและขึ้นอยู่กับความถี่ของสแน็ปช็อต ซึ่งอาจนำไปสู่สแน็ปช็อตที่มีข้อมูลเก่าที่ไม่ได้อ้างอิงโดยสแน็ปช็อตปัจจุบันอีกต่อไป







ในโพสต์นี้ เราจะพูดถึงวิธีใช้ API ที่เก็บสแน็ปช็อตของ Elasticsearch ที่ให้คุณสแกนเนื้อหาที่เก็บสแน็ปช็อตและบัญชีสำหรับข้อมูลปัจจุบัน API จะลบข้อมูลใด ๆ ที่ไม่ได้อ้างอิง”



มาดำดิ่งกัน



บันทึก : เป็นการดีที่สุดที่จะเข้าใจว่าข้อมูลที่ไม่ได้อ้างอิงไม่มีผลกับพื้นที่เก็บข้อมูล สแน็ปช็อต หรือประสิทธิภาพของคลัสเตอร์ อย่างไรก็ตาม มันใช้พื้นที่ดิสก์ซึ่งอาจมีความสำคัญในสภาพแวดล้อมขนาดใหญ่





ขอไวยากรณ์

รหัสต่อไปนี้แสดงไวยากรณ์คำขอเพื่อสอบถาม API การล้างข้อมูลสแน็ปช็อต

โพสต์ / _snapshot /< ที่เก็บ >/ _ทำความสะอาด



ปลายทาง API อาจต้องการสิทธิ์ 'จัดการ' บนคลัสเตอร์ ทั้งนี้ขึ้นอยู่กับการกำหนดค่าความปลอดภัยและสิทธิ์

พารามิเตอร์เส้นทาง

คำขอรองรับพารามิเตอร์เส้นทางต่อไปนี้:

  1. <ที่เก็บ> – ระบุชื่อของที่เก็บที่ดำเนินการล้างข้อมูล นี่เป็นพารามิเตอร์ที่จำเป็น

พารามิเตอร์การค้นหา

ในการแก้ไขแบบสอบถาม คุณสามารถรวมพารามิเตอร์แบบสอบถามต่อไปนี้:

  1. master_timeout – กำหนดระยะเวลารอการตอบสนองจากโหนดหลัก คำขอล้มเหลวโดยมีข้อผิดพลาดหากไม่มีการตอบกลับเมื่อพ้นระยะเวลาดังกล่าว ค่าเริ่มต้นสำหรับระยะเวลาหมดเวลาหลักคือ 30 วินาที
  2. หมดเวลา – ระบุระยะเวลารอการตอบสนอง ค่าเริ่มต้นคือ 30 วินาที

ร่างกายตอบสนอง

คุณสมบัติต่อไปนี้รวมอยู่ในเนื้อหาการตอบสนอง:

  1. ผลลัพธ์ – นี่คือออบเจ็กต์ที่มีสถิติที่ดำเนินการโดยการดำเนินการล้างข้อมูล สถิติเหล่านี้รวมถึง:
    ก. ลบ_bytes – จำนวนไบต์ที่ถูกลบโดย API การล้างข้อมูล
    ข. ลบ_blobs – จำนวนของอ็อบเจ็กต์ไบนารีขนาดใหญ่ที่ถูกลบออกจากที่เก็บ

ตัวอย่าง

ตัวอย่างต่อไปนี้แสดงวิธีการรันการดำเนินการล้างข้อมูลบนที่เก็บสแน็ปช็อตภายใต้ชื่อ “sample_repo”

curl -XPOST 'http://localhost:9200/_snapshot/sample_repo/_cleanup' -ชม 'kbn-xsrf: กำลังรายงาน'

เอาท์พุต

{
'ผลลัพธ์' : {
'ลบ_ไบต์' : 100 ,
'deleted_blobs' : 25
}
}

คุณยังสามารถเรียกใช้การล้างข้อมูลที่เก็บสแน็ปช็อตโดยใช้แดชบอร์ด Kibana

ไปที่การจัดการ -> การจัดการสแต็ค -> สแนปชอตและการกู้คืน -> ที่เก็บ

เปิดที่เก็บเป้าหมายและเลือกที่เก็บใหม่ทั้งหมด

หลังจากการล้างข้อมูลเสร็จสิ้น คำขอควรแสดงสถิติการล้างข้อมูล:

บทสรุป

ในบทช่วยสอนนี้ เราได้พูดถึงขั้นตอนการดำเนินการล้างข้อมูลที่เก็บสแน็ปช็อตโดยใช้ Elasticsearch API และแดชบอร์ด Kibana รวบรวมเอกสารสำหรับข้อมูลเพิ่มเติม

ขอบคุณที่อ่าน!!