当前位置: 首页 > 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 请求头后,校验用户登录是否过期并做响应前端根…...

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

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

XML Group端口详解

在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...

Android Wi-Fi 连接失败日志分析

1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...

docker详细操作--未完待续

docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建

制造业采购供应链管理是企业运营的核心环节,供应链协同管理在供应链上下游企业之间建立紧密的合作关系,通过信息共享、资源整合、业务协同等方式,实现供应链的全面管理和优化,提高供应链的效率和透明度,降低供应链的成…...

系统设计 --- MongoDB亿级数据查询优化策略

系统设计 --- MongoDB亿级数据查询分表策略 背景Solution --- 分表 背景 使用audit log实现Audi Trail功能 Audit Trail范围: 六个月数据量: 每秒5-7条audi log,共计7千万 – 1亿条数据需要实现全文检索按照时间倒序因为license问题,不能使用ELK只能使用…...

Java - Mysql数据类型对应

Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...

跨链模式:多链互操作架构与性能扩展方案

跨链模式:多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈:模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展(H2Cross架构): 适配层&#xf…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式

点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...

Ascend NPU上适配Step-Audio模型

1 概述 1.1 简述 Step-Audio 是业界首个集语音理解与生成控制一体化的产品级开源实时语音对话系统,支持多语言对话(如 中文,英文,日语),语音情感(如 开心,悲伤)&#x…...

06 Deep learning神经网络编程基础 激活函数 --吴恩达

深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...