Elasticsearch-এ শার্ড অ্যালোকেশন কনফিগার করার জন্য বেশ কিছু সেটিংস এবং প্যারামিটার আছে যা cluster এবং node level এ প্রভাব ফেলে। কিছু গুরুত্বপূর্ণ কনসেপ্ট ও কনফিগারেশন:
Cluster.routing.allocation.enable:
"all"
: সমস্ত প্রাইমারি এবং রেপ্লিকা শার্ড অ্যালোকেট করার অনুমতি দেয়।"primaries"
: শুধুমাত্র প্রাইমারি শার্ডগুলো অ্যালোকেট করা হয়।"new_primaries"
: নতুন প্রাইমারি শার্ড অ্যালোকেট করার অনুমতি দেয়।"none"
: কোনো শার্ডই অ্যালোকেট করা হবে না।Awareness Allocation:
rack_id
-তে বিতরণ করা হবে।{
"cluster.routing.allocation.awareness.attributes": "rack_id"
}
Allocation Filtering:
node-1
এ অ্যালোকেট হবে।{
"cluster.routing.allocation.include._name": "node-1"
}
Elasticsearch-এ Shard Rebalancing স্বয়ংক্রিয়ভাবে কাজ করে, কিন্তু কিছু সেটিংস আছে যা কাস্টমাইজ করা যায়:
Cluster.routing.rebalance.enable:
"all"
: সমস্ত শার্ড রিব্যালেন্স করা হয়।"primaries"
: শুধু প্রাইমারি শার্ডগুলো রিব্যালেন্স করা হয়।"replicas"
: শুধু রেপ্লিকা শার্ড রিব্যালেন্স করা হয়।"none"
: কোনো শার্ড রিব্যালেন্স করা হবে না।Rebalance Throttling:
cluster.routing.allocation.cluster_concurrent_rebalance
প্যারামিটারটি ব্যবহার করা যায়।{
"cluster.routing.allocation.cluster_concurrent_rebalance": 2
}
Disk-based Shard Allocation:
"cluster.routing.allocation.disk.threshold_enabled": true
"cluster.routing.allocation.disk.watermark.low": "85%"
(ডিফল্ট)"cluster.routing.allocation.disk.watermark.high": "90%"
(ডিফল্ট)GET /_cluster/health
দিয়ে ক্লাস্টারের হেলথ চেক করতে পারেন।GET /_cluster/allocation/explain
দিয়ে জানতে পারেন কেন কোনো শার্ড নির্দিষ্ট নোডে অ্যালোকেট হয়নি বা মুভ হয়নি।এভাবে Elasticsearch-এ shard allocation এবং rebalancing কনফিগার করা এবং মনিটর করা যায়, যা পারফরম্যান্স এবং রিলায়েবিলিটি নিশ্চিত করতে সাহায্য করে।
আরও দেখুন...