centos7 安装elasticsearch6.4.0
以tar包方式安装elasticsearch
1) https://www.elastic.co/cn/products/elasticsearch 下载 elasticsearch.tar.gz 下载的版本6.4.0
2) tar -xzvf elasticsearch-6.4.0.tar.gz 解压缩,并将解压缩的文件剪切到/opt/supp_app目录下(个人习惯,可随意修改)
3)目录结构如下
4) 进入config文件夹下编辑elasticsearch.yml
a) 集群模式下,放开cluster.name注释,单机模式下,放开node.name
b) 数据存储和日志存储路径放开注释
c) 网络设置 设置ip限制,端口设置,跨越设置
5) 配置完成后进入bin目录执行启动脚本elasticsearch
1) 前台启动 ./elasticsearch
2) 后台启动 ./elasticsearch -d
6) 启动过程中遇到的坑
1) root启动时,elasticsearch不能以root用户启动
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
处理方法,创建非root用户,使用非root用户启动
a) adduser es 创建用户es
b) passwd es 设置es密码,
c) 设置文件权限 chown -R es /opt/supp_app/elasticsearch-6.4.0
d) visudo.设置用户对命令的执行权限 配置同root
2) JDK版本要求最低版本1.8,在elasticsearch中设置JAVA_HOME CATALINA_HOME和PATH等信息
3) elasticsearch.yml配置有问题,保证配置的文件的key后面直接跟着冒号,冒号后空格一位,再输入对应的value
4) elasticsearch用户拥有的可创建文件描述的权限太低,至少需要65536,
处理办法: #切换到root用户修改
vim /etc/security/limits.conf # 在最后面追加下面内容
*** hard nofile 65536
*** soft nofile 65536 #*** 是启动ES的用户
5) max_map_count文件包含限制一个进程可以拥有的VMA(虚拟内存区域)的数量
处理办法: #切换到root用户修改
vim /etc/sysctl.conf # 在最后面追加下面内容
vm.max_map_count=655360
执行 sysctl -p
最终正常启动显示页面