目录
- 基础环境
- 下载安装
- 创建非root用户
- jdk问题有两种解决方法
- 启动
- 外网访问
- 常见问题
基础环境
Elasticsearch 7.8.0
CentOS 7.5
jdk 11及以上(注意个版本间的兼容问题)
本例采用ES内置jdk完成安装
下载安装
下载地址:Elasticsearch7.8.0 Elasticsearch基于java语言开发,所以只要jdk配置的没问题基本不会有什么问题。
下载解压后目录结构如下:
bin:即为es的脚本目录
jdk为es自带的jdk(版本14)
创建非root用户
执行bin目录下的./elasticsearch 时会出现如下异常
根据日志,可以看出,存在两个问题
1: 不能使用root用户启动
2: jdk需要11以上(非必须,未来版本需要)
创建非root用户:
##创建用户 es
useradd es
##设置用户 es的密码
passwd es
##将es目录赋权给es用户
chown -R es elasticsearch-7.8.0
自此就完成了非root用户启动问题
jdk问题有两种解决方法
i: 设置java_home目录,指向es自带或自行下载的jdk(版本要求11及其以上)
ii: 修改bin/elasticsearch-env文件
这两种方法的修改方式跟tomcat的jdk一样,方法是修改java_home及path中jdk的指向
##添加如下内容到bin/elasticsearch-env(文件开头或java_home判断之前) 或 /etc/profile(文件末尾)
##/app/server/elasticsearch-7.8.0/jdk为将使用的jdk位置
export JAVA_HOME=/app/server/elasticsearch-7.8.0/jdk
export PATH=$JAVA_HOME/bin:$PATH
如果修改的是elasticsearch-env文件,直接启动即可
如果修改的是profile 执行 source /etc/profile 激活配置再启动es
启动
cd bin
./elasticsearch
## 验证:
访问http://localhost:9200/ 得到如下访问即完成启动过程
自此完成es的基本安装。
正式环境中需要es后台运行,在启动时加-d参数时切换es后台运行
cd bin
# -d意思是后台运行
./elasticsearch -d
es根目录下logs为日志目录,启动日志在elasticsearch.log下
外网访问
按照上面的配置,并不能在服务器之外的地方访问
向 conf/elasticsearch.yml中添加
http.host: 0.0.0.0
重启es即可
常见问题
- max file descriptors [4096] for elasticsearch process is too low, increase to at least
编辑 /etc/security/limits.conf,追加以下内容;
# 格式说明: 用户 类型 配置项 参数
# 所有用户可使用*代替所有
es soft nofile 655350
es hard nofile 655370
此文件修改后需要重新登录用户
登录后使用 ulimit -S -n 查看当前用户生效值
- max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
修改/etc/sysctl.conf配置文件
添加vm.max_map_count=262166
保存重启