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博客

相关推荐
热爱嵌入式的小许2 小时前
Linux基础项目开发1:量产工具——显示系统
linux·运维·服务器·韦东山量产工具
hengzhepa4 小时前
ElasticSearch备考 -- Async search
大数据·学习·elasticsearch·搜索引擎·es
韩楚风6 小时前
【linux 多进程并发】linux进程状态与生命周期各阶段转换,进程状态查看分析,助力高性能优化
linux·服务器·性能优化·架构·gnu
陈苏同学6 小时前
4. 将pycharm本地项目同步到(Linux)服务器上——深度学习·科研实践·从0到1
linux·服务器·ide·人工智能·python·深度学习·pycharm
Ambition_LAO6 小时前
解决:进入 WSL(Windows Subsystem for Linux)以及将 PyCharm 2024 连接到 WSL
linux·pycharm
Pythonliu76 小时前
茴香豆 + Qwen-7B-Chat-Int8
linux·运维·服务器
你疯了抱抱我6 小时前
【RockyLinux 9.4】安装 NVIDIA 驱动,改变分辨率,避坑版本。(CentOS 系列也能用)
linux·运维·centos
追风赶月、6 小时前
【Linux】进程地址空间(初步了解)
linux
栎栎学编程6 小时前
Linux中环境变量
linux
挥剑决浮云 -7 小时前
Linux 之 安装软件、GCC编译器、Linux 操作系统基础
linux·服务器·c语言·c++·经验分享·笔记