ELK-介绍及Elasticsearch集群搭建
- ELK是三个开源软件的缩写,分别为Elasticsearch、Logstash、kibana它们都是开源软件。后来新增了一个FileBeat,它是一个轻量及的日志收集处理工具,因为Logstash由java程序开发,比较消耗内存资源,后来将Logstash使用go语言重新编译,升级为了FileBeat。
- Elasticsearch是一个基于Lucene搜索引擎的NoSql数据库,用于存储Logstash(日志管道工具)收集来的数据,最后由Kibana图形化界面工具来呈现出来,它工作在Elasticsearch之上。
- Es集群中没有中心节点,从外部来看ES集群在逻辑上是一个整体,你与任何一个节点的通信和与整个es集群通信都是等价的。
- Elasticsearch集群:
- 1)节点(node):一个节点是集群中的一台服务器,是集群的一部分。它存储数据,参与集群的索引和搜索功能。集群中有一个主节点,主节点通过ES集群内部选举产生。
- 2)集群(cluster):一组节点组织在一起称为一个集群,它们共同持有整个的数据,并一起提供索引和搜索功能。
- 3)分片(shards):ES可以把完整的索引分成多个分片,分别存储在不同的节点上。
- 4)副本(replicas):ES可以为每个分片创建副本,提高查询效率,保证在分片数据丢失后的恢复。
- 分片数量只能在索引创建时指定,索引创建后不能再更改分片数量,但可以改变副本的数量。
- 本章实验环境介绍:
- 三台服务器:

- 192.168.8.5、192.168.8.6、192.168.8.7
- elasticsearch 软件版本:6.6.0
- 开始部署:
- 三台主机分别安装es:
- 软件包下载路径:wget https://mirrors.tuna.tsinghua.edu.cn/elasticstack/6.x/yum/6.6.0/elasticsearch-6.6.0.rpm
- 安装软件包(无需依赖包):
- rpm -ivh elasticsearch-6.6.0.rpm
- elasticsearch目录和文件讲解:
- /etc/elasticsearch/elasticsearch.yml #配置文件
- /etc/elasticsearch/jvm.options #java虚拟机
- /etc/init.d/elasticsearch #服务启动脚本
- /etc/sysconfig/elasticsearch #elasticsearch服务变量
- /usr/lib/sysctl.d/elasticsearch.conf #设置elasticsearch用户使用的内存大小
- /usr/lib/systemd/system/elasticsearch.service #添加系统服务文件
- /var/log/elasticsearch/elasticsearch.log #日志文件路径
- 修改配置文件:
- vim /etc/elasticsearch/elasticsearch.yml
- 去掉以下几行前边的注释:
- node.name: node-1 #群集中本机节点名
- path.data: /data/elasticsearch #数据目录
- path.logs: /var/log/elasticsearch #日志目录
- bootstrap.memory_lock: true #锁定内存,需要和/etc/elasticsearch/jvm.options关联
- network.host: 192.168.8.10,127.0.0.1 #监听的ip地址
- http.port: 9200 #端口号
- 去掉以下几行前边的注释:
- vim /etc/elasticsearch/elasticsearch.yml
- 创建数据目录,并修改权限:
- mkdir -p /data/elasticsearch
- chown -R elasticsearch.elasticsearch /data/elasticsearch/
- 加载重启服务:
- systemctl daemon-reload
- systemctl restart elasticsearch
- 查看9200端口是否开启:
- netstat -anput | grep 9200
- 第一台部署成功后,使用浏览器下载插件访问8.5主机:
- 直接访问可以看到它的状态信息

- 下载es-head插件:GitHub - mobz/elasticsearch-head: A web front end for an elastic search cluster
- 谷歌浏览器示范:
- 谷歌-扩展程序-管理扩展程序

- 此页面代表es1 服务部署成功,现在创建索引在es1服务器上
- curl -XPUT '192.168.8.5:9200/vipinfo/users/1?pretty&pretty' -H 'Content-Type: application/json' -d '{"name": "guofucheng","age": "45","job": "mingxing"}'
- 在浏览器上查看是否有了刚才创建的索引:
- 右上方黄色代表副本不完整

- elasticsearch群集:
- 状态颜色:
- 灰色:未连接
- 绿色:数据完整态
- 黄色:副本不完整
- 红色:数据分片不完整
- 紫色:数据分片复制过程
- 群集主机角色:
- 主节点master:负责管理调度
- 工作节点: 负责处理数据
- 默认情况,所有节点都是工作节点,即主节点也处理数据
- 状态颜色:
- 右上方黄色代表副本不完整
- 谷歌-扩展程序-管理扩展程序
- 向集群中添加第二台主机:192.168.8.6
- 安装步骤与es1一样,配置文件需要修改:
- vim /etc/elasticsearch/elasticsearch.yml
- node.name: node-2
- path.data: /data/elasticsearch
- path.logs: /var/log/elasticsearch
- network.host: 192.168.8.20,127.0.0.1
- http.port: 9200
- discovery.zen.ping.unicast.hosts: ["192.168.8.6", "192.168.8.20"]
- discovery.zen.minimum_master_nodes: 2 #添加的值=节点数/2 + 1
- 创建数据目录。并修改权限:
- mkdir -p /data/elasticsearch
- chown -R elasticsearch.elasticsearch /data/elasticsearch/
- 启动服务:
- systemctl daemon-reload
- systemctl restart elasticsearch
- 查看端口:
- netstat -anput | grep 9200
- vim /etc/elasticsearch/elasticsearch.yml
- 安装步骤与es1一样,配置文件需要修改:
- 向集群中添加第三台主机:192.168.8.7
- 安装与es1一样,修改配置文件
- vim /etc/elasticsearch/elasticsearch.yml
- 修改一下的配置:
- node.name: es3
- path.data: /data/elasticsearch
- path.logs: /var/log/elasticsearch
- bootstrap.memory_lock: true
- network.host: 192.168.8.7,127.0.0.1
- http.port: 9200
- discovery.zen.ping.unicast.hosts: ["192.168.8.5", "192.168.8.7"]
- discovery.zen.minimum_master_nodes: 2
- 创建数据目录,并修改权限
- mkdir -p /data/elasticsearch
- chown -R elasticsearch.elasticsearch /data/elasticsearch/
- 重启服务:
- systemctl daemon-reload
- systemctl restart elasticsearch
- 查看端口是否存在
- netstat -anpt | grep 9200
- 再次访问8.5群集,查看是否发生了变化
-
- 常见群集管理监控命令
- (1)查看索引信息
- curl -XGET '192.168.8.5:9200/_cat/indices?pretty'
- (2)查看群集健康状态
- curl -XGET '192.168.8.5:9200/_cluster/health?pretty'
- (3)统计群集节点
- curl -XGET '192.168.8.5:9200/_cat/nodes?human&pretty'
- (4)查看群集所有节点详细信息
- curl -XGET '192.168.8.5:9200/_nodes/_all/info/jvm.process?human&pretty'
- 注意:企业环境使用脚本监控群集健康状态是否为green 或 节点数不匹配 就邮件报警
- (5)创建索引index1时,修改分片为3和副本数为2
- curl -X PUT 192.168.8.5:9200/index1 -H 'Content-Type: application/json' -d '{
- "settings" : {
- "index" : {
- "number_of_shards" : 3,
- "number_of_replicas" : 2
- }
- }
- }'
- (6)针对已有索引,可修改副本数,不可改分片数。下面语句把index1的副本数由2改为1
- curl -X PUT '192.168.8.5:9200/index1/_settings?pretty' -H 'Content-Type: application/json' -d '{
- "settings": {
- "number_of_replicas": "1"
- }
- }'
- 直接访问可以看到它的状态信息
- 三台主机分别安装es:
- 三台服务器:
相关文章:
ELK-介绍及Elasticsearch集群搭建
ELK是三个开源软件的缩写,分别为Elasticsearch、Logstash、kibana它们都是开源软件。后来新增了一个FileBeat,它是一个轻量及的日志收集处理工具,因为Logstash由java程序开发,比较消耗内存资源,后来将Logstash使用go语…...
保障数据安全,提升性能:探秘Redis AOF持久化机制在在线购物网站的应用
AOF(Append-Only File)日志介绍 Redis使用AOF持久化来保证数据的可靠性。AOF日志是一个追加写文件,记录了所有对Redis数据进行修改的命令。 AOF的常规用途 通常,人们将Redis的AOF用于将后端数据库中的数据存储在内存中…...
魔众智能AI系统v2.1.0版本支持主流大模型(讯飞星火、文心一言、通义千问、腾讯混元、Azure、MiniMax、Gemini)
支持主流大模型(讯飞星火、文心一言、通义千问、腾讯混元、Azure、MiniMax、Gemini) [新功能] 系统全局消息提示 UI 全新优化 [新功能] JS 库增加【ijs】类型字符串,支持默认可执行代码 [新功能] 分类快捷操作工具类 CategoryUtil [新功能…...
抖音视频评论区用户采集工具使用教程
抖音视频评论区用户采集工具是一款用于收集抖音视频评论区用户信息的工具。通过该工具,用户可以提取抖音视频评论区的用户昵称、评论内容、点赞数等信息,并进行数据分析和统计。该工具可以帮助用户了解抖音视频评论区的用户特点和评论趋势,提…...
c 不同类型指针的转换
int 指针与unsigned char类型指针互转 #include <stdio.h> #include <stdlib.h>int main(void){int a(0x1<<24)|(0x2<<16)|(0x3<<8)|0x4; //0x1020304printf("16进制:%x\n",a);u_int8_t *p(u_int8_t *)&a; //int指针转为unsig…...
16 PyTorch 神经网络基础【李沐动手学深度学习v2】
1. 模型构造 在构造自定义块之前,我们先回顾一下多层感知机的代码。 下面的代码生成一个网络,其中包含一个具有256个单元和ReLU激活函数的全连接隐藏层, 然后是一个具有10个隐藏单元且不带激活函数的全连接输出层。 层和块 构造单层神经网咯…...
java数据结构与算法刷题-----LeetCode216. 组合总和 III
java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846 文章目录 解题思路 此题是77题的扩展题,仅仅加了一个条件而已&…...
vscode remote ssh 连接 ubuntu/linux报错解决方法
1、问题: WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that a host key has just been changed. The fin…...
Normalizer(归一化)和MinMaxScaler(最小-最大标准化)的区别详解
1.Normalizer(归一化)(更加推荐使用) 优点:将每个样本向量的欧几里德长度缩放为1,适用于计算样本之间的相似性。 缺点:只对每个样本的特征进行缩放,不保留原始数据的分布形状。 公式…...
覆盖element-ui的el-menu样式记录:背景图片、菜单图标、菜单高亮与鼠标悬浮高亮、调整子菜单等样式
页面中修改el-menu 设置background-color"transparent",menu菜单下的背景图片则能正常显示了 <el-menuclass"el-menu-demo"mode"horizontal"background-color"transparent"><el-menu-item index"1">…...
接口自动化测试从入门到高级实战!
接口测试背景和必要性 接口测试是测试系统组件间接口(API)的一种测试,主要用于检测内部与外部系统、内部子系统之间的交互质量,其测试重点是检查数据交换、传递的准确性,控制和交互管理过程,以及系统间相互…...
【STC8A8K64D4开发板】第2-14讲:I2C总线的应用
第2-14讲:I2C总线的应用 学习目的了解I2C总线的特点。掌握I2C地址的定义,对I2C地址要有深刻的了解,之后再看到I2C接口设备中描述的7位地址或8位地址,不会再有疑惑。掌握STC8A8K64D4系列单片机I2C的特点以及编程方法。掌握通过I2C读…...
前端框架的发展史
随着互联网技术的飞速发展和用户需求的日益增长,前端开发作为构建用户界面和交互体验的关键环节,经历了从简单到复杂、从静态到动态的演变过程。在这个过程中,前端框架作为提升开发效率和代码质量的重要工具,也经历了多个阶段的发…...
Unity Hololens2开发|(二)MRTK3导入和配置
目录 1.从 MRTK3 模板项目开始2.从新项目开始2.1 创建新的 Unity 项目2.2 使用混合现实功能工具导入所需的依赖项和 MRTK3 包2.3 打开 Unity 项目2.4 在导入后配置 MRTK 配置文件2.5 配置 OpenXR 相关设置2.6 使用模板项目资源1.从 MRTK3 模板项目开始 获取并试用 MRTK3 最简单…...
VMware下载与安装
准备一个Linux的系统,成本最低的方式就是在本地安装一台虚拟机,VMware是业界最好用的虚拟机软件之一 官网:https://www.vmware.com/ 下载页面:https://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html …...
9、Linux-安装JDK、Tomcat和MySql
目录 一、安装JDK 1、传输JDK文件(.tar.gz) 2、解压 3、备份环境变量 4、配置环境变量 5、重新加载环境变量 6、验证(java -version) 二、安装Tomcat 1、传输文件,解压到/usr/local 2、进入Tomcat的bin目录 …...
深度学习图像算法工程师--面试准备(2)
深度学习面试准备 深度学习图像算法工程师–面试准备(1) 深度学习图像算法工程师–面试准备(2) 文章目录 深度学习面试准备前言一、Batch Normalization(批归一化)1.1 具体步骤1.2 BN一般用在网络的哪个部分 二、Layer Normaliza…...
解锁安卓开发利器:深度探析ADB【安卓开发】
引言 在安卓开发与维护过程中,我们经常会遇到一些限制,比如无法直接访问某些系统功能,或者在某些定制系统中 受到限制 。为了解决这些问题,我们需要一种有效的工具来管理和调试安卓设备,而这时候ADB(Andro…...
【Python】FTP库的介绍及用法
目录 1、应用场景 2、FTP-标准库 1、应用场景 FTP库(ftplib)在Python中的应用场景主要包括: 文件上传和下载: 通过FTP服务器,可以提供用于上传和下载文件的功能。这在需要在服务器和客户端之间共享数据的情况下非常…...
C++——string模拟实现
前言:上篇文章我们对string类及其常用的接口方法的使用进行了分享,这篇文章将着重进行对这些常用的接口方法的内部细节进行分享和模拟实现。 目录 一.基础框架 二.遍历字符串 1.[]运算符重载 2.迭代器 3.范围for 三.常用方法 1.增加 2.删除 3.调…...
linux之kylin系统nginx的安装
一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源(HTML/CSS/图片等),响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址,提高安全性 3.负载均衡服务器 支持多种策略分发流量…...
STM32标准库-DMA直接存储器存取
文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA(Direct Memory Access)直接存储器存取 DMA可以提供外设…...
Vue2 第一节_Vue2上手_插值表达式{{}}_访问数据和修改数据_Vue开发者工具
文章目录 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染2. 插值表达式{{}}3. 访问数据和修改数据4. vue响应式5. Vue开发者工具--方便调试 1.Vue2上手-如何创建一个Vue实例,进行初始化渲染 准备容器引包创建Vue实例 new Vue()指定配置项 ->渲染数据 准备一个容器,例如: …...
Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)
引言:为什么 Eureka 依然是存量系统的核心? 尽管 Nacos 等新注册中心崛起,但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制,是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...
C++ Visual Studio 2017厂商给的源码没有.sln文件 易兆微芯片下载工具加开机动画下载。
1.先用Visual Studio 2017打开Yichip YC31xx loader.vcxproj,再用Visual Studio 2022打开。再保侟就有.sln文件了。 易兆微芯片下载工具加开机动画下载 ExtraDownloadFile1Info.\logo.bin|0|0|10D2000|0 MFC应用兼容CMD 在BOOL CYichipYC31xxloaderDlg::OnIni…...
学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”
2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...
Linux系统部署KES
1、安装准备 1.版本说明V008R006C009B0014 V008:是version产品的大版本。 R006:是release产品特性版本。 C009:是通用版 B0014:是build开发过程中的构建版本2.硬件要求 #安全版和企业版 内存:1GB 以上 硬盘…...
Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案
在大数据时代,海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构,在处理大规模数据抓取任务时展现出强大的能力。然而,随着业务规模的不断扩大和数据抓取需求的日益复杂,传统…...
【实施指南】Android客户端HTTPS双向认证实施指南
🔐 一、所需准备材料 证书文件(6类核心文件) 类型 格式 作用 Android端要求 CA根证书 .crt/.pem 验证服务器/客户端证书合法性 需预置到Android信任库 服务器证书 .crt 服务器身份证明 客户端需持有以验证服务器 客户端证书 .crt 客户端身份…...
window 显示驱动开发-如何查询视频处理功能(三)
D3DDDICAPS_GETPROCAMPRANGE请求类型 UMD 返回指向 DXVADDI_VALUERANGE 结构的指针,该结构包含特定视频流上特定 ProcAmp 控件属性允许的值范围。 Direct3D 运行时在D3DDDIARG_GETCAPS的 pInfo 成员指向的变量中为特定视频流的 ProcAmp 控件属性指定DXVADDI_QUER…...




