最近在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
即可。
重啓後,遠程訪問成功。