ElasticSearch+kibana安装
ElasticSearch安装
下载
下载地址:
https://www.elastic.co/cn/downloads/past-releases#elasticsearch
上传压缩包到Linux
Linux解压缩
命令:
tar -zxvf elasticsearch-7.12.1-linux-x86_64.tar.gz
目录介绍
在目录elasticsearch-7.12.1下新建一个data文件夹,用于存放数据
新建命令:
mkdir data
bin | 下面存放着Es启动文件 elasticsearch.bat/elasticsearch |
config | 配置目录 |
jdk、lib | Java运行环境以及依赖包 |
logs | 日志目录 |
modules、plugins | 模块及插件目录,head插件可以存放在plugins目录下 |
data | 数据目录(新建) |
基础配置
进入 data 文件夹下,执行 pwd 命令拷贝下该文件夹的路径,下面配置要用到!
修改配置文件elasticsearch.yml ;进入config文件夹,编辑文件
vi elasticsearch.yml
保存退出
:wq
回到elasticsearch-7.12.1文件夹下,进入 logs 文件夹,pwd 查看该文件夹路径,并复制!
然后重新到 config 目录下编辑elasticsearch.yml 文件:
跨域配置
在config目录下的elasticsearch.yml文件末尾添加跨域允许:
http.cors.enabled: true
http.cors.allow-origin: “*”
http.cors.allow-headers: Authorization,X-Requested-With,Content-Length,Content-Type
elasticsearch的分词器插件
elasticsearch默认带有分词器,但是支持的是英文分词,所以我们要安装一个可以对中文分词的插件
下载
下载地址:
https://github.com/medcl/elasticsearch-analysis-ik/releases/
选择自己适合的版本
安装
解压到elasticsearch插件文件夹下
首先我们进入 elasticsearch-7.12.1 文件夹下的 plugins 文件夹下,新建一个 ik 文件夹,用于存放 IK 分词器插件:
cd plugins/
mkdir ik
然后回到我们elasticsearch目录下 执行命令:
unzip elasticsearch-analysis-ik-7.12.1.zip -d /usr/local/elasticsearch/elasticsearch-7.12.1/plugins/ik
如果没有安装unzip命令 则需要先安装 yum install unzip zip。再执行上面的命令解压
yum install unzip zip
然后我们到 ik 目录下检查是否解压成功
Ik分词器的配置文件
进入config目录 dic结尾的就是分词配置
进入查看 extra_main.dic 配置文件:
可以看出,汉字相关的分词配置都是在配置文件中一个一个地枚举出来的!
elasticsearch服务启动与关闭
启动
进入bin目录,执行命令 ./elasticsearch 运行服务,后台运行命令:./elasticsearch -d
./elasticsearch
./elasticsearch -d
可能出现的问题一
说明不能以root 用户去启动 elasticsearch 服务!
解决办法
① 新建一个用户elasticsearch ;命令:adduser elasticsearch
② 然后到elasticsearch目录下,赋予elasticsearch-7.12.1这个文件夹的权限给elasticsearch用户;命令:chown -R elasticsearch elasticsearch-7.12.1
③ 切换到 elasticsearch 用户,命令:su elasticsearch
④ 进入bin目录,执行命令 ./elasticsearch 启动服务
adduser elasticsearch
chown -R elasticsearch elasticsearch-7.12.1
su elasticsearch
./elasticsearch
可能遇到的问题二
解决办法
解决[1]
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
① 切换到root用户,执行命令:su root 再输入密码 ;
② 进入/etc/security目录,执行命令:cd /etc/security ;修改配置limits.conf;执行命令:vi limits.conf
③ 添加配置
- soft nofile 65536
- hard nofile 65536
④ 之后重新登录生效
su root
cd /etc/security
vi limits.conf
* soft nofile 65536 * hard nofile 65536
解决[2]
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
① 切换到root用户,执行命令:su root 再输入密码 ;
② 进入/etc目录,执行命令:cd /etc ;修改配置sysctl.conf;执行命令:vi sysctl.conf
③ 在最后一行添加下面配置: vm.max_map_count=262144
④ 保存后退出并执行命令: sysctl -p
su root
cd /etc
vi sysctl.conf
sysctl -p
vm.max_map_count=262144
解决[3]
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
在elasticsearch-7.12.1的config目录下,修改elasticsearch.yml配置文件,将下面的配置加入到该配置文件中:
最后启动服务
切换回elasticsearch用户,执行命令:su elasticsearch
进入elasticsearch-7.12.1的bin目录,重新启动服务,后台运行命令:./elasticsearch -d
su elasticsearch
./elasticsearch -d
查看进程
ps -ef | grep elasticsearch
关闭
查看进程后,使用 kill -9 id杀进程
测试
根据官网文档
执行
curl http://127.0.0.1:9200
返回正常
安装Kibana
下载
下载地址:
上传压缩包到Linux
Linux解压缩
命令:
tar -zxvf kibana-7.12.1-linux-x86_64.tar.gz
基础配置
进入kibana-7.12.1-linux-x86_64/config/ 目录,执行命令:cd kibana-7.12.1-linux-x86_64/config/
修改配置文件kibana.yml,执行命令:vi kibana.yml
cd kibana-7.12.1-linux-x86_64/config/
vi kibana.yml
server.port: 5601
server.host: “0.0.0.0”
kibana.index: “.kibana”
保存退出
:wq
需要端口5601对外开放
查看指定端口是否已开,执行命令:firewall-cmd --query-port=5601/tcp
ps:yes 表示开启;no 表示未开启
firewall-cmd --query-port=5601/tcp
防火墙做5601的端口映射
执行命令:
firewall-cmd --zone=public --add-port=5601/tcp --permanent
firewall-cmd --reload
启动
进入bin目录,执行命令:
cd kibana-7.12.1-linux-x86_64/bin/
启动命令:./kibana 后台启动命令:nohup ./kibana &
./kibana
nohup ./kibana &
查看进程:
ps -ef|grep node
netstat -tunlp|grep 5601
可能出现的问题一
解决办法
① 到elasticsearch目录下,赋予kibana-7.12.1-linux-x86_64这个文件夹的权限给elasticsearch用户;命令:chown -R elasticsearch kibana-7.12.1-linux-x86_64
② 切换到 elasticsearch 用户,命令:su elasticsearch
③ 再进入bin目录,启动服务
chown -R elasticsearch kibana-7.12.1-linux-x86_64
su elasticsearch
访问kibana
链接:
http://192.168.1.200:5601/app/home#/
可能出现的问题
Kibana server is not ready yet
解决方案
查看elasticsearch进程;执行命令
ps -ef|grep elasticsearch
无进程:启动elasticsearch,执行curl http://127.0.0.1:9200,返回正常再访问kibana;
有进程:执行curl http://127.0.0.1:9200,返回正常再查看config/kibana.yml中的elasticsearch.hosts: [“http://localhost:9200”] 配置与elasticsearch是否一致,如果有用户名和密码还要查看elasticsearch.username: 和 elasticsearch.password: 是否配置正常;配置好后再访问kibana
参考博客:
https://blog.csdn.net/qq_35254085/article/details/116129084
https://blog.csdn.net/qq_44086320/article/details/115142417
https://blog.csdn.net/piaoranyuji/article/details/105656342
Linux下使用Kibana教程(详细图文演示)
https://www.cnblogs.com/snail90/p/11639859.html