linux 部署elasticsearch搜索引擎+kibana
一.elasticsearch
1.简介
ES是一个基于RESTful web接口并且构建在Apache Lucene之上的开源分布式搜索引擎。
同时ES还是一个分布式文档数据库,其中每个字段均可被索引,而且每个字段的数据均可被搜索,能够横向扩展至数以百计的服务器存储以及处理PB级的数据。
可以在极短的时间内存储、搜索和分析大量的数据。通常作为具有复杂搜索场景情况下的核心发动机。
ES就是为高可用和可扩展而生的。一方面可以通过升级硬件来完成系统扩展,称为垂直或向上扩展(Vertical Scale/Scaling Up)。
另一方面,增加更多的服务器来完成系统扩展,称为水平扩展或者向外扩展(Horizontal Scale/Scaling Out)。尽管ES能够利用更强劲的硬件,但是垂直扩展毕竟还是有它的极限。真正的可扩展性来自于水平扩展,通过向集群中添加更多的节点来分担负载,增加可靠性。ES天生就是分布式的,它知道如何管理多个节点来完成扩展和实现高可用性。意味应用不需要做任何的改动
2.安装elasticsearch
下载elasticsearch安装包(我这里版本是7.10.0)
elasticsearch官网下载https://www.elastic.co/cn/downloads/elasticsearch
把安装包放到你喜欢的目录下
温馨提示:最好新建一个es文件夹,把elasticsearch相关的安装包放进去,方便管理,因为除了有elasticsearch,后面还要安装还有kibana(可视化工具),go-mysql-elasticsearch(mysql与elasticsearch数据同步插件),ki分词插件。
解压elasticsearch
tar -zxvf elasticsearch-7.10.0-linux-x86_64.tar.gz
编辑配置文件
编辑jvm.options
vi jvm.options
默认配置:-Xms1g -Xmx1g为
编辑elasticsearch.yml
vi elasticsearch.yml
node.name: node-1 #配置当前es节点名称(默认是被注释的,并且默认有一个节点名)
cluster.name: my-application #默认是被注释的,并且默认有一个集群名
path.data: /home/es/elasticsearch-7.10.0/data # 数据目录位置
path.logs: /home/es/elasticsearch-7.10.0/logs # 日志目录位置
network.host: 0.0.0.0 #绑定的ip:默认只允许本机访问,修改为0.0.0.0后则可以远程访问
http.port: 9200 #端口
cluster.initial_master_nodes: ["node-1", "node-2"] #默认是被注释的 设置master节点列表 用逗号分隔(和node.name必须对应)
编辑/etc/security/limits.conf文件 增加配置
vi /etc/security/limits.conf
在文件最后,增加如下配置:如果有,则不需添加
* soft nofile 65536
* hard nofile 65536
在/etc/sysctl.conf文件最后添加一行 vm.max_map_count=655360 添加完毕之后,执行命令: sysctl -p
编辑sysctl.conf
vi /etc/sysctl.conf
最后一行添加
vm.max_map_count=655360
#重启生效
sysctl -p
3.启动elasticsearch
创建新账号
elasticsearch不允许root账号启动,解释为不安全
创建用户:useradd esuser
设置密码:passwd esuser
将es文件夹下的所有目录的权限给esuser用户
chgrp -R esuser ./es
chown -R esuser ./es
chmod 777 es
切换账号esuser
su esuser
启动
进入es安装目录
cd /home/es/elasticsearch-7.10.0
./bin/elasticsearch
后台启动
./bin/elasticsearch -d
如果访问不了看看是否是防火墙没开放端口,如果是阿里的服务器,阿里云平台也要开放端口
4.ElasticSearch设置账号密码
编辑elasticsearch.yml文件,向其中添加:
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
运行:./bin/elasticsearch-setup-passwords interactive
Initiating the setup of passwords for reserved users elastic,apm_system,kibana,logstash_system,beats_system,remote_monitoring_user.
You will be prompted to enter passwords as the process progresses.
Please confirm that you would like to continue [y/N]y #y同意
#依次设置以下一个账号的密码
Enter password for [elastic]:
Reenter password for [elastic]:
Enter password for [apm_system]:
Reenter password for [apm_system]:
Enter password for [kibana]:
Reenter password for [kibana]:
Enter password for [logstash_system]:
Reenter password for [logstash_system]:
Enter password for [beats_system]:
Reenter password for [beats_system]:
Passwords do not match.
Try again.
Enter password for [beats_system]:
Reenter password for [beats_system]:
Enter password for [remote_monitoring_user]:
Reenter password for [remote_monitoring_user]:
Changed password for user [apm_system]
Changed password for user [kibana]
Changed password for user [logstash_system]
Changed password for user [beats_system]
Changed password for user [remote_mon
设置完成后重新启动
查看进程:ps -ef|grep elasticsearch
kill掉进程:kill -9 id
后台启动:./bin/elasticsearch -d
再访问地址,提示要登录了
二.IK中文分词插件
注意版本要一样
下载地址:https://github.com/medcl/elasticsearch-analysis-ik
elasticsearch-analysis-ik-7.10.0.zip
cd es/elasticsearch-7.10.0/plugins #进入到plugins
mkdir ik #新建ik文件夹
把下载的ik压缩包放进新建的ik文件夹
解压 tunzip elasticsearch-analysis-ik-7.10.0.zip
三.kibana 可视化工具
kibana的版本必须与ealsticsearch版本一样
1.安装
kibana的下载地址:https://www.elastic.co/cn/downloads/past-releases#kibana
放到es文件夹下解压kibana
tar -zxvf kibana-7.10.0-linux-x86_64.tar.gz
2.编辑kibana.yml
cd kibana-7.10.0-linux-x86_64/config
vi kibana.yml
server.port: 5601 #端口
server.host: "0.0.0.0" #远程访问
elasticsearch.username: "test" #账号没有的话不用设置
elasticsearch.password: "test" #密码没有的话不用设置
i18n.locale: "zh-CN" #设置工具为中文
3.启动
启动:./bin/kibana
后台启动:./bin/kibana &
关闭方式跟elasticsearch一样
如果访问不了看看是否是防火墙没开放端口,如果是阿里的服务器,阿里云平台也要开放端口