Linux 安装elasticsearch-7.5.1

相关链接
官⽹: https://www.elastic.co/cn/downloads/elasticsearch
下载: wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.5.1-linux-x86_64.tar.gz
分词器: https://github.com/medcl/elasticsearch-analysis-ik
官网下载可能比较慢,下面提供7.5.1版本的下载地址
百度云链接:https://pan.baidu.com/s/1gQ-TMFAslRK8vxf9kx6eSQ
提取码:3o1q

一、es安装

1.把elasticsearch-analysis-ik-7.5.1.zip和elasticsearch-7.5.1-linux-x86_64.tar.gz拷贝到目录 /opt/app/elk

2. 解压:
tar xvf elasticsearch-7.5.1-linux-x86_64.tar.gz


3. 查询主机名:hostname

4.修改 elasticsearch-7.5.1/ config/elasticsearch.yml,在最后添加

bash 复制代码
#主机名,通过 hostname 命令查询到
cluster.initial_master_nodes: ["主机名"]
network.host: 0.0.0.0
http.port: 9200
http.cors.enabled: true
http.cors.allow-origin: "*"
bash 复制代码
vi elasticsearch-7.5.1/config/elasticsearch.yml

5.修改⽂件描述符: vi /etc/sysctl.conf,在最后面添加

bash 复制代码
vm.max_map_count=64000

6.执行命令sysctl -p,让配置生效

7.启动

bash 复制代码
#es不允许root⽤户启动,需要添加新⽤户身份
#创建elsearch⽤户组及elsearch⽤户
groupadd elsearch
useradd elsearch -g elsearch -p elasticsearch-7.5.1
#更改elasticsearch⽂件夹及内部⽂件的所属⽤户及组为elsearch:elsearch
chown -R elsearch:elsearch elasticsearch-7.5.1
#切换到elsearch⽤户再启动
su elsearch
#启动
./elasticsearch-7.5.1/bin/elasticsearch

我这里启动报错了

主要报错信息有3个

bash 复制代码
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
[2]: max number of threads [3795] for user [elsearch] is too low, increase to at least [4096]
[3]: max virtual memory areas vm.max_map_count [64000] is too low, increase to at least [262144]

8.解决报错

问题1:

bash 复制代码
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]

解决:

bash 复制代码
#切换到root用户修改
su root
vi /etc/security/limits.conf

#在最后面追加下面内容,elsearch为刚刚创建的es用户
elsearch hard nofile 65536
elsearch soft nofile 65536

问题2:该报错是因为 elasticsearch 启动的时候要求当前用户最大线程数至少为 4096 个线程,而操作系统限制该用户最大线程数为 3795,只需要修改当前用户的最大线程数即可。可以使用ulimit -a查看当前用户允许的最大线程数

bash 复制代码
[2]: max number of threads [3795] for user [elsearch] is too low, increase to at least [4096]

解决:

bash 复制代码
#使用root用户修改
vi /etc/security/limits.conf

#在最后面追加下面内容,elsearch为刚刚创建的es用户
elsearch - nproc 4096

问题3:刚刚修改的vm.max_map_count的值为64000还是太小了,根据提示,修改为262144即可

bash 复制代码
[3]: max virtual memory areas vm.max_map_count [64000] is too low, increase to at least [262144]

解决:执行第5、6步

9.切换elsearch用户,并启动

执行 curl http://localhost:9200,出现下面信息说明启动成功

10.上面的启动,如果关闭控制台,服务则会停止,下面创建一个守护进程的启动脚本

bash 复制代码
#切换到root用户
su root

#进入到目录: /opt/app/elk/elasticsearch-7.5.1/bin/
cd /opt/app/elk/elasticsearch-7.5.1/bin/

#创建es.sh
vi es.sh

#往es.sh中添加以下内容
nohup sh /opt/app/elk/elasticsearch-7.5.1/bin/elasticsearch > /opt/app/elk/elasticsearch-7.5.1/logs/log.out &
tail -f /opt/app/elk/elasticsearch-7.5.1/logs/log.out
bash 复制代码
#给es.sh文件赋权给elsearch用户
chown elsearch.elsearch es.sh

#加上执行权限
chmod +x es.sh

11.切换elsearch用户,并执行es.sh

12.别的服务器访问不了,可能是是开启了防火墙,需要开放9200端口

bash 复制代码
#查看防火墙是否开启
systemctl status firewalld

输出以下信息为开启

bash 复制代码
#可通过如下命令查看是否生效,输出yes表示开启,no表示未开启
firewall-cmd --zone=public --query-port=9200/tcp

#开启920端口
firewall-cmd --zone=public --add-port=9200/tcp --permanent

#重新载入一下防火墙设置,使设置生效
firewall-cmd --reload

二、中文分词器安装

1.创建文件夹/opt/app/elk/elasticsearch-7.5.1/plugins/ik

2.将解压到ik目录中

bash 复制代码
unzip /opt/app/elk/elasticsearch-analysis-ik-7.5.1.zip -d /opt/app/elk/elasticsearch-7.5.1/plugins/ik/

3.给elsearch用户授权: chown elsearch.elsearch -R /opt/app/elk/elasticsearch-7.5.1/plugins/ik/

4.重启es

bash 复制代码
#查询进程
ps -ef | grep elastic

#杀进程
kill -9 3372

#切换elsearch用户
su elsearch

#执行es.sh启动es
./bin/es.sh 

5.验证分词器

命令验证

bash 复制代码
curl http://localhost:9200/_analyze -X POST -H 'Content-Type:application/json' -d '{"text":"test elasticsearch 测试分词效果","analyzer": "ik_smart"}'

postman验证

日志平台搭建第一章:Linux 安装elasticsearch-7.5.1_bill447的博客-CSDN博客

日志平台搭建第二章:Linux使用docker安装elasticsearch-head_bill447的博客-CSDN博客

日志平台搭建第三章:Linux安装logstash_bill447的博客-CSDN博客

日志平台搭建第四章:Linux安装kibana_bill447的博客-CSDN博客

相关推荐
Gofarlic_oms13 小时前
利用API实现ANSYS许可证管理自动化集成
运维·服务器·开发语言·matlab·自动化·负载均衡
档案宝档案管理4 小时前
权限分级管控,全程可追溯,筑牢会计档案安全防线
运维·网络·人工智能
倔强的石头1065 小时前
【Linux指南】基础IO系列(八):实战衔接 —— 给微型 Shell 添加完整重定向功能
linux·运维·服务器
try2find5 小时前
打印ascii码报错问题
java·linux·前端
观北海6 小时前
AiScan-N:AI全自动化渗透测试工具的深度技术解析
运维·自动化
Ujimatsu6 小时前
虚拟机安装Ubuntu 26.04.x及其常用软件(2026.4)
linux·运维·ubuntu
恼书:-(空寄8 小时前
ES性能调优实战指南
elasticsearch
一直会游泳的小猫9 小时前
homebrew
linux·mac·工具·包管理
Agent产品评测局9 小时前
制造业生产调度自动化落地,完整步骤与避坑指南:2026企业级智能体选型与实战全景
运维·人工智能·ai·chatgpt·自动化
寒秋花开曾相惜9 小时前
(学习笔记)4.2 逻辑设计和硬件控制语言HCL(4.2.1 逻辑门&4.2.2 组合电路和HCL布尔表达式)
linux·网络·数据结构·笔记·学习·fpga开发