หากใครเล่น Elasticsearch จะมีปัญหา Maximum Map Count บน Kernel เพราะ Elastic ได้กำหนดไว้ว่าหากต้องการใช้ mmap ได้อย่างมีประสิทธิภาพ จะต้องสร้าง Memory Mappped Areas ไว้มาก ๆ ซึ่งบน Kernel ได้อนุญาติให้มีได้ขั้นต่ำสุดคือ 262144 เฉพาะบน Linux เท่านั้น
Configuration
- Error ที่พบ
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[2018-05-30T11:45:44,762][INFO ][o.e.n.Node ] [lab-elastic.lab.local] stopping ...
[2018-05-30T11:45:44,796][INFO ][o.e.n.Node ] [lab-elastic.lab.local] stopped
[2018-05-30T11:45:44,796][INFO ][o.e.n.Node ] [lab-elastic.lab.local] closing ...
[2018-05-30T11:45:44,820][INFO ][o.e.n.Node ] [lab-elastic.lab.local] closed
- เราสามารถแก้ไข Configuration ได้ทันทีผ่านทาง sysctl
# sysctl -w vm.max_map_count=262144
- หากเรา Reboot เราจะต้องมาทำขั้นตอนที่ 2 ทุกครั้ง เพื่อให้มันทำงานตลอดให้ไปแก้ไขไฟล์ sysctl.conf
# vi /etc/sysctl.conf
vm.max_map_count=262144
- ลองเปิด http://localhost:9200 ใน Browser
อ่านเพิ่มเติม : https://bit.ly/2LH1mgf
Tagged: Elasticsearch
Leave a Reply