当前位置: 首页 > news >正文

elasticsearch完整学习

文章目录

  • elasticsearch
      • 一、概念
      • 二、ELK集群部署
      • 三、图形化界面

elasticsearch

一、概念

1、ELKStack简介(都是java架构,需要jdk底层)
什么是ELK?通俗来讲,ELK是由ElasticsearchLogstash、Kibana 三个开源软件组成的一个组合体,这三个软件当中,每个软件用于完成不同的功能,ELK又称ELKstack,官网 https://www.elastic.co/
2、Elasticsearch
elasticsearch是一个高度可扩展全文搜索和分析引擎,基于Apache Lucene 构建,能对大容量的数据进行接近实时的存储、搜索和分析操作,可以处理大规模日志数据,比如Nginx、Tomcat、系统日志等功能。
3、Logstash
数据收集引擎。它支持动态的从各种数据源搜集数据,并对数据进行过滤、分析、丰富、统一格式等操作,然后 存储到用户指定的位置;支持普通log、自定义json格式的日志解析。
4、Kibana
数据分析和可视化平台。通常与 Elasticsearch 配合使用,对其中数据进行搜索、分析和以统计图表的方式展示。开源 不等于免费 --> ELK --> 开源 | logstash 插件 --> 收集 免费 - 监控 收费的
5、beats:多种数据采集器的集合,用于实现从边缘机器向logstash 和Elasticsearch发送数据,其中应用最多的是filebeat,是一个轻量级日志采集器。

二、ELK集群部署

1) Elasticsearch 介绍
Elasticsearch(简称ES)是一个分布式、RESTful风格的搜索和数据分析引擎,用于集中存储日志数据
1.关闭防火墙和selinux,host绑定
192.168.8.138    h2    3G内存(这里设置一下虚拟机的内存)
192.168.8.139    h3    3G内存
2、部署jre环境(jdk-8u301-linux-x64.rpm)
# rpm -ivh jdk-8u301-linux-x64.rpm/etc/profile下写入
export JAVA_HOME=/usr/java/jdk1.8.0_301-amd64    #这里安装路径自动定位在这里
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/fre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HMOE/jre/bin:$PATH
[root@hd2 ~]# source /etc/profile   
#查看java版本
[root@hd2 ~]# java -version  
3、安装elasticsearch
[root@hd1 ~]# mkdir /opt/elk
[root@hd1 ~]# mv elasticsearch-7.9.3-linux-x86_64.tar.gz /opt/elk 
[root@hd1 ~]# cd /opt/elk
[root@hd1 elk]# tar zxvf elasticsearch-7.9.3-linux-x86_64.tar.gz 
[root@hd1 elk]# mv elasticsearch-7.9.3 elasticsearch
[root@hd1 elk]# cd elasticsearch 
[root@hd1 elasticsearch]# ls
bin	config	jdk	lib	LICENSE.txt	logs	modules 
这里启动不可以使用root用户,需要新创建一个用户es
4、配置最大进程
[root@hd1 ~]# useradd es
[root@hd1 ~]# chown -R es.es /opt/elk 
[root@hd1 ~]# ulimit -n
1024
调整进程最大值
[root@hd1 ~]# ulimit -n 65535
永久修改修改 (nofile number open file)
[root@hd1 ~]# tail -3 /etc/security/limits.conf
* hard nofile 65535
* soft nofile 65535
* soft nproc 4096
* hard nproc 4096 
# End of file
调整进程最大虚拟内存区域数量临时设置
[root@hd1 ~]# sysctl -w vm.max_map_count=262144 vm.max_map_count = 262144
永久设置
[root@hd1 ~]# echo "vm.max_map_count=262144" >>/etc/sysctl.conf [root@hd1 ~]# sysctl -p
vm.max_map_count = 262144
配置完成后,需要重启用户,这里需要重启虚拟机  reboot
5、修改配置文件
[root@hd1 ~]# vi /opt/elk/elasticsearch/config/elasticsearch.yml 
cluster.name: elk-cluster	#集群的名称,两个节点保持一致
node.name: node-1	#集群节点的名字
path.data: /opt/elk/data #数据的路径
path.logs: /opt/elk/logs #日志的路径
network.host: 0.0.0.0	#监听的ip地址
http.port: 9200
discovery.seed_hosts: ["192.168.8.138", "192.168.8.139"] #发现集群中的其他节点cluster.initial_master_nodes: ["node-1"] #设置主节点
6、设置es的权限
[root@hd1 ~]# mkdir /opt/elk/data 
[root@hd1 ~]# mkdir /opt/elk/logs 
[root@hd1 ~]# chown -R es.es /opt/elk
7、生成启动脚本
[root@hd1 ~]# cat /usr/lib/systemd/system/elasticsearch.service 
[Unit]
Description=elasticsearch 
[Service]
User=es 
LimitNOFILE=65535
ExecStart=/opt/elk/elasticsearch/bin/elasticsearch 
ExecReload=/bin/kill -HUP $MAINPID 
KillMode=process
#Restart=on-failure[Install]
WantedBy=multi-user.target
8、启动测试
[root@hd1 ~]# systemctl daemon-reload 
[root@hd1 ~]# systemctl start elasticsearch
查看启动报错,一般是看日志
# journalctl -u elasticsearch
查看监听的端口,9300用于内部集群之间的通信
[root@hd1 config]# ss -ant |grep 9300 LISTEN	0	128	:::9300	:::*
[root@hd1 config]# ss -ant |grep 9200 LISTEN	0	128	:::9200	:::*
**********************************************************************
配置192.168.8.139
[root@hd2 ~]# mkdir -p /opt/elk 
[root@hd2 ~]# useradd es
[root@hd1 ~]# scp -r /opt/elk/* root@192.168.1.12:/opt/elk/ #将8.138的文件scp过来
[root@hd2 ~]# cd /opt/elk
[root@hd2 elk]# ls
data elasticsearch logs 
[root@hd2 elk]# rm -rf logs/* 
[root@hd2 elk]# rm -rf data/*
将配置文件指定master的属性注释掉,将node的名字改成node-2
[root@hd2 elk]#cd /opt/elk/elasticsearch/config/
[root@hd2 config]# grep master_nodes: elasticsearch.yml 
node.name: node-2
#cluster.initial_master_nodes: ["node-1"]
将启动脚本文件拷贝过去
[root@hd1 ~]# scp -r /usr/lib/systemd/system/elasticsearch.service root@192.168.8.139:/usr/lib/systemd/system/
启动服务
[root@hd2 ~]# useradd es
[root@hd2 ~]# chown -R es.es /opt/elk/
[root@hd2 ~]# ulimit -n 65535 
[root@hd2 ~]# vi /etc/security/limits.conf
* hard nofile 65535
* soft nofile 65535
* soft nproc 4096
* hard nproc 4096 
[root@hd2 ~]# sysctl -w vm.max_map_count=262144 
vm.max_map_count = 262144
[root@hd2 ~]# echo "vm.max_map_count=262144" >>/etc/sysctl.conf 
[root@hd2 ~]# sysctl -p
这里需要重启用户 reboot
[root@hd2 ~]# systemctl daemon-reload 
[root@hd2 ~]# systemctl start elasticsearch 
[root@hd2 ~]# ps -ef |grep elastic查看报错--日志
# cat /opt/elk/logs/elk-cluster.log
# journalctl -u elasticsearch查看集群各个节点状态
# curl -XGET "http://127.0.0.1:9200/"
{
"name" : "node-2", 
"cluster_name" : "elk-cluster",
"cluster_uuid" : "6Bq-5r02QD2fvGQqGOv4Kg", 
"version" : {
"number" : "7.9.3",
"build_flavor" : "default",
"build_type" : "tar",
"build_hash" : "c4138e51121ef06a6404866cddc601906fe5c868", 
"build_date" : "2020-10-16T10:36:16.141335Z",
"build_snapshot" : false, 
"lucene_version" : "8.6.2",
"minimum_wire_compatibility_version" : "6.8.0", 
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
这里的uuid必须是一样的,如果不一样就是没有同步查看集群情况,带*号的表示是master
[root@hd1 ~]# curl -XGET 'http://127.0.0.1:9200/_cat/nodes?pretty' 
192.168.8.138 10 74 6 0.16 0.29 0.20 dilmrt * node-1
192.168.8.139 16 75 5 0.04 0.20 0.18 dilmrt - node-2Master和Slave的区别: 
Master的职责:
统计各node节点状态信息、集群状态信息统计、索引的创建和删除、索引分配的管理、关闭node节点等
Savle的职责:
同步数据、等待机会成为Master

三、图形化界面

图形管理ES
[root@hd1 ~]# cd /opt/elk/ 
[root@hd1 elk]# rz -y
elasticHD_linux_amd64.zip 
[root@hd1 elk]# unzip elasticHD_linux_amd64.zip 
Archive: elasticHD_linux_amd64.zip
inflating: ElasticHD
[root@hd1 elk]# nohup ./ElasticHD &
[root@hd1 elk]# tail nohup.out -f
To view elasticHD console open http://0.0.0.0:9800 in browser 
exec: "xdg-open": executable file not found in $PATH
访问页面
192.168.8.138:9800

四、部署安装logstash


待续…

相关文章:

elasticsearch完整学习

文章目录 elasticsearch一、概念二、ELK集群部署三、图形化界面 elasticsearch 一、概念 1、ELKStack简介(都是java架构,需要jdk底层) 什么是ELK?通俗来讲,ELK是由Elasticsearch、Logstash、Kibana 三个开源软件组成的…...

vscode Coder Runner 运行C++

1. 设置Code Runner 2. 防止输入读不到,把在终端运行勾上。 3. 设置minw/bin的环境变量 安装mingw教程:https://blog.csdn.net/fancy_male/article/details/133992000 4. 见图...

牛客网刷题-(2)

🌈write in front🌈 🧸大家好,我是Aileen🧸.希望你看完之后,能对你有所帮助,不足请指正!共同学习交流. 🆔本文由Aileen_0v0🧸 原创 CSDN首发🐒 如…...

FreeRTOS基础(如何学好FreeRTOS?)

目录 基础知识 进阶内容 后期“摆烂” 基础知识 实时操作系统 (RTOS):FreeRTOS是一个实时操作系统,它提供了任务管理、调度和同步等功能,在嵌入式系统中有效地管理多个任务。 任务(Task):任务是在RTOS…...

读书笔记:Effective C++ 2.0 版,条款43(多继承)、条款44(概念明确)、条款45-50(杂项)

条款43: 明智地使用多继承 并没有禁止,从概念上讲,多继承可能更符合真实世界。 条款44: 说你想说的;理解你所说的 概念明确 条款45: 弄清C在幕后为你所写、所调用的函数 隐性成本,看下编译后的c、asm源码。 条款46: 宁可编译和…...

最新Jn建站系统2.0 已集成各类源码 【附视频安装教程】

附视频安装教程|已集成各类源码 目前已集成的网站: 1.发卡网(最新) 2.代刷网(无需授权) 3. 博客网(自带模板) 4.易支付(稳定版) 5.个人导航网(简洁) 6.代理查询网 7.留言网 8.匿名网 9.表白墙(最新) 10.抽奖网 11.源码站 12.z-blog博客程序 13.织梦CM…...

JAVA多线程基础篇--守护线程(Daemon Thread)

1.概述 JAVA中的线程主要分为两类:用户线程(User Thread)和守护线程(Daemon Thread)。JAVA语言中无论是线程还是线程池,默认都是用户线程,因此用户线程也被称为普通线程。守护线程也被称之为后台线程、服务线程或精灵…...

对知识蒸馏的一些理解

知识蒸馏是一种模型压缩技术,它通过从一个大模型(教师模型)中传输知识到一个小模型(学生模型)中来提高学生模型的性能,知识蒸馏也要用到真实的数据集标签。 软损失soft loss就是拿教师模型在蒸馏温度为T的…...

概率论_概率公式中的分号(;)、逗号(,)、竖线(|) 及其优先级

目录 1.概率公式中的分号(;)、逗号(,)、竖线(|) 2.各种概率相关的基本概念 2.1 联合概率 2.2 条件概率(定义) 2.3 全概率(乘法公式的加强版) 2.4 贝叶斯公式 贝叶斯定理的公式推导 1.概率公式中的分号(;)、逗号(,)、竖线(|) ; 分号代表前后是两类…...

【C++】二叉树进阶 -- 详解

一、二叉搜索树概念 二叉搜索树 又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树: 若它的左子树不为空,则左子树上所有节点的值都小于根节点的值 若它的右子树不为空,则右子树上所有节点的值都大于根节点…...

K8S集群中Node节点资源不足导致Pod无法运行的故障排查思路

K8S集群中Node节点资源不足导致Pod无法运行的故障排查思路 Node节点资源不足可能会产生的故障 故障一:Pod数量太多超出物理节点的限制每一台Node节点中默认限制最多运行110个Pod资源,当一个应用程序有成百上千的Pod资源时,如果不扩容Node节…...

Node.js与npm版本比对

Node.js与npm版本比对 Node.js与npm版本比对版本对比表Node版本对比 Node.js与npm版本比对 我们在项目开发过程中,经常会遇到公司一些老的前端工程项目,而我们当前的node及npm版本都是相对比较新的了。 在运行以前工程时,会遇到相关环境不匹…...

智加科技与东风柳汽达成深度合作 自动驾驶重卡计划2024年初量产交付

(2023年10月19日,苏州)全球领先的重卡自动驾驶技术公司智加科技与东风柳汽宣布,双方共同开发的自动驾驶重卡H7计划2024年初实现量产交付。未来,双方将携手推出安全可靠、高性价比、性能卓越的自动驾驶重卡产品&#xf…...

mac下配置环境-node以及nvm

当前配置环境主要针对于mac下系统,需要提前安装brew包 如需要配置,可查阅:Brew包的基本安装(手把手教学)-CSDN博客 如果是window环境配置,分享一个不错的帖子:nvm的安装和使用(详细&…...

Elasticsearch基础篇(六):es创建映射和设置

es创建映射和设置 一、什么是 Elasticsearch 映射?二、映射中的字段类型常见字段类型 (Common data types)对象和关联类型(Objects and relational types)结构化数据类型(Structured data types&#xff09…...

机器人系统 ROS 常用命令行工具

1. 启动ros 主节点 roscore roscore运行成功如图: 1.1 rosrun 启动服务节点 例子:启动一个小乌龟节点 rosrun turtlesim turtlesim_node运行结果如图: 1.2 启动键盘控制 打开新的命令窗口,启动turtle_teleop_key 节点 rosr…...

Jasypt加解密、信息脱敏

文章目录 一、介绍二、Spring集成1、 Maven依赖2、application.xml的配置3、配置文件使用4、方法加密 二、SpringBoot集成1、 Maven依赖2、 Java Bean配置jasyptStringEncryptor3、配置文件使用4、Bean使用加密字段自动解密 一、介绍 Jasypt is a java library which allows th…...

力扣每日一题61:旋转链表

题目描述: 给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。 示例 1: 输入:head [1,2,3,4,5], k 2 输出:[4,5,1,2,3]示例 2: 输入:head [0,1,2], k 4 输…...

SSM - Springboot - MyBatis-Plus 全栈体系(三十六)

第八章 项目实战 四、后台功能开发 3. 头条模块开发 3.1 登陆验证和保护 3.1.1 需求描述 客户端在进入发布页前、发布新闻前、进入修改页前、修改前、删除新闻前先向服务端发送请求携带 token 请求头后端接收 token 请求头后,校验用户登录是否过期并做响应前端根…...

作为开发的我能力模型图是什么样子的,应该如何去绘制?

作为开发的我能力模型图是什么样子的,应该如何去绘制? 能力模型图是一种用来描述个人或职位所需技能和能力的工具,对于开发人员来说,能力模型图通常包括技术能力、软技能和专业知识等多个维度。下面是一种可能的构建和绘制开发人员…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...

shell脚本--常见案例

1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

对WWDC 2025 Keynote 内容的预测

借助我们以往对苹果公司发展路径的深入研究经验,以及大语言模型的分析能力,我们系统梳理了多年来苹果 WWDC 主题演讲的规律。在 WWDC 2025 即将揭幕之际,我们让 ChatGPT 对今年的 Keynote 内容进行了一个初步预测,聊作存档。等到明…...

苍穹外卖--缓存菜品

1.问题说明 用户端小程序展示的菜品数据都是通过查询数据库获得,如果用户端访问量比较大,数据库访问压力随之增大 2.实现思路 通过Redis来缓存菜品数据,减少数据库查询操作。 缓存逻辑分析: ①每个分类下的菜品保持一份缓存数据…...

Unit 1 深度强化学习简介

Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库,例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体,比如 SnowballFight、Huggy the Do…...

Unity | AmplifyShaderEditor插件基础(第七集:平面波动shader)

目录 一、👋🏻前言 二、😈sinx波动的基本原理 三、😈波动起来 1.sinx节点介绍 2.vertexPosition 3.集成Vector3 a.节点Append b.连起来 4.波动起来 a.波动的原理 b.时间节点 c.sinx的处理 四、🌊波动优化…...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)

前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块&#xff0c…...

iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈

在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...

Go 语言并发编程基础:无缓冲与有缓冲通道

在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好&#xff0…...

AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机

这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机,因为在使用过程中发现 Airsim 对外部监控相机的描述模糊,而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置,最后在源码示例中找到了,所以感…...