前言
本文主要介绍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.data
和path.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
启动与关闭
文章来源:https://www.toymoban.com/news/detail-478377.html
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连接地址,点击连接,健康值绿色即表示成功启动
文章来源地址https://www.toymoban.com/news/detail-478377.html
到了这里,关于Linux下ElasticSearch7.9.2安装配置(包含服务器配置、启动停止脚本、开放端口和elasticsearch-head插件的使用)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!