ELK分析系统----Elasticsearch集群

学习目标:

掌握Elasticsearch集群的简单使用

学习内容:

Elasticsearch介绍

Elasticsearch:存储、搜索和分析
Elastcisearch是ELK核心的分布式搜索和引擎。logstash和beats有助于收集,聚合和丰富你的数据并将其存储在Elasticsearch中,使用kibana,可以交互式探索,可视化和共享对数据的见解,并管理和监视堆栈。Elasticsearch是发生索引,搜索和分析数据的地方
Elastcisearch为所有类型的数据提供近乎实时的搜索和分析
支持的数据类型

  • 结构化文本
  • 非结构文本
  • 数字数据
  • 地理空间数据

文档

  • Elasticsearch是面向文档的,文档是所有可搜索数据的最小单位
  • 文档会被序列化成JSON格式,保存在Elasticsearch中
  • 每个文档都有一个唯一ID

文档源数据
在这里插入图片描述
索引
在这里插入图片描述

在这里插入图片描述

ES集群部署

elasticsearch是一个分布式、restful风格的搜索和数据分析引擎,能够解决不断涌现出的各种用例;它集中存储数据。
集群特征
高可用:节点可用性,数据可用性
可扩展:请求量提升、数据增长

集群中的节点角色

master-eligible(合格) Node和master Node

  • 每个节点启动后,默认就是一个master eligible节点
  • master-eligible节点可以参加选主流程,称为master节点
  • 当第一个节点启动时候,它会将自己选举成master节点
  • 每个节点上都保存了集群的状态,只有master节点才能修改集群的状态信息(所有节点的信息、所有的索引和其相关的mapping与setting信息、分片的路由信息)

date node 和coordinating(协调) node

  • date node:可以保存数据的节点,负责保存分片数据,在数据扩展上起到至关重要的作用
  • coordinating node:负责接收client的请求,将请求分发到合适的节点,最终把结果汇集到一起,每个节点默认都起到coordinating node的职责

分片
主分片和副本:

  • 主分片:用以解决数据水平扩展的问题,通过主分片可以将数据分布到集群内的所有节点上,一个分片是一个运行的Lucene的实例,主分片数在索引创建时指定,后续不允许修改,除非Reindex
  • 副本:用以解决数据高可用的问题,是主分片的拷贝,副本分片数可以动态调整,增加副本数,可以在一定程度上提供服务的可用性(读取的吞吐)
    在这里插入图片描述

部署步骤

  1. 首先导入Elasticsearch的gpg key,用于服务包完整性校验
#rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
  1. 创建elasticsearch服务的yum源文件,在/etc/yum.repo.d目录下
[elasticsearch]
name=Elasticsearch repostiory for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
  1. 配置好yum仓库后,开始安装
#yum -y install elasticsearch
  1. 下载好elasticsearch软件包之后,运行elasticsearch
#systemctl daemon-reload
#systemctl enable elasticsearch.service
#systemctl start elasticsearch.service
#systemctl status elasticsearch.service
  1. 服务启动之后可以通过命令查看进程端口和状态
    在这里插入图片描述
    在这里插入图片描述

  2. 二进制方式,下载二进制压缩包

#wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.13.2-linux-x86_64.tar.gz
#tar -zxvf elasticsearch-7.13.2-linux-x86_64.tar.gz -C /usr/local/
  1. 修改3台elasticsearch集群的配置文件
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    参数说明
cluster.name	#集群名称,各节点配置成相同的集群名称
node.name		#节点名称,各节点配置不同
node.data		#指示节点是否是数据节点,数据节点包含并管理索引的一部分
path.data		#各节点数据存放目录
network.host	#绑定节点IP
http.port		#监听端口
path.logs		#日志存放目录
discovery.seed.hosts	#指定集群成员,用于主动发现他们,所有成员都要写进来,包括自己,每个节点中应该写一样的信息
cluster.initial.master.nodes	#指定有资格成为master的节点
http.cores.enabled		#用于允许head插件访问ES
http.cores.allow-origin		#允许的源地址  
  • 启动集群
    在每个节点上启动elasticsearch进程

注意

  • yum方式直接启动服务即可,以下方式为二进制方式的启动

      - 切换到普通用户,(yum安装的直接使用systemctl start elastcisearch)
      - 执行如下命令 ./bin/elasticsearch -d (-d 后台运行)
    
  • 默认端口号是:
    9200 用于外部访问的监听端口,比如查看集群状态,向其传输数据,查询数据等
    9300 用户集群中节点之间的互相通信,比如主节点的选举,集群节点信息的通告等

  • 查看端口的命令:netstat -luntp
    注意:如果集群配置错误,想重新初始化集群,只需要删除数据目录,重启服务即可

  • 查看集群健康状态

curl -X GET "localhost:9200/_cat/health?v"

在这里插入图片描述
三种不同状态的含义

	 - 黄色:如果仅运行单个elasticsearch实例,则集群状态将保持黄色,单节点集群具有完整的功能,但是无法将数据复制到另一个节点以提供弹性
	 - 绿色:副本分片必须可用,集群状态为绿色
	 - 红色:某些数据不可用
  • 查看集群节点信息
curl -X GET "localhost:9200/_cat/nodes?v"

在这里插入图片描述

ES集群测试

使用filebeat收集nginx日志,输出到logstash,再由logstash处理完数据后输出到Elasticsearch

配置步骤
确保Elasticsearch集群可用

  1. logstash配置
    在这里插入图片描述

  2. 验证Elasticsearch是够创建索引
    在这里插入图片描述
    目前logstash-2022.10.24-000001是Elasticsearch自动创建的索引

  3. 创建自己需要的索引
    1、把访问日志access.log中的内容单独放到一个索引中
    2、把错误日志error.log中的内容单独放到另一个索引中

更新配置文件

  • logstash未使用filebeat内置模块的情况
    在这里插入图片描述
    在这里插入图片描述

  • logstash使用filebeat内置模块的情况
    在这里插入图片描述
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值