Elasticsearch需要大量的机器,单机版上点数据就挂了,集群版本最少也是3台机器。
在Docker上可以轻松的模拟出多台机器的场景,还能在云主机上实现。阿里云的Elasticsearch 最少也是一年5k的价格。所以自己在Docker上搭建实在是经济高效,适合业务刚刚起步的我们。
看起来很美好,这次升级最大的坑就是:
Unable to lock JVM Memory: error=12, reason=Cannot allocate memory
折腾了一天,最后还是在github上找到了答案,直接粘贴上来。
原文网址
If you look at your Docker daemon's limits, you will probably see this:
grep locked /proc/$(ps --no-headers -o pid -C dockerd | tr -d ' ')/limits
Max locked memory 65536 65536 bytes
When we would much prefer to see:
grep locked /proc/$(ps --no-headers -o pid -C dockerd | tr -d ' ')/limits
Max locked memory unlimited unlimited bytes
It depends on your system how to go about changing the limit, but on my fairly standard Ubuntu system I was able to do this:
echo -e "[Service]\nLimitMEMLOCK=infinity" | SYSTEMD_EDITOR=tee systemctl edit docker.service
systemctl daemon-reload
systemctl restart docker
不能不学!从零到一搭建ELK日志,在Docker环境下部署 Elasticsearch 数据库
最近在玩 ELK 日志平台,它是 Elastic 公司推出的一整套日志收集、分析和展示的解决方案。
通过ECK在Kubernetes上部署ElasticSearch如何添加自定义用户名和密码?
由于需要通过自动化脚本在k8s上面部署eck和es。由于部署es的时候会对elastic用户随机生成密码,无法提前知道密码。因此,通过bin/elasticsearch-setup-passwords更改密码,在k8s pod显然不太适用,我们需要提前内置自己的用户和密码。
部署ECK