理解 sh 执行脚本与直接执行脚本的区别
在 Unix 和 Linux 系统中,执行 shell 脚本有多种方法,其中常见的两种是使用 sh 命令和直接执行脚本文件(前提是脚本具有可执行权限)。本文将详细解释这两种方式的区别及其影响。 使用 sh 命令执行脚本当你使用 sh 命令执行脚本时,实际的执行过程如下: 1sh script.sh 特点 解释器固定:使用 sh 解释器来执行脚本,而不管脚本的 shebang(#!)声明。 无需可执行权限:脚本文件无需可执行权限,因为脚本内容是作为参数传递给 sh 解释器的。 示例假设 script.sh 文件内容如下: 12#!/bin/bashecho "This script is running with Bash" 即使脚本文件中声明了 #!/bin/bash,使用 sh script.sh 时,sh 解释器会忽略这个声明,而强制使用 sh(通常是 /bin/sh)来执行脚本。 可能的问题 兼容性问题:如果脚本依赖于某些特定解释器(如 Bash)的特性,使用 sh 解释器可能会导致脚本无法正常运行。sh 通常是指向系统上的 POSIX 兼容...
Flink应用接入Prometheus监控预警系统
在现代数据处理和监控领域,Apache Flink 作为实时流处理框架,已经在众多企业和场景中得到广泛应用。为了更好地监控和管理 Flink 应用的性能与资源利用情况,将 Flink 集成至 Prometheus 和 Grafana 是一个非常有效的方法。本文详细介绍了如何搭建和配置这一监控系统,确保你可以实时跟踪和优化你的 Flink 应用。 环境准备 flink任务启动并运行 Prometheus搭建部署完毕,版本推荐v2.36.2 Grafan搭建部署完毕,版本推荐9.1.2 环境准备可参考我的博文: # Docker 安装 Prometheus 和 Grafana # 最详细且简单的Flink集群搭建教程 # 最详细且简单的Hadoop高可用集群搭建教程 安装pushgateway 首先进入到需要安装pushgateway的目录中 创建docker-compose.yaml文件,内容如下: 12345678version: "3.8"services: pushgateway: image:...
Doris集群接入Prometheus监控预警系统
在本文中,我们将详细探讨如何将 Doris 集群与 Prometheus 和 Grafana 监控系统集成。通过对这些技术的整合,我们可以实现对 Doris 集群的实时监控,从而有效地监控集群的性能和健康状态。此外,通过图形化的监控界面,我们能更直观地理解和分析数据,对于维护和优化集群运行至关重要。 环境准备 Doris集群搭建部署完毕,版本推荐2.1.0 Prometheus搭建部署完毕,版本推荐v2.36.2 Grafan搭建部署完毕,版本推荐9.1.2 环境准备可参考我的博文: # Docker 安装 Prometheus 和 Grafana # 最详细且简单的Doris集群搭建教程 配置Prometheus doris接入到 prometheus 中不需要exporter 编辑prometheus.yaml配置文件,scrape_configs块下新增如下内容: 注意: fe_host1与be_host1修改为自己 doris 集群对应的 IP http_port需替换为自己 doris...
Es集群接入Prometheus监控预警系统
在当前的云计算和大数据时代,监控系统的健康和性能变得尤为重要。本文将详细介绍如何使用ElasticSearch作为数据存储后端,通过Prometheus和Grafana进行有效的监控和可视化,以确保您的服务可靠性和性能优化。 环境准备 ElasticSearch集群搭建部署完毕,版本推荐7.6.2 Prometheus搭建部署完毕,版本推荐v2.36.2 Grafan搭建部署完毕,版本推荐9.1.2 环境准备可参考我的博文: # Docker 安装 Prometheus 和 Grafana # 最详细且简单的ElasticSearch (es)集群搭建教程 安装elasticsearch-exporter 首先进入到需要安装elasticsearch-exporter的目录中 创建docker-compose.yaml文件,内容如下: --es.uri为集群中的任意节点IP端口 12345678910version: "3.8"services: elasticsearch_exporter: image:...
Redis集群接入Prometheus监控预警系统
在当前的企业信息化快速发展背景下,高效的系统监控变得尤为重要。特别是对于数据库和缓存服务,如何确保其性能和稳定性是每个系统管理员和开发者必须面对的挑战。Redis作为一种高性能的键值对存储系统,广泛应用于各种业务场景中,因此对其进行有效的监控显得尤为关键。本文将详细介绍如何将Redis集群接入到Prometheus和Grafana中,实现数据的实时监控和可视化,确保系统的健康和性能。 环境准备 Prometheus搭建部署完毕,版本推荐v2.36.2 Grafan搭建部署完毕,版本推荐9.1.2 Redis集群搭建部署完毕,版本推荐7.12 环境准备可参考我的博文: # Docker 安装 Prometheus 和 Grafana # Centos 离线傻瓜式一键式部署 Redis 集群 安装redis-exporter 首先进入到需要安装redis-exporter的目录中 创建docker-compose.yaml文件,内容如下: -redis.addr为集群中的任意节点地址 -redis.password为对应节点的认证密码 ...
Kafka集群接入Prometheus监控预警系统
本文将指导您如何配置 Kafka 集群的监控系统,使用 Prometheus 和 Grafana 进行数据可视化。该过程包括安装 Kafka exporter、配置 Prometheus 和 Grafana,以便有效监控 Kafka 集群的性能和状态。 环境准备 一定要注意各个组件的版本对应问题,博文在这方面吃了大亏,浪费了很多时间。 特别是 Grafana 版本 与 kafka-exporter 版本不能过高,不然不兼容,图标数据不展示 Prometheus版本: v2.36.2 Grafana版本: 9.1.2 Kafka版本: 2.5.0 Kafka-exporter版本: v1.0.0 环境准备可参考我的博文: # Docker 安装 Prometheus 和 Grafana # 最详细且简单的kafka集群搭建教程 安装kafka-exporter 进入到安装kafka exporter的目录 创建docker-compose.yaml文件,内容如下: 注意:--kafka.server的内容替换为自己集群的IP端口 ...
Centos服务器接入Prometheus监控预警系统
在这篇技术博文中,我将详细介绍如何在 CentOS 系统上安装和配置 Prometheus 的一个重要组件 —— node_exporter。node_exporter 负责收集主机级别的性能指标,并将这些指标暴露给 Prometheus 服务器。我们还将介绍如何将这些监控数据接入到 Prometheus,并使用 Grafana 来创建一个漂亮的监控面板。 接下来,我们将一步步通过实际操作来完成整个过程。我会从 node_exporter 的安装和配置开始,然后配置 Prometheus 以收集 node_exporter 暴露的指标,最后通过 Grafana 创建仪表板来可视化这些指标。无论你是系统管理员还是开发人员,掌握这些技能都将有助于你更好地维护和优化你的系统。 环境准备 一定要注意各个组件的版本对应问题,博文在这方面吃了大亏,浪费了很多时间。 特别是 Grafana 版本 与 kafka-exporter 版本不能过高,不然不兼容,图标数据不展示 Prometheus版本: v2.36.2 Grafana版本: 9.1.2 Kafka版本:...
Docker快速部署完整监控预警系统
在本篇博文中,我们将探讨如何使用 Docker 快速部署 Prometheus 和 Grafana。Prometheus 是一个开源的监控和警报工具,而 Grafana 则是一个用于可视化监控数据的开源平台。通过结合使用这两个工具,您可以有效地监控您的 IT 基础设施,并通过美观的仪表板展示关键性能指标。 在现代的云计算和微服务架构中,有效的监控系统是不可或缺的。Prometheus 提供了强大的数据采集能力,而 Grafana 则提供了强大的数据可视化支持。使用 Docker 部署这些服务不仅可以简化安装过程,还能保证环境的一致性和可复制性。接下来,我们将一步步通过 Docker Compose 来安装和配置 Prometheus、 Grafana 和 Alertmanager。 环境准备 注意:版本最好与本文中的版本保持一致,避免后续集成监控kafka、redis等组件出现版本不兼容的问题(作者因为版本问题足足搞了一天) Centos7系统 docker docker-compose 环境准备可参考我的博文: #...
关闭CentOS上MySQL的二进制日志功能详解
MySQL 的二进制日志(binlog)用于记录数据库的所有更改操作,是主从复制和数据恢复的重要机制。但在某些场景下,比如不需要复制或想减轻系统负担时,可以选择关闭 binlog 功能。本文针对 CentOS 操作系统上的 MySQL 8.0 及以上版本,详细说明如何关闭二进制日志,并介绍相关注意事项。 定位 MySQL 配置文件MySQL 的主要配置文件通常存放在以下位置: /etc/my.cnf /etc/my.cnf.d/ 目录下的多个配置文件,如 server.cnf 你可以通过以下命令查找所有相关配置文件: 12sudo find /etc -name my.cnfsudo find /etc -name "*.cnf" 建议优先检查 /etc/my.cnf,如果配置较复杂,可能会分散到 /etc/my.cnf.d/ 下的多个文件。 修改配置关闭二进制日志使用你熟悉的文本编辑器打开目标配置文件。若使用 vi,例如: 1sudo vi /etc/my.cnf 或者 1sudo vi...
Flink用户ID高效处理:Roaring Bitmap与布隆过滤器+Redis
在实时大数据处理场景中,如何高效管理与快速查询海量用户ID是提升系统性能与稳定性的关键。Apache Flink作为流处理的核心引擎,面临着海量用户ID存储和快速判重的挑战。本文聚焦于两种高效的数据结构及其应用策略,帮助避免内存溢出(OOM),降低外部存储依赖,提升整体查询效率。 业务场景解析用户画像及相关业务通常需要实时从海量日志或外部系统中拉取用户ID集合,推送至Flink进行实时判定。判定过程需要高效判断流中每条数据的用户ID是否属于预先查询到的ID集合。直接将大规模ID集合保持于Flink内存会导致严重的资源瓶颈,且频繁访问外部存储如Redis,不但增加网络延迟还影响系统吞吐。因此,选择合适的内存存储方案与访问优化策略尤为重要。 优化方案详解Roaring Bitmap:整型用户ID的内存利器对于整型用户ID,Roaring Bitmap是一种理想的选择。作为增强型位图数据结构,它在稀疏整型数据上展现出极高的存储和查询效率。 内存占用极低:Roaring...
