আমাকে একটি ক্লাস্টারে বেশ কয়েকটি সূচকের নাম পরিবর্তন করতে হবে (তাদের নাম অবশ্যই পরিবর্তন করতে হবে, আমি ডাকনাম ব্যবহার করতে পারি না )।
আমি দেখেছি যে এটি করার জন্য কোনও সমর্থিত উপায় নেই, আমি যে নিকটতমটি পেয়েছি সেটি হল সূচকের ডিরেক্টরিটির নাম পরিবর্তন করা , আমি এটি একটি ক্লাস্টারে চেষ্টা করেছি।
ক্লাস্টার 3 মেশিন হয়েছে A, Bএবং Cএবং shards তাদের প্রতিটি নেভিগেশন প্রতিলিপি করা হয়। আমি স্থিতিস্থাপক অনুসন্ধানটি বন্ধ করে দিয়েছি A, নামকরণ /var/lib/elasticsearch/security/nodes/0/indices/oldindexnameকরে /var/lib/elasticsearch/security/nodes/0/indices/newindexnameপুনরায় শুরু করেছি A।
ক্লাস্টারের রাজ্য হলুদ ছিল এবং ইলাস্টিকসার্চ একটি সঠিক অবস্থা পুনরুদ্ধার করতে কিছু জাদু করছে। কিছু সময় পরে আমি শেষ
oldindexnameউপলব্ধ এবং সম্পূর্ণরূপে প্রতিলিপি করা হয়েছে (থেকে উদ্ধার হয়েছেBএবংCআমি অনুমান করি)newindexnameউপলভ্য (আমি এটি সন্ধান করতে পারি) তবে হেড প্লাগইন দেখায় যে এর শার্ডগুলি একটি "স্বাক্ষরিত" অবস্থায় রয়েছে এবং সেগুলি ধূসর হয়ে গেছে (প্রতিলিপি করা হয়নি)
পুনরুদ্ধারের সময় security.logনিম্নলিখিত বার্তাটি দেখিয়েছিল:
[2015-02-20 11:02:33,461][INFO ][gateway.local.state.meta ] [A.example.com] dangled index directory name is [newindexname], state name is [oldindexname], renaming to directory name
যদিও newindexnameঅনুসন্ধানযোগ্য, এটি অবশ্যই কোনও স্বাভাবিক অবস্থায় নেই।
আমি মুছে ফেলে আগের অবস্থায় ফিরে এসেছি newindexname। ক্লাস্টারটি কোনও "স্বাক্ষরবিহীন" এন্ট্রি ছাড়াই সবুজতে ফিরে আসে।
যে দেওয়া, আমি নাম পরিবর্তন করতে পারেন oldindexnameকরার newindexnameএকটি ক্লাস্টার কি?
দ্রষ্টব্য: আমার মনে যে চূড়ান্ত সমাধানটি মনে আছে তা হ'ল এতে স্ক্রোল-অনুলিপি oldindexকরা newindexএবং oldindexতারপরে মুছে ফেলা । এটি সময় নিতে চলেছে তাই যদি আরও সরাসরি সমাধান হয় তবে তা দুর্দান্ত।