IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 运维实操——日志分析系统ELK(上)之elasticsearch -> 正文阅读

[大数据]运维实操——日志分析系统ELK(上)之elasticsearch


ELK是elasticsearch、logstash、kibana的组合建成,安装时,三个软件的版本需要匹配。

1、什么是elasticsearch?

Elasticsearch 是一个开源的分布式搜索分析引擎,建立在一个全文搜索引擎库 Apache Lucene基础之上。Elasticsearch 不仅仅是 Lucene,并且也不仅仅只是一个全文搜索引擎,它具有如下特点:

  • 一个分布式的实时文档存储,每个字段可以被索引与搜索
  • 一个分布式实时分析搜索引擎
  • 能胜任上百个服务节点的扩展,并支持 PB 级别的结构化或者非结构化数据
基础模块作用
cluster管理集群状态,维护集群层面的配置信息
alloction封装了分片分配相关的功能和策略
discovery发现集群中的节点,以及选举主节点
gateway对收到master广播下来的集群状态数据的持久化存储
indices管理全局级的索引设置
http允许通过JSON over HTTP的方式访问ES的API
transport用于集群内节点之间的内部通信
engine封装了对Lucene的操作及translog的调用

Elasticsearch的官网是https://www.elastic.co/cn/
Elasticsearch的功能强大,常用的应用场景有:

  • 信息检索
  • 日志分析
  • 业务数据分析
  • 数据库加速
  • 运维指标监控

2、单节点elasticsearch安装

实验准备三台新虚拟机server3、server4、server5,三个虚拟机分别给了2G内存,先建立单节点,后面创建集群。
准备elasticsearch的安装包,官网下载https://elasticsearch.cn/download/
我这里用了之前的server3和server4,server5是新创的。所以先清理server3环境
在这里插入图片描述
清理server4环境
在这里插入图片描述
安装软件
在这里插入图片描述
进入/etc/elasticsearch/,编辑主配置文件
在这里插入图片描述
设置集群名称为my-es,节点名称为server3
在这里插入图片描述
任何主机都可以访问,http端口为9200
在这里插入图片描述
发现的主机有server3、server4、server5,初始化节点为server3
在这里插入图片描述
开启elasticsearch,并设置开机自启,查看开启了9200端口
在这里插入图片描述
真机网页访问http://172.25.77.3:9200,测试成功
在这里插入图片描述
由于修改了集群名字,现在查看日志用cat /var/log/elasticsearch/my-es.log,此处可以禁用swap分区,实验效果更加流畅,不禁用swap也没问题

3、搭建elasticsearch集群

接下来给server4和server5配置
server3把rpm给server4和server5发一份,server4安装elasticsearch
在这里插入图片描述
server5安装elasticsearch
在这里插入图片描述
由于主配置文件基本一致,所以server3把elasticsearch.yml给server4和server5发一份,再改
server4进入/etc/elasticsearch/目录,编辑主配置文件elasticsearch.yml,把节点名称改为server4,其他都不变
在这里插入图片描述
类似的,server5进入/etc/elasticsearch/目录,编辑主配置文件elasticsearch.yml,把节点名称改为server5,其他都不变
在这里插入图片描述
server4开启elasticsearch,设置开机自启
在这里插入图片描述
server5开启elasticsearch,设置开机自启
在这里插入图片描述
测试,网页访问http://172.25.77.4:9200,测试成功
在这里插入图片描述
测试,网页访问http://172.25.77.5:9200,测试成功
在这里插入图片描述

4、elasticsearch可视化方法1——cerebro插件

由于elasticsearch看着很不舒服,看不懂,所以想要图形化的界面,引入了cerebro

cerebro是镜像,正好真机是8.2的红帽系统,自带podman,所以在真机导入镜像,podman run -d --name cerebro -p 9000:9000 lmenezes/cerebro运行该镜像,默认开放9000端口
在这里插入图片描述
网页访问http://172.25.77.250:9000,进入,需要输入监听的地址,http://172.25.77.3:9200
在这里插入图片描述
成功进入cerebro,点击nodes,可以看到集群中三个节点都在
在这里插入图片描述

5、elasticsearch可视化方法2——elasticsearch-head插件

elasticsearch-head是elasticsearch自带插件

下载elasticsearch-head插件,官网https://github.com/mobz/elasticsearch-head/archive/master.zip;head插件本质上是一个nodejs的工程,因此需要安装nodejs,https://mirrors.tuna.tsinghua.edu.cn/nodesource/rpm_9.x/el/7/x86_64/nodejs-9.11.2-1nodesource.x86_64.rpm

先安装nodejs,由于master.zip需要解压工具,所以安装unzip
在这里插入图片描述
解压master.zip
在这里插入图片描述
进入解压目录elasticsearch-head-master,由于npm慢,所以更换为cnpm源。查看版本号
在这里插入图片描述
安装bzip2,(安装cnpm需要用到)
在这里插入图片描述
安装cnpm
在这里插入图片描述
进入_site/子目录,查看app.js文件
在这里插入图片描述
可以看到监控的是9200端口
在这里插入图片描述
server3后台运行head插件,他的端口是9100
在这里插入图片描述
开启端口为9100
在这里插入图片描述
进入/etc/elasticsearch目录,修改主配置文件elasticsearch.yml
在这里插入图片描述
允许跨域,*表示支持所有域名
在这里插入图片描述
重启elasticsearch
在这里插入图片描述
网页访问http://172.25.77.3:9100,监控http://172.25.77.3:9200的elasticsearch,可以看到集群的三个节点。*代表master节点
在这里插入图片描述

6、elasticsearch节点角色

节点角色功能
Master主要负责集群中索引的创建、删除以及数据的Rebalance等操作。Master不负责数据的索引和检索,所以负载较轻。当Master节点失联或者挂掉的时候,ES集群会自动从其他Master节点选举出一个Leader
Data Node主要负责集群中数据的索引和检索,一般压力比较大
Coordinating Node原来的Client node的,主要功能是来分发请求和合并结果的。所有节点默认就是Coordinating node,且不能关闭该属性
Ingest Node专门对索引的文档做预处理

在生产环境下,如果不修改elasticsearch节点的角色信息,在高数据量,高并发的场景下集群容易出现脑裂等问题。默认情况下,elasticsearch集群中每个节点都有成为主节点的资格,也都存储数据,还可以提供查询服务。

节点角色是由以下属性控制

  • node.master: 这个属性表示节点是否具有成为主节点的资格(注意:此属性的值为true,并不意味着这个节点就是主节点,只意味着有成为主节点的资格。因为真正的主节点,是由多个具有主节点资格的节点进行选举产生的
  • node.data: 这个属性表示节点是否存储数据
  • node.ingest: 是否对文档进行预处理
  • search.remote.connect: 是否禁用跨集群查询
    默认情况下这些属性的值都是true

生产集群中可以对这些节点的职责进行划分,专人负责专事
(1)建议集群中设置3台以上的节点作为master节点,这些节点只负责成为主节点,维护整个集群的状态。
(2)再根据数据量设置一批data节点,这些节点只负责存储数据,后期提供建立索引和查询索引的服务,这样的话如果用户请求比较频繁,这些节点的压力也会比较大。
(3)在集群中建议再设置一批协调节点,这些节点只负责处理用户请求,实现请求转发,负载均衡等功能。

下面简单测试,
server4编辑主编配置文件/etc/elasticsearch/elasticsearch.yml,添加node.data: false语句,表示该主机不存放数据
在这里插入图片描述
重启elasticsearch服务
在这里插入图片描述
可以看到server4现在没有data角色
在这里插入图片描述
而server3有data角色
在这里插入图片描述
其他的角色都可以测试,本文不再赘述

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-15 15:39:36  更:2021-08-15 15:42:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 9:28:39-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码