目录

  • 基础环境
  • 下载安装
  • 创建非root用户
  • jdk问题有两种解决方法
  • 启动
  • 外网访问
  • 常见问题


基础环境

Elasticsearch 7.8.0
CentOS 7.5
jdk 11及以上(注意个版本间的兼容问题)
本例采用ES内置jdk完成安装

下载安装

下载地址:Elasticsearch7.8.0 Elasticsearch基于java语言开发,所以只要jdk配置的没问题基本不会有什么问题。

下载解压后目录结构如下:

centos exfat安装离线下载_centos exfat安装离线下载

bin:即为es的脚本目录

jdk为es自带的jdk(版本14)

创建非root用户

执行bin目录下的./elasticsearch 时会出现如下异常

centos exfat安装离线下载_centos exfat安装离线下载_02

根据日志,可以看出,存在两个问题

1: 不能使用root用户启动

2: jdk需要11以上(非必须,未来版本需要)

创建非root用户:

##创建用户 es
useradd es
##设置用户 es的密码
passwd es
##将es目录赋权给es用户
chown -R es elasticsearch-7.8.0

centos exfat安装离线下载_java_03

centos exfat安装离线下载_elasticsearch_04

自此就完成了非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

centos exfat安装离线下载_elasticsearch_05

## 验证:

访问http://localhost:9200/ 得到如下访问即完成启动过程

centos exfat安装离线下载_root用户_06

自此完成es的基本安装。

正式环境中需要es后台运行,在启动时加-d参数时切换es后台运行

cd bin
# -d意思是后台运行
./elasticsearch -d

es根目录下logs为日志目录,启动日志在elasticsearch.log下

centos exfat安装离线下载_centos exfat安装离线下载_07

外网访问

按照上面的配置,并不能在服务器之外的地方访问
向 conf/elasticsearch.yml中添加

http.host: 0.0.0.0

centos exfat安装离线下载_java_08

重启es即可

常见问题

  1. 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

centos exfat安装离线下载_elasticsearch_09

此文件修改后需要重新登录用户

登录后使用 ulimit -S -n 查看当前用户生效值

centos exfat安装离线下载_java_10

  1. 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
    保存重启