es集群部署搭建
需求背景:
• 业务发展越来越庞大,服务器越来越多
• 各种访问日志、应用日志、错误日志量越来越多
• 开发人员排查问题,需要到服务器上查日志,效率低、权限不好控制
• 运维需实时关注业务访问情况
ELK 介绍
ELK 是三个开源软件的缩写,提供一套完整的企业级日志平台解决方案。
分别是:
• Elasticsearch:搜索、分析和存储数据
• Logstash :采集日志、格式化、过滤,最后将数据推送到Elasticsearch存储
• Kibana:数据可视化
• Beats :集合了多种单一用途数据采集器,用于实现从边缘机器向 Logstash 和 Elasticsearch 发送数据。里面应用最多的是Filebeat,是一个轻量级日志采集器。
ELK 架构
Elasticsearch
Elasticsearch(简称ES)是一个分布式、RESTful 风格的搜索和数据分析引擎, 用于集中存储日志数据。
Elasticsearch术语:
• Index:索引是多个文档的集合
• Document:Index里每条记录称为Document,若干文档构建一个Index
• Type:一个Index可以定义一种或多种类型,将Document逻辑分组
• Field:ES存储的最小单元
ES 部署
下载地址:https://www.elastic.co/cn/downloads/elasticsearch
支持多种部署方式:
• 二进制包 • yum • rpm • docker
二进制部署(集群方式安装,3台节点一样):
mkdir /opt/elk |
修改配置文件(集群方式)
节点1:
# vim config/elasticsearch.yml |
节点2,3配置注意:
#节点名称更改 |
配置系统服务管理(3台节点一样):
vim /usr/lib/systemd/system/elasticsearch.service |
验证:
查看集群节点: |
图形页面管理ES
管理ES的图形页面系统推荐:
• ElasticHD
• cerebro
部署ElasticHD(直接解压后台启动,端口是9800)
unzip elasticHD_linux_amd64.zip -d /opt/elk/ |
最后我想说的是,部署了3个节点,如果节点2和节点3的elasticsearch目录下的配置文件是从节点1(master节点)复制过来的,那么就要删除/opt/elk/elasticsearch/data目录下的nodes文件,之后重启节点2、3的es进程即可,否则只会显示一个master节点。
报错:搭建es集群,启动三个es节点,访问elasticsearch-head时只显示一个master
参考连接: