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.调…...
避免Gitee克隆失败:git exit code 1报错的预防与解决方案全攻略
避免Gitee克隆失败:git exit code 1报错的预防与解决方案全攻略 在团队协作开发中,代码仓库的稳定访问是保障开发效率的基础。Gitee作为国内广泛使用的代码托管平台,偶尔出现的git exit code 1报错却可能让开发者陷入困境。这种报错不仅中断工…...
扩散模型高效采样新突破:基于渐进蒸馏的少步生成优化
1. 扩散模型为什么需要快速采样? 扩散模型近年来在图像生成领域大放异彩,生成的图片质量甚至超过了传统的GAN模型。但用过扩散模型的朋友都知道,生成一张高质量图片往往需要几百甚至上千步的计算,这在实时性要求高的场景下简直是灾…...
全栈vs专精:2026薪资对比与选择
在快速演进的软件测试领域,2026年的职业路径选择已成为测试从业者的核心关切。全栈测试工程师与专精测试专家代表了两种截然不同的发展模式,直接影响薪资水平、职业成长和市场竞争力。随着AI驱动的自动化、云原生测试和DevSecOps的普及,测试行…...
告别手动刷鱼!用Python+ADB+OCR为COC部落冲突写个自动找鱼脚本(附完整源码与避坑指南)
用Python打造COC智能寻鱼系统:从图像识别到防封策略全解析 1. 项目背景与核心思路 在策略游戏领域,资源收集一直是影响玩家体验的关键环节。以《部落冲突》为例,玩家需要花费大量时间搜索合适的对手获取资源,这种重复性操作既耗时…...
告别logcat日志洪流:从Unexpected EOF到缓冲区调优实战
1. 当Android日志系统崩溃时你在想什么 "logcat: Unexpected EOF!"这个红色警告突然跳出来的时候,我正在调试一个内存泄漏问题。手机连着电脑疯狂输出日志,突然就像被掐住脖子一样戛然而止,那种感觉就像正在看悬疑片突然停电——关…...
从‘纸上谈兵’到‘身体力行’:给产品经理和创业者的具身智能(Embodied AI)落地避坑指南
从实验室到商业战场:具身智能的五大落地实践法则 当波士顿动力机器人完成一段流畅的后空翻,或是某款家庭服务机器人成功识别并递来一杯咖啡时,我们看到的不仅是技术奇迹,更是一个价值千亿美元的市场正在成型。具身智能(…...
RePaint: 基于去噪扩散概率模型的图像修复技术解析与实践
1. RePaint技术为什么让人眼前一亮? 第一次看到RePaint论文时,最让我惊讶的是它完全跳出了传统图像修复的思维框架。以往我们做老照片修复或者去除图片中的水印,都需要先训练一个针对特定任务的模型。比如要修复人脸,就得准备大量…...
多模态大模型版本管理的7个生死关卡(从CLIP-ViT权重漂移到Whisper语音对齐断裂全复盘)
第一章:多模态大模型版本管理的范式跃迁 2026奇点智能技术大会(https://ml-summit.org) 传统模型版本管理工具(如DVC、MLflow)在处理文本、图像、音频、视频等跨模态联合训练产物时,普遍面临元数据表达力不足、依赖图不可追溯、二…...
揭秘90%团队踩坑的多模态标注断点:从图像-文本-语音对齐失败到端到端一致性保障的7个关键控制点
第一章:多模态标注断点的本质与行业影响全景 2026奇点智能技术大会(https://ml-summit.org) 多模态标注断点并非简单的流程中断,而是跨模态对齐失效、语义一致性崩塌与人工干预阈值被突破的复合性系统现象。当图像、文本、语音、时序传感器数据在联合标…...
专业视频对比神器:用video-compare轻松解决你的视频质量难题
专业视频对比神器:用video-compare轻松解决你的视频质量难题 【免费下载链接】video-compare Split screen video comparison tool using FFmpeg and SDL2 项目地址: https://gitcode.com/gh_mirrors/vi/video-compare 你是否曾经需要比较两个视频的画质差异…...




