打开微信扫一扫,关注微信公众号【数据与算法联盟】
转载请注明出处: http://blog.csdn.net/gamer_gyt
博主微博: http://weibo.com/234654758
Github: https://github.com/thinkgamer
写在前边的话
elasticsearch的alpha版本早已经在github上了,但是beta版本却是最近才正式发布,浏览其http://elastic.co/ 官网,我们可以发现整个style都变了,在尝试安装elkb 5.0的过程中,出现了一点小差错,记录下来,并附上解决办法,以便更多的人能够受益。
错误记录
max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]
解决办法
先解决第一条错误
max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
原因分析:
操作系统的vm.max_map_count参数设置太小导致的
解决办法:
这里我们可以直接修改docker本身的参数,当然也可以直接修改宿主机本身的配置文件,需要注意的是在docker 容器中执行
sysctl -w vm.max_map_count=655360
会提示错误:
sysctl: setting key “vm.max_map_count”: Read-only file system
这是因为Docker的base image做的很精简,甚至都没有init进程,原本在OS启动时执行生效系统变量的过程(sysctl -p)也给省略了,导致这些系统变量依旧保留着kernel默认值,这时候需要我们在容器启动时加入 –privileged 来获取修改系统参数的权限
这里我选择的是修改宿主机本身的配置文件,然后重新启动镜像,也能解决问题,退出容器,返回到宿主机
修改vm.max_map_count 可以通过命令行修改,但是在机器重启时会失效,所以通过修改配置文件来解决问题
命令行修改办法:
sudo sysctl -w vm.max_map_count=655360
并用以下命令查看是否修改成功
sysctl -a | grep “vm.max_map_count”
修改配置文件:
sudo vim /etc/sysctl.conf
加入:
vm.max_map_count=262144
保存即可
接下来解决
max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]
这个问题
sudo vim /etc/security/limits.conf
加入以下两行:
redhat hard nofile 65536
redhat soft nofile 65536
redhat这里为用户名
然后重启启动elasticsearch即可
附一张kibana 5.0的图片