ELK搭建流程
前言
该架构基于springboot 2.x版本,使用的es + logstash + kibana
需要三者的版本一致!一致!一致!!下载包的时候一定要注意版本一致,不然会浪费很多时间,下载过程还是比较熬人的,本文统一使用7.5.1版本,如需要该版本的包可私信,共享以提高些效率,或者穿梭门, 提取密码:[te2h]
一、Elastic Search
众所周知,Elasticsearch 来源于作者 Shay Banon 的第一个开源项目Compass库,而这个库的最初目的只是为了给Shay当时正在学厨师的妻子做一个菜谱的搜索引擎
这里es也不做多余的介绍了,代码直接 ctrl+c 最让人省心
1.搭建es集群
为什么一开始就搞集群?因为单节点和集群搭建过程都是一样的,而且在今后开发中集群的占比更大,高可用,何乐而不为呢?
首先下载elasticsearch包,官网,确定7.5.1版本,如果上不去或者网速堪忧可使用穿梭门 , 提取密码:[te2h]
rg:穿梭门中额外还有es的head插件(es视图插件,可理解同kibana功能一样,但是界面没那么好看,在老版本中head插件是集成在es中,后期被剥离了出来,再后来…就这样了)
es的ik分词器,可自行百度
将压缩包解出3份,分为3个节点,可用下面命令进行解压缩和复制。
tar -zxvf elasticsearch-7.5.1-linux-x86_64.tar.gz elasticsearch-7.5.1-node1
cp elasticsearch-7.5.1-node1 elasticsearch-7.5.1-node2
cp elasticsearch-7.5.1-node1 elasticsearch-7.5.1-node3
为什么是3个节点?因为2个节点可能会出现脑裂。
那又什么脑裂?脑裂就是当前master节点假死状态,slave节点晋升为master,此时上任master又‘活’了过来,造成集群中存在两个master节点,但是master节点负责写数据,那两个master谁负责?所以数据就混乱了(大致这个意思,当节点之间网络传输出现问题,相互不能访问,也是脑裂)
首先进入第一个节点的conf
文件夹,编辑elasticsearch.yml
文件,添加一下配置
# 集群名称
cluster.name: shaun-es
# 节点名称
node.name: node-1
# 主节点
node.master: true
# 数据节点
node.data: true
# 确保外网和内网均能访问
network.host: 0.0.0.0
# http协议,用户外部通讯
http.port: 9200
# Tcp协议,用于节点间的数据传输
transport.port: 9300
# 最大节点数量
node.max_local_storage_nodes: 3
#三个节点
discovery.seed_hosts: ["172.17.0.8:9300", "172.17.0.8:9301", "172.17.0.8:9302"]
# 确保当前节点是主节点
cluster.initial_master_nodes: [&#