मूल रूप से 2 मार्च, 2017 को ObjectRocket.com/blog पर प्रकाशित
डेटा प्लेटफ़ॉर्म का विस्तार और परिवर्तन जारी है, लेकिन एक पहलू कभी नहीं बदलता है - हर कोई अभी भी अपने डेटा की बैकअप प्रतिलिपि चाहता है! यह पूर्वाभ्यास आपको दिखाता है कि Elasticsearch® इंस्टेंस के लिए अपने Rackspace ObjectRocket के साथ S3 रिपॉजिटरी प्लगइन का लाभ कैसे उठाया जाए।
जैसे-जैसे डेटा प्लेटफ़ॉर्म का विस्तार और परिवर्तन जारी रहता है एक पहलू वही रहता है&mdassh;हर कोई अभी भी अपने डेटा की एक बैकअप प्रतिलिपि चाहता है!प्रौद्योगिकी का विकास अभी भी स्थानीय विकास परिवेश को पुनर्स्थापित करने के लिए बैकअप तक पहुंच की मांग करता है, सुरक्षित रखने या अनुपालन के लिए एक प्रति, और अन्य मामले . यह पोस्ट वर्णन करती है कि इलास्टिक्स खोज उदाहरण के लिए अपने Rackspace® ObjectRocket® के साथ S3 रिपॉजिटरी प्लगइन का लाभ कैसे उठाया जाए।
स्नैपशॉट घटक
इलास्टिक्स खोज स्नैपशॉट में तीन मुख्य घटक होते हैं:एक रिपॉजिटरी, स्नैपशॉट (एस), और एक अद्वितीय स्नैपशॉट नाम। एक रिपॉजिटरी में विशिष्ट विवरण होता है कि आप स्नैपशॉट को कहाँ और कैसे संग्रहीत करते हैं। आपके डिफ़ॉल्ट रात्रिकालीन ObjectRocket बैकअप प्रकार हैं:fs
, और S3 बैकअप प्रकार के होते हैं:S3
. इन दोनों की सेटिंग संरचना थोड़ी अलग है। यहां एक संग्रह का एक उदाहरण स्निपेट दिया गया है:
GET /_snapshot?pretty
...
{
"s3_repository" : {
"type" : "s3",
"settings" : {
"bucket" : "MYBUCKETNAME",
"server_side_encryption" : "false",
"region" : "us-east-1",
"compress" : "false"
}
}
}
...
प्रदर्शित प्रत्येक भंडार में एक सरणी में सूचीबद्ध एक या अधिक स्नैपशॉट होते हैं:
GET /_snapshot/s3_repository/_all?pretty
[...
{
"snapshot" : "20170208225601",
"uuid" : "t6R6jxLJTIueQizv9clJYg",
"version_id" : 5010499,
"version" : "5.1.1",
"indices" : [ ".triggered_watches", ".watch_history-2016.10.26", "elastalert_status", "coffee-2016.10.301", ".kibana", "coffee-2016.10.305", "coffee-2016.10.304", "coffee-2016.10.303", "coffee-2016.10.302", ".watches"
],
"state" : "SUCCESS",
"start_time" : "2017-02-09T06:56:01.191Z",
"start_time_in_millis" : 1486623361191,
"end_time" : "2017-02-09T06:56:12.179Z",
"end_time_in_millis" : 1486623372179,
"duration_in_millis" : 10988,
"failures" : [ ],
"shards" : {
"total" : 57,
"failed" : 0,
"successful" : 57
}
}]
सभी के लिए _snapshot
संचालन, आपको सही रिपॉजिटरी, स्नैपशॉट और स्नैपशॉट पहचानकर्ता को संदर्भित करने की आवश्यकता है। पिछले उदाहरण से, snapshot : 20170208225601
. का उपयोग करें विशिष्ट पहचानकर्ता के रूप में।
#### S3 को बैकअप भेजना
Elasticsearch के साथ अपना S3 भंडार स्थापित करना अपेक्षाकृत आसान प्रक्रिया है। आपके S3 बकेट में आपके बैकअप भेजने के लिए केवल कुछ पूर्वापेक्षाएँ हैं:
repository-s3
स्थापित करें प्लगइन।- सुनिश्चित करें कि आपका क्लस्टर बाहरी रूप से S3 तक पहुंच सकता है।
- S3 के लिए उचित क्रेडेंशियल (बकेट, सीक्रेट और की) रखें।
यदि आपके पास ऑब्जेक्टरॉकेट इलास्टिक्स खोज उदाहरण है, तो पहले दो चरण डिफ़ॉल्ट रूप से होने चाहिए, और आपको तीसरे घटक के लिए अपने S3 क्रेडेंशियल्स की आवश्यकता होगी। यदि आप इलास्टिक्स खोज स्नैपशॉट प्रक्रिया को प्रतिबंधित करना चाहते हैं, तो एक कस्टम नीति बनाएं AWS® IAM कंसोल के साथ। नीति दस्तावेज़ निम्न उदाहरण के समान दिखना चाहिए (MYBUCKETNAME की जगह):
{
"Statement": [
{
"Action": [
"s3:ListBucket",
"s3:GetBucketLocation",
"s3:ListBucketMultipartUploads",
"s3:ListBucketVersions"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::MYBUCKETNAME"
]
},
{
"Action": [
"s3:GetObject",
"s3:PutObject",
"s3:DeleteObject",
"s3:AbortMultipartUpload",
"s3:ListMultipartUploadParts"
],
"Effect": "Allow",
"Resource": [
"arn:aws:s3:::MYBUCKETNAME/*"
]
}
],
"Version": "2012-10-17"
}
पूर्वापेक्षाएँ समाप्त होने के बाद, पहला कदम अपना S3 रिपॉजिटरी बनाना है:
PUT /_snapshot/s3_repository
{
"type": "s3",
"settings": {
"bucket": "MYBUCKETNAME",
"region": "us-east-1",
"access_key": "KEY",
"secret_key": "SECRET"
}
}'
रिपॉजिटरी बनाने के बाद, आप सभी मानक _snapshot संचालन कर सकते हैं। यदि आप एक नया स्नैपशॉट लेना चाहते हैं, तो निम्न समापन बिंदु तक पहुंचें और अपना SNAPSHOT_NAME परिभाषित करें :
PUT /_snapshot/s3_repository/SNAPSHOT_NAME?wait_for_completion=false
स्नैपशॉट को चलने में कभी-कभी कुछ समय लगता है, इसलिए हो सकता है कि आप इन-फ़्लाइट की स्थिति की जांच करना चाहें स्नैपशॉट। इस समापन बिंदु का उपयोग आपको वर्तमान में चल रहे किसी भी स्नैपशॉट या पुनर्स्थापना संचालन के बारे में अधिक विवरण दिखाता है:
GET /_snapshot/_status
अब मान लें कि हमने अपने अंतिम स्नैपशॉट के पूरा होने के ठीक बाद अपने सभी इंडेक्स को हटा दिया और अपने निर्णय पर तुरंत खेद व्यक्त किया। S3 स्नैपशॉट से सभी इंडेक्स को पुनर्स्थापित करने के लिए, निम्न कमांड चलाएँ:
POST /_snapshot/s3_repository/SNAPSHOT_NAME/_restore
यदि आपको अनुक्रमणिका को चुनिंदा रूप से पुनर्स्थापित करने की आवश्यकता है, तो प्रारूप को थोड़ा संशोधित करें। उदाहरण के लिए:
POST /_snapshot/s3_repository/SNAPSHOT_NAME/_restore
{
"indices": "myindex_1,myindex_2",
"ignore_unavailable": true
}
यह ध्यान देने योग्य है कि क्लस्टर पर एक समय में केवल एक स्नैपशॉट या पुनर्स्थापना कार्रवाई चल सकती है। इसके अतिरिक्त, स्नैपशॉट का आपके क्लस्टर पर थोड़ा सा प्रदर्शन प्रभाव पड़ता है, इसलिए सुनिश्चित करें कि आपकी बैकअप नीति बहुत आक्रामक नहीं है!
हमेशा की तरह, अगर आपको इन चरणों में परेशानी हो तो हमसे बेझिझक संपर्क करें [email protected]
कोई टिप्पणी करने या प्रश्न पूछने के लिए प्रतिक्रिया टैब का उपयोग करें। आप विक्रय चैट . पर भी क्लिक कर सकते हैं अभी चैट करने और बातचीत शुरू करने के लिए।