elasticsearch完整学习
文章目录
- elasticsearch
- 一、概念
- 二、ELK集群部署
- 三、图形化界面
elasticsearch
一、概念
1、ELKStack简介(都是java架构,需要jdk底层)
什么是ELK?通俗来讲,ELK是由Elasticsearch、Logstash、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年初实现量产交付。未来,双方将携手推出安全可靠、高性价比、性能卓越的自动驾驶重卡产品…...
mac下配置环境-node以及nvm
当前配置环境主要针对于mac下系统,需要提前安装brew包 如需要配置,可查阅:Brew包的基本安装(手把手教学)-CSDN博客 如果是window环境配置,分享一个不错的帖子:nvm的安装和使用(详细&…...
Elasticsearch基础篇(六):es创建映射和设置
es创建映射和设置 一、什么是 Elasticsearch 映射?二、映射中的字段类型常见字段类型 (Common data types)对象和关联类型(Objects and relational types)结构化数据类型(Structured data types)…...
机器人系统 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 请求头后,校验用户登录是否过期并做响应前端根…...
作为开发的我能力模型图是什么样子的,应该如何去绘制?
作为开发的我能力模型图是什么样子的,应该如何去绘制? 能力模型图是一种用来描述个人或职位所需技能和能力的工具,对于开发人员来说,能力模型图通常包括技术能力、软技能和专业知识等多个维度。下面是一种可能的构建和绘制开发人员…...
Arduino实战:如何用旋转编码器控制你的项目(附方向判断代码)
Arduino实战:旋转编码器方向判断与项目集成指南 引言 在创客和电子爱好者的世界里,旋转编码器就像是一个神奇的"旋钮",它能把你的物理转动动作转化为数字信号。想象一下,通过简单的旋转就能精确控制音量大小、菜单选择…...
nRF Connect 介绍和操作入门
nRF Connect 介绍和操作入门 一、nRF Connect 简介 nRF Connect 是由 Nordic Semiconductor 开发的一套强大的低功耗蓝牙(BLE)开发工具集合,主要面向开发者、测试人员以及蓝牙技术爱好者。它分为三个主要版本: 1.1 主要版本版本平…...
Windows Cleaner:终极C盘空间清理指南,告别系统卡顿与存储危机
Windows Cleaner:终极C盘空间清理指南,告别系统卡顿与存储危机 【免费下载链接】WindowsCleaner Windows Cleaner——专治C盘爆红及各种不服! 项目地址: https://gitcode.com/gh_mirrors/wi/WindowsCleaner 你是否曾因C盘爆红而焦虑&a…...
5个必装开源应用:彻底改变你的macOS工作流
5个必装开源应用:彻底改变你的macOS工作流 【免费下载链接】open-source-mac-os-apps 🚀 Awesome list of open source applications for macOS. https://t.me/s/opensourcemacosapps 项目地址: https://gitcode.com/gh_mirrors/op/open-source-mac-os…...
2026最新!3款亲测搞定音频怎么转换成文字的免费神器,实用必备不踩坑!
很多朋友找音频转文字工具,第一个坑就是只盯着“免费”两个字,要么是限额度转不全,要么是错漏百出改到秃头,算下来时间成本贵到离谱。作为蹲了大半年工具的测评博主,我亲测了3款目前能用的高性价比工具,直接…...
Python 批量导出数据库数据至 Excel 文件形
简介 langchain专门用于构建LLM大语言模型,其中提供了大量的prompt模板,和组件,通过chain(链)的方式将流程连接起来,操作简单,开发便捷。 环境配置 安装langchain框架 pip install langchain langchain-community 其中…...
Arduino RTCtime库:标准time.h兼容的DS1307/DS3231驱动
1. 项目概述RTCtime 是一款专为 Arduino 平台设计的实时时钟(RTC)驱动库,核心目标是在硬件 RTC 模块与标准 C 运行时时间系统之间建立语义一致、类型兼容的桥梁。它并非一个独立的时间计算引擎,而是对底层硬件寄存器操作的封装层&…...
Windows安卓应用运行新方案:轻量级安卓环境搭建与实践指南
Windows安卓应用运行新方案:轻量级安卓环境搭建与实践指南 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 在数字化办公与多设备协同的时代,用户…...
2026届学术党必备的AI科研助手横评
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 作为自然语言处理技术应用产物的AI写作软件,正逐渐渗透进内容创作领域࿰…...
OpenClaw备份恢复方案:Qwen3-32B任务历史与技能配置迁移
OpenClaw备份恢复方案:Qwen3-32B任务历史与技能配置迁移 1. 为什么需要备份OpenClaw工作区 上周我的主力开发机突然硬盘故障,导致整个~/.openclaw目录丢失。当时正在运行的3个自动化流程(日报生成、竞品监控、数据清洗)全部中断…...
