最近在linux上安装了es,遇到很多的问题,总结一下。
安装版本
ES安装必须要求JDK在1.8以上,此外,不同版本的es对应的jdk版本也不一样,
JDK1.8最高只能支持ES5的安装。所以,在安装ES时一定要考虑es以jdk版本的兼容关系。
安装用户
ES安装不能用root用户直接安装,所以,我们需要新建一个es用户,并赋予用户权限。
然后切换到新用户上进行安装。
具体步骤:
adduser 用户名
passwd 密码
chown -R 用户名 文件夹
安装遇到的问题
1、unable to install syscall filter
切换到root用户,修改elasticsearch.yml文件,在文件末尾添加下面一行配置:
bootstrap.system_call_filter: false
2、 max file descriptors [65535] for elasticsearch process is too low,
increase to at least [65536]
切换到root用户,修改/etc/security/limits.conf文件添加如下内容
* soft nofile 65536
* hard nofile 65536
3、 max number of threads [1024] for user [es] is too low, increase to at least [2048]
修改 /etc/security/limits.d/90-nproc.conf
修改内容如下,将原来的值改为2048即可。
4、max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
在 /etc/sysctl.conf文件最后添加一行
vm.max_map_count=262144
并且执行 sysctl -p
5、启动es,远程访问发现不能访问解决方案:
修改 elasticsearch.yml文件:
添加一行:network.host: 0.0.0.0
即可。
重启后,远程访问成功。