相关链接
#主机名,通过 hostname 命令查询到
cluster.initial_master_nodes: ["主机名"]
network.host: 0.0.0.0
http.port: 9200
http.cors.enabled: true
http.cors.allow-origin: "*"
vi elasticsearch-7.5.1/config/elasticsearch.yml
5.修改⽂件描述符: vi /etc/sysctl.conf,在最后面添加
vm.max_map_count=64000
6.执行命令sysctl -p,让配置生效
7.启动
#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个
[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:
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
解决:
#切换到root用户修改
su root
vi /etc/security/limits.conf
#在最后面追加下面内容,elsearch为刚刚创建的es用户
elsearch hard nofile 65536
elsearch soft nofile 65536
问题2:该报错是因为 elasticsearch 启动的时候要求当前用户最大线程数至少为 4096 个线程,而操作系统限制该用户最大线程数为 3795,只需要修改当前用户的最大线程数即可。可以使用ulimit -a
查看当前用户允许的最大线程数
[2]: max number of threads [3795] for user [elsearch] is too low, increase to at least [4096]
解决:
#使用root用户修改
vi /etc/security/limits.conf
#在最后面追加下面内容,elsearch为刚刚创建的es用户
elsearch - nproc 4096
问题3:刚刚修改的vm.max_map_count的值为64000还是太小了,根据提示,修改为262144即可
[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.上面的启动,如果关闭控制台,服务则会停止,下面创建一个守护进程的启动脚本
#切换到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
#给es.sh文件赋权给elsearch用户
chown elsearch.elsearch es.sh
#加上执行权限
chmod +x es.sh
11.切换elsearch用户,并执行es.sh
12.别的服务器访问不了,可能是是开启了防火墙,需要开放9200端口
#查看防火墙是否开启
systemctl status firewalld
输出以下信息为开启
#可通过如下命令查看是否生效,输出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目录中
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
#查询进程
ps -ef | grep elastic
#杀进程
kill -9 3372
#切换elsearch用户
su elsearch
#执行es.sh启动es
./bin/es.sh
5.验证分词器
命令验证
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博客