ইলাস্টিকসার্চ যখন মনে করে ডিস্কটি কম স্থানে চলছে তখন এটি কেবল পঠন মোডে নিজেকে রাখে This
ডিফল্টরূপে ইলাস্টিকসার্কের সিদ্ধান্তটি ডিস্ক স্পেসের মুক্ত শতাংশের উপর ভিত্তি করে তৈরি হয় , সুতরাং আপনার কাছে অনেক গিগাবাইট মুক্ত স্থান থাকা সত্ত্বেও বড় ডিস্কগুলিতে এটি ঘটতে পারে।
বন্যার মঞ্চের ওয়াটারমার্কটি ডিফল্ট হিসাবে 95%, সুতরাং 1TB ড্রাইভে আপনার কমপক্ষে 50 গিগাবাইট ফ্রি স্পেস প্রয়োজন বা ইলাস্টিকসার্ক নিজেকে কেবল পঠনযোগ্য মোডে রাখবে।
বন্যা পর্যায়ের ওয়াটারমার্ক সম্পর্কিত নথিগুলির জন্য https://www.elastic.co/guide/en/elasticsearch/references/6.2/disk-allocator.html দেখুন ।
সঠিক সমাধান প্রসঙ্গে নির্ভর করে - উদাহরণস্বরূপ একটি উত্পাদন পরিবেশ বনাম বিকাশের পরিবেশ।
সমাধান 1: ডিস্কের স্থান মুক্ত করুন
পর্যাপ্ত ডিস্কের স্থান খালি করা যাতে ডিস্কের 5% এরও বেশি বিনামূল্যে এই সমস্যার সমাধান করবে। যথেষ্ট পরিমাণ ডিস্ক নিখরচায় ফ্রি হয়ে গেলে ইলাস্টিকসার্চ স্বয়ংক্রিয়ভাবে কেবল পঠন মোড থেকে নিজেকে সরিয়ে নেবে না, সূচকগুলি আনলক করতে আপনাকে এমন কিছু করতে হবে:
$ curl -XPUT -H "Content-Type: application/json" https://[YOUR_ELASTICSEARCH_ENDPOINT]:9200/_all/_settings -d '{"index.blocks.read_only_allow_delete": null}'
সমাধান 2: বন্যার মঞ্চের জলছাপের সেটিংটি পরিবর্তন করুন
"cluster.routing.allocation.disk.watermark.flood_stage"
অন্য কিছুতে সেটিংস পরিবর্তন করুন । এটি হয় কম শতাংশে বা একটি নিখুঁত মান সেট করা যেতে পারে। এখানে কীভাবে দস্তাবেজ থেকে সেটিংস পরিবর্তন করতে হবে তার একটি উদাহরণ :
PUT _cluster/settings
{
"transient": {
"cluster.routing.allocation.disk.watermark.low": "100gb",
"cluster.routing.allocation.disk.watermark.high": "50gb",
"cluster.routing.allocation.disk.watermark.flood_stage": "10gb",
"cluster.info.update.interval": "1m"
}
}
আবার এটি করার পরে আপনাকে সূচকগুলি আনলক করতে উপরের কার্ল কমান্ডটি ব্যবহার করতে হবে, তবে এর পরে তাদের আর পঠনযোগ্য মোডে ফিরে যাওয়া উচিত নয়।