Linux下ElasticSearch7.9.2安装配置(包含服务器配置、启动停止脚本、开放端口和elasticsearch-head插件的使用)

前言

本文主要介绍Linux下ElasticSearch7.9.2安装,目前是介绍单节点的配置

应用 版本 说明
操作系统 centos7 稳定、高预测性、高管理性、高重复性的Linux平台
elasticsearch 7.9.2 es7.x的linux版本
jdk 8 本人使用JDK 8;ES建议使用JDK 11 启动的时候会有警告但是不会报错,可以忽略

1.下载安装

1.1 使用wget的方式下载

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.9.2-linux-x86_64.tar.gz

在这里插入图片描述

1.2 官网下载

此种方式可能比较慢,需要耐心等待。官网下载:Elasticsearch 7.9.2
选择Linux的tar包模式下载,然后上传到服务器目录
在这里插入图片描述

2.上传到服务器并解压

解压缩命令:

tar -zxvf elasticsearch-7.6.1-linux-x86_64.tar.gz 

在这里插入图片描述

3.修改es配置文件

3.1 es目录简介

  • bin:下面存放着Es启动文件 elasticsearch.bat/elasticsearch
  • config:配置目录
  • data: 数据目录
  • jdk、lib:Java运行环境以及依赖包
  • logs:日志目录
  • modules、plugins:模块及插件目录,head插件可以存放在plugins目录下

3.2 修改配置文件

注意path.datapath.logs需要配置指定的路径

#默认的集群名称,在集群配置多个节点时需要保持一致,单机可暂不关注
cluster.name: elasticsearch
node.name: es-node0
cluster.initial_master_nodes: ["es-node0"]

# 指定数据存储位置
path.data: /data1/elasticsearch-7.9.2/data
 
#日志文件位置
path.logs: /data1/elasticsearch-7.9.2/logs

#默认只允许本机访问,修改为0.0.0.0后则可以允许任何ip访问
network.host: 0.0.0.0

#设置http访问端口,9200是http协议的RESTful接口,注意端口冲突可修改
http.port: 9200

# 跨域问题配置
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type

4. 创建用户并赋权

1.先创建用户

adduser es

2.es用户创建密码

passwd es

在这里插入图片描述
3.创建所属组

chown es:es -R /data1/elasticsearch-7.9.2

在这里插入图片描述

5. 服务器修改配置

下面操作5.1和5.2步骤完成后都需要系统重启,可以先按步骤完成后,重启一次即可

5.1 修改文件句柄数和线程数

防止es用户可创建文件权限过低导致报错

vim  /etc/security/limits.conf

添加以下内容:

#句柄
es  soft nofile 65536
es  hard nofile 65536
#线程
es  soft nproc 4096
es  hard nproc 4096

保存退出后需要系统重启!

上述配置是为了解决:

报错问题:max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
问题描述:elasticsearch用户拥有的可创建文件描述的权限太低,至少需要65536;

重启服务器后验证

su es
ulimit -Hn
ulimit -Sn
ulimit -Hu
ulimit -Su

5.2 关闭swapping

官方建议:把内存的一半给Lucene+不要超过32G+关闭swap
ES建议要关闭 swap 内存交换空间,禁用swapping。因为当内存交换到磁盘上,一个100微秒的操作可能变成 10毫秒,然后100 微秒的操作时延累加起来,可以看出 swapping 对于性能的影响是致命的

vim /etc/fstab

注释含有swap一行
在这里插入图片描述
保存退出后需要系统重启!

注释前:
在这里插入图片描述
注释后:
在这里插入图片描述

5.3 修改虚拟内存

vim /etc/sysctl.conf

添加以下内容:

vm.max_map_count=262144

保存退出,刷新配置文件

sysctl -p

验证是否修改成功

sysctl vm.max_map_count

上述配置是为了解决:

报错问题:max virtual memory areas vm.max_map_count [65530] is too low,
increase to at least [262144]

6. 启动es

6.1 前台运行启动es(不推荐)

切换用户到es,使用es用户启动elasticsearch,此种方式Ctrl + C 则程序终止

# 切换到es用户,使用root用户启动会报错
su es

# 进入到es的bin目录
cd /data1/elasticsearch-7.9.2/bin

# 执行启动脚本,此种方式Ctrl + C 则程序终止
./elasticsearch

在这里插入图片描述
ctrl + c 停止运行
在这里插入图片描述

注意:如果root用户启动会报错
报错问题:org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as rootes
问题描述:不能用root用户启动,必须创建es用户来启动
在这里插入图片描述

6.2 后台守护进程方式运行(推荐)

# 切换到es用户,使用root用户启动会报错
su es

# 进入到es的bin目录
cd /data1/elasticsearch-7.9.2/bin

# 执行启动脚本,守护进程方式运行
 ./elasticsearch -d

关闭ES服务

kill -9 pid

在这里插入图片描述

6.3 自定义启动与关闭脚本(推荐)

创建启动脚本

# 创建es启动脚本文件
touch es-start.sh
# 编辑脚本
vim es-start.sh 
# 设置用户组
chown es:es es-start.sh 
# 设置执行权限
chmod 755 es-start.sh 

es-start.sh

cd /data1/elasticsearch-7.9.2
./bin/elasticsearch -d -p pid

创建停止脚本

# 创建es停止脚本文件
touch es-stop.sh
# 编辑脚本
vim es-stop.sh 
# 设置用户组
chown es:es es-stop.sh 
# 设置执行权限
chmod 755 es-ststoprt.sh 

es-stop.sh

cd /data1/elasticsearch-7.9.2
if [ -f "pid" ]; then
pkill -F pid
fi

启动与关闭
在这里插入图片描述

7.开放防火墙端口

#查看防火墙状态
systemctl status firewalld 
#查看开放的端口
firewall-cmd --query-port=9200/tcp
#添加端口
firewall-cmd --zone=public --add-port=9200/tcp --permanent 
#重载防火墙
firewall-cmd --reload 
#再次查看端口是否已经开放
firewall-cmd --query-port=9200/tcp

8. 安装chrome可视化head插件

访问es数据库的Chrome插件
先解压到本地目录,然后在chrome中 安装这个插件
在这里插入图片描述
选择解压的目录然后安装
在这里插入图片描述
输入es连接地址,点击连接,健康值绿色即表示成功启动
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_29864051/article/details/131145003