目录
2、Elasticsearch 在 linux 下的安装部署
2.4 修改 config/elasticsearch.yml(√)
2.5 建用户并赋权 ,增加用户 es,启动使用 es 用户(root用户启动报错)
2.6 启动 ElasticSearch (-d 表示在后台启动)
1.启动服务时,使用了root用户,导致再次使用es(非管理员用户)无法启动
2. max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
3.max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
一,ELk 安装部署 linux 环境
1、关于 Elasticsearch 的简介
Elaticsearch,简称为 es, es 是一个开源的高扩展的分布式全文检索引擎,它可以近乎实时的存储、检索数据;本身扩展性很好,可以扩展到上百台服务器,处理 PB 级别的数据。es 也使用 Java 开发并使用 Lucene 作为其核心来实现代码所有索引和搜索的功能,但是它的目的是通过简单的 RESTful API 来隐藏 Lucene 的复杂性,从而让全文搜索变得简单。
温馨提示:不同的版本安装可能有差异,请各位注意,还有就是 Elasticsearch,Logstash,Kibana 分词器(下面文章用IK分词器演示) 四者的版本要保持一致,否则可能会导致报错。
2、Elasticsearch 在 linux 下的安装部署
2.1下载压缩包
http://wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.13.2-linux-x86_64.tar.gz
注意:这里选择7版本的Elasticsearch 原因是8版本的有安全策略只能通过https(有域名备案)访问
2.2解压
tar -zxvf elasticsearch-7.17.23-linux-x86_64.tar.gz -C /usr/local
这里的—C不是C盘,-C /usr/local
指定了解压目标目录为 /usr/local
2.3 修改配置文件
cd /usr/local/elasticsearch-7.13.2/bin
2.4 修改 config/elasticsearch.yml(√)
[root@localhost elasticsearch-7.8.0]# vim config/elasticsearch.yml
vim常用命令
i插入,ESC退出编辑模式,:W保存但不退出,:WQ退出编辑模式并保存(千万别忘:)
添加以下几项:
# network.host: 172.22.170.131 #主机地址,这里写本机
IP http.port: 9200 #端口
http.cors.enabled: true #设置跨域
http.cors.allow-origin: "*" #设置访问
2.5 建用户并赋权 ,增加用户 es,启动使用 es 用户(root用户启动报错)
添加用户 es
adduser es
将对应的文件夹权限赋予用户 es
chown -R es /usr/local/elasticsearch
使用 es 用户
root@localhost elasticsearch-7.8.0]# su es
2.6 启动 ElasticSearch (-d 表示在后台启动)
[es@localhost elasticsearch-7.8.0]$ ./bin/elasticsearch -d
2.7此时需要新开一个终端查看查看服务状态
systemctl status elasticsearch.service
2.8验证测试
sudo netstat -tuln | grep 9200
#访问 Elasticsearch:
终端输入 curl http://localhost:9200
2.9 停止 Elasticsearch 服务
1.查找 ES 进程
ps -ef | grep elastic
2.杀掉 ES 进程
kill -9 2382(进程号)
3.ElasticSearch问题汇总
1.启动服务时,使用了root用户,导致再次使用es(非管理员用户)无法启动
解决办法:
进入logs目录修该文件所属用户和所属组(下面的keep是你准备启动ES的非管理员用户)
chown -R keep elasearch_server.json
chown -R keep elasearch.log
或者
chown keep:keep elasearch.log
chown keep:keep elasticsearch_server.json
2. max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
找到文件 vim /etc/security/limits.conf,编辑,在文件的最后追加如下配置:
*soft nofile 65535
*hard nofile 65537
注意:这个* 是我们所有的用户
重新登录系统后生效
[es@localhost ~]$ ulimit -Hn
65535
[es@localhost ~]$ ulimit -Sn
65535
3.max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[es@localhost ~] vim /etc/sysctl.conf 添加下面配置:
vm.max_map_count=262144
并执行命令:
sysctl -p
4.the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
配置文件中 添加:
[root@basic100 elasticsearch-7.8.0]# vim config/elasticsearch.yml
cluster.initial_master_nodes: ["node-1"]
二,安装部署 Kibana
1、下载
wget -c https://artifacts.elastic.co/downloads/kibana/kibana-7.17.23-linux-x86_64.tar.gz
2、解压并移动到指定目录
解压到当前目录
[root@localhost ~]# tar -zxvf kibana-7.17.23-linux-x86_64.tar.gz
重命名并移动到指定目录
[root@localhost ~]# mv ./kibana-7.17.23-linux-x86_64 /usr/local/kibana-7.17.23
3、修改配置文件
[root@localhost ~]$cd /usr/local/kibana-7.17.23
[root@localhost kibana-7.17.23]# vim ./config/kibana.yml
# 服务端口
server.port: 5601
# 服务器 ip 所以 ip 可以访问
server.host: "0.0.0.0"
# Elasticsearch 服务地址
elasticsearch.hosts: ["http://localhost:9200"]
# 设置语言为中文
i18n.locale: "zh-CN"
4.授权并切换用户
给 es 用户授予 kibana 目录的权限
root@localhost ~]# chown -R es /usr/local/kibana-7.17.23
切换用户
root@localhost ~]# su es
5、启动 Kibana
注意:启动 Kibana 之前需要先启动 Elasticsearch 需要先配置防火墙打开 5601 端口:
[root@localhost kibana-7.17.23]# firewall-cmd --permanent --add-port=5601/tcp success
[root@localhost kibana-7.17.23]# firewall-cmd --permanent --add-port=5601/udp success
[root@localhost kibana-7.17.23]# firewall-cmd --reload success
123456
前台启动方式
[es@localhost kibana-7.17.23]$ ./bin/kibana
后台启动方式
@localhost kibana-7.17.23]$ nohup ./bin/kibana
6.验证
curl -X GET "localhost:5601"
7、停止 kibana 服务
kibana 没有提供 stop 访问的命令,只能通过 kill 进程的方式,尝试了多种方法,只有一种方式好使:
1,根据端口号查询进程号
netstat -anltp|grep 5601
如图,找到进程号:
2,杀死进程
kill -9 5442
3、启动 kibana
三、安装 ik 分词器
Linux 下安装 ik 分词器
- 首先下载 ik 分词器 下载地址: Releases · infinilabs/analysis-ik · GitHub
注意:es-ik 分词插件版本一定要和 es 安装的版本对应
但是我使用的是7.17.23版本的ElasticSearch和Kibana,而ik分词器github只有7.17.18版本的,
此时我们可以下载7.17.18版本手动更改配置文件中的version改为7.17.23即可
ik分词器不分linux和windows版本,可以windows下载后,放入es 安装目录下的 plugins 目录中 新建的 ik 文件夹下
切换至 es账号重新启动 es 服务器