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

深入理解 Hadoop 核心组件 Yarn:架构、配置与实战

一、Hadoop 三大件概述

Hadoop 作为大数据领域的基石,其核心由三大组件构成:

HDFS(分布式文件系统):负责海量数据的分布式存储,通过数据分块和副本机制保障可靠性,是大数据存储的基础设施。

MapReduce(分布式计算框架):基于 “分而治之” 思想,将复杂计算任务拆解为 Map 和 Reduce 阶段,实现大规模数据的并行处理。

Yarn(资源管理器):作为 Hadoop 的 “操作系统”,负责集群资源(内存、CPU、带宽等)的统一管理与调度。它诞生于 Hadoop 生态,如今已演进为独立的通用资源管理系统,可支持 MapReduce、Spark 等多种计算框架运行。

二、Yarn 的核心组成部分

Yarn 采用主从架构,由四大核心组件协同工作:

1. ResourceManager(RM,资源管理器)—— 集群的 “总指挥”

角色:Yarn 集群的唯一主节点,全局管理所有资源(内存 / CPU / 网络等),协调各个应用程序对资源的请求。

关键模块

调度器(Scheduler):根据资源分配策略(如容量调度、公平调度)为应用程序分配资源,不负责监控任务状态。

应用管理器(ApplicationManager):管理所有应用程序的生命周期,包括应用程序提交、失败重试等。

2. NodeManager(NM,节点管理器)—— 单节点的 “大管家”

角色:运行在集群每个节点上,负责管理本节点的资源(CPU / 内存 / 磁盘等),监控容器状态,并与 ResourceManager 通信汇报节点健康情况。

核心职责

启动并监控 Container,

执行 ResourceManager 的资源分配指令。管理本地日志和任务运行环境。

3. Container(容器)—— 资源的 “封装载体”

定义:Yarn 中资源分配的最小单位,封装了一组具体资源(如 2GB 内存 + 1 个 CPU 核心),类似于轻量级虚拟机。

特点

每个 Container 归属于特定应用程序,资源隔离性强。

支持动态扩展,根据任务需求调整资源配置。

4. ApplicationMaster(AM,应用管理器)—— 任务的 “项目经理”

角色:每个应用程序(如 MapReduce 作业)的专属管理者,负责与 ResourceManager 协商资源、与 NodeManager 交互启动任务,并监控作业进度。

核心功能

分解作业为多个任务(如 MapTask/ReduceTask),

并为任务申请资源。处理任务失败和重试,协调任务间依赖关系。

三、Yarn 的配置与搭建实战

1. 环境准备

集群规划:假设 3 节点集群(bigdata01 为主节点,bigdata02/bigdata03 为从节点)。

配置文件路径:所有配置文件位于/opt/installs/hadoop/etc/hadoop/目录。

2. 关键配置步骤

(1)指定 MapReduce 运行平台为 Yarn
<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property>
</configuration>
(2)配置 ResourceManager 主节点
<property><name>yarn.resourcemanager.hostname</name><value>bigdata01</value> <!-- 主节点主机名 -->
</property>
(3)启用 MapReduce Shuffle 服务(用于数据传输)
<property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value>
</property>
(4)配置权限与 Classpath(避免 AppMaster 启动失败)
<!-- hadoop-env.sh中添加 -->
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root<!-- yarn-site.xml中添加 -->
<property><name>yarn.application.classpath</name><value>/opt/installs/hadoop/etc/hadoop:/opt/installs/hadoop/share/hadoop/common/lib/*:...</value> <!-- 完整路径需包含Hadoop各模块依赖 -->
</property>
(5)分发配置文件至从节点
# 在主节点执行
cd /opt/installs/hadoop/etc/hadoop/
xsync.sh mapred-site.xml yarn-site.xml  # xsync为自定义同步脚本,需提前配置

3. 启动与停止命令

服务启动命令停止命令说明
HDFSstart-dfs.shstop-dfs.sh管理 HDFS namenode/datanode
Yarnstart-yarn.shstop-yarn.sh管理 ResourceManager/NodeManager
全集群start-all.shstop-all.sh同时启动 HDFS 和 Yarn
单独启动 RMyarn --daemon start resourcemanageryarn --daemon stop resourcemanager仅操作主节点 RM
单独启动 NMyarn --daemon start nodemanageryarn --daemon stop nodemanager仅操作当前节点 NM

验证启动状态:访问 Yarn Web 界面 http://bigdata01:8088,查看集群资源使用情况和应用列表。

四、Yarn 实战:WordCount 案例

1. 准备数据

本地文件:创建wc.txt并写入内容:

hadoop spark hello hadoop
spark hello flink world
scala python python scala
hdfs dfs -mkdir /home
hdfs dfs -put /home/wc.txt /home

    2. 运行 MapReduce 作业

    # 执行Hadoop自带的WordCount示例
    hadoop jar /opt/installs/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar wordcount /home/wc.txt /home/output
    

    3. 查看结果

    hdfs dfs -cat /home/output/part-r-00000
    # 输出结果(示例):
    # hadoop    2
    # hello     2
    # spark     2

    相关文章:

    深入理解 Hadoop 核心组件 Yarn:架构、配置与实战

    一、Hadoop 三大件概述 Hadoop 作为大数据领域的基石&#xff0c;其核心由三大组件构成&#xff1a; HDFS&#xff08;分布式文件系统&#xff09;&#xff1a;负责海量数据的分布式存储&#xff0c;通过数据分块和副本机制保障可靠性&#xff0c;是大数据存储的基础设施。 …...

    Linux云计算训练营笔记day11(Linux CentOS7)

    Linux云计算 云计算是一种服务&#xff0c;是通过互联网按需提供计算资源的服务模式 程序员写代码的&#xff0c;部署上线项目 买服务器(一台24小时不关机的电脑&#xff0c;为客户端提供服务) 20万 买更多的服务器 Linux(命令) windows(图形化) 就业岗位: 云计算工程师 li…...

    2025年AI与网络安全的终极博弈:冲击、重构与生存法则

    引言 2025年&#xff0c;生成式AI的推理速度突破每秒千万次&#xff0c;网络安全行业正经历前所未有的范式革命。攻击者用AI批量生成恶意代码&#xff0c;防御者用AI构建智能护盾&#xff0c;这场技术军备竞赛正重塑行业规则——60%的传统安全岗位面临转型&#xff0c;70%的防…...

    Hadoop中 8020、9000、50070 端口用途的详细对比

    Hadoop 端口用途对比教程 1. 端口用途总览 Hadoop 的核心服务(如 NameNode、DataNode、ResourceManager 等)通过不同的端口对外提供服务。不同版本中,部分端口号可能发生变化,尤其是 Hadoop 3.x 对部分默认端口进行了调整。 端口Hadoop 2.x (2.7.7)Hadoop 3.x (3.1.3)协议…...

    HLS学习

    文章目录 前言一、hls是什么二、m3u8文件格式说明 前言 在工作&#xff0c;需要跟m3u8的格式进行打交道&#xff0c;所以就去学习了一些相关的内容。本文是相关的笔记。 一、hls是什么 HTTP Live Streaming&#xff0c;缩写为HLS&#xff0c;是由苹果公司提出基于HTTP的流媒体…...

    【Linux系统】Linux入门系统程序−进度条

    文章目录 一、铺垫知识1.回车符 和 换行符的区别2.用户缓冲区问题 二、进度条程序初版&#xff08;含视频演示效果&#xff09;三、进度条程序(加入使用场景) 一、铺垫知识 1.回车符 和 换行符的区别 回车符’\r’ 的效果&#xff08;让光标回到当前行开头&#xff09; 和 换…...

    Java大师成长计划之第27天:RESTful API设计与实现

    &#x1f4e2; 友情提示&#xff1a; 本文由银河易创AI&#xff08;https://ai.eaigx.com&#xff09;平台gpt-4-turbo模型辅助创作完成&#xff0c;旨在提供灵感参考与技术分享&#xff0c;文中关键数据、代码与结论建议通过官方渠道验证。 在现代软件架构中&#xff0c;RESTf…...

    SEO长尾词与关键词优化策略

    内容概要 在搜索引擎优化&#xff08;SEO&#xff09;实践中&#xff0c;长尾关键词与核心关键词的协同布局是提升网站可见性与流量的核心路径。本文系统性阐述从基础策略到高阶技术的全链路优化方案&#xff0c;重点剖析长尾关键词的挖掘逻辑与筛选标准&#xff0c;建立基于搜…...

    Linux-进程信号

    1.快速认识信号 1.1生活角度的信号 你在⽹上买了很多件商品&#xff0c;再等待不同商品快递的到来。但即便快递没有到来&#xff0c;你也知道快递来临 时&#xff0c;你该怎么处理快递。也就是你能“识别快递” 当快递员到了你楼下&#xff0c;你也收到快递到来的通知&#…...

    Trae生成 django5.2.1后台管理

    安装django&#xff0c;采用的是5.2.1版本&#xff1a; pip install django Trae对话框中输入&#xff1a; 基于django框架&#xff0c;生成版本管理功能&#xff0c;版本管理模块命名为versions&#xff0c;工程项目命名为main 迁移数据库&#xff1a; python manage.py …...

    Interrupt 2025 大会回顾:关于LangChain 的 AI Agent会议内容总结

    Interrupt 2025 大会已圆满落下帷幕&#xff01;今年&#xff0c;来自全球各地的 800 多位人士齐聚旧金山&#xff0c;参加了 LangChain 首次举办的行业盛会&#xff0c;共同聆听各团队分享构建 AI Agent 的经验故事——会议的精彩和余温至今仍令人振奋&#xff01; 思科、优步…...

    C#学习9——接口、抽象类

    一、接口 1.什么是接口 官方话&#xff1a;是一种定义契约&#xff08;一组方法、属性、事件或索引器的抽象声明&#xff09;的机制&#xff0c;它规定了实现该接口的类或结构必须提供这些成员的具体实现。接口是面向对象编程中实现多态和抽象的重要工具。 个人理解&#xf…...

    【高德开放平台-注册安全分析报告】

    前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造成亏损无底洞…...

    Xshell实战:远程连接VMware CentOS7虚拟机与高效运维指南——从零配置到自动化操作,解锁Xshell的核心价值

    一、实战背景与目标 在开发与运维工作中&#xff0c;常需通过本地Windows主机远程管理虚拟机中的Linux系统。Xshell作为专业终端工具&#xff0c;能快速建立安全连接&#xff0c;执行高效操作。 场景需求&#xff1a; 在Windows系统中&#xff0c;通过Xshell远程连接VMware中的…...

    C#编写软件添加菜单栏

    将MenuStrip控件拖动到窗体&#xff0c;可以直接在工具箱搜索menu&#xff0c;我是先在窗体上上加了一个panel&#xff0c;把MenuStrip拖动到panel上面&#xff0c;点击即可输入自己需要的文本。...

    【C++】map和multimap的常用接口详解

    map和multimap的文档&#xff1a;<map> - C Reference 1.map类的介绍 map 有两个模板参数&#xff0c;是 key/value的场景。 这里的Key就是key&#xff0c;T就是value&#xff0c;命名不同而已。map默认要求Key⽀持⼩于⽐较&#xff08;升序&#xff09;&#xff0c;如…...

    线程池模式与C#中用法

    一、线程池模式解析 1. 核心概念 线程池是一种 管理线程生命周期的技术&#xff0c;主要解决以下问题&#xff1a; 减少线程创建/销毁开销&#xff1a;复用已存在的线程 控制并发度&#xff1a;避免无限制创建线程导致资源耗尽 任务队列&#xff1a;有序处理异步请求 2. …...

    47、C#可否对内存进⾏直接的操作?

    是的&#xff0c;C# 可以通过几种方式对内存进行直接操作&#xff0c;尽管它主要是一门托管语言&#xff0c;内存管理通常由.NET运行时自动处理。 主要方法 1.unsafe 代码和指针 使用 unsafe 关键字可以启用指针操作需要项目启用"允许不安全代码"选项示例&#xf…...

    精益数据分析(70/126):MVP迭代中的数据驱动决策与功能取舍

    精益数据分析&#xff08;70/126&#xff09;&#xff1a;MVP迭代中的数据驱动决策与功能取舍 在创业过程中&#xff0c;最小可行化产品&#xff08;MVP&#xff09;的迭代优化是从验证假设到实现产品市场契合的关键环节。今天&#xff0c;我们结合《精益数据分析》中的方法论…...

    大数据与数据库服务器参数调优方法

    1 硬件配置优化 ‌存储与磁盘‌ 优先选择 ‌SSD固态硬盘‌替代机械硬盘,显著降低I/O延迟,提升随机读写性能。 采用 ‌RAID 10阵列‌实现高性能与冗余的平衡,适用于高并发数据库场景。 大数据场景中,通过‌多磁盘并行挂载‌(如HDFS)提升吞吐量,规避单盘性能瓶颈。 ‌I/…...

    【Fifty Project - D28】

    今日完成记录 TimePlan完成情况9&#xff1a;30 - 11&#xff1a;30Leetcode√14&#xff1a;00 - 15&#xff1a;30练胸√15&#xff1a;30 - 16&#xff1a;30Leetcode√19&#xff1a;40 - 21&#xff1a;20有氧√ Leetcode 今天是周赛复盘篇&#xff0c;昨天的周赛太刺激…...

    Image and depth from a conventional camera with a coded aperture论文阅读

    Image and depth from a conventional camera with a coded aperture 1. 研究目标与实际意义1.1 研究目标1.2 实际问题与产业意义2. 创新方法:编码光圈设计与统计模型2.1 核心思路2.2 关键公式与模型架构2.2.1 图像形成模型2.2.2 深度可区分性准则2.2.3 统计模型与优化框架2.2…...

    vue3 vite 项目中自动导入图片

    vue3 vite 项目中自动导入图片 安装插件配置插件使用方法 安装插件 yarn add vite-plugin-vue-images -D 或者 npm install vite-plugin-vue-images -D配置插件 在 vite.config.js 文件中配置插件 // 引入 import ViteImages from vite-plugin-vue-images;plugins: [vue(),/…...

    软考-软件工程开发模型

    软考-软件工程开发模型 参考视频&#xff1a; 软件工程概述&开发模型 &#xff0c;配合视频理解更清晰&#xff5e; 软件的生命周期为&#xff1a;需求分析、软件设计、软件开发、运行维护直至被淘汰 几个阶段。 软件工程支持 4 个活动&#xff0c;简称 PDCA&#xff0c…...

    纸上流年:Linux基础IO的文件理解与操作

    文章目录 前言&#xff1a;数字世界的窗口&#x1f307;序章&#x1f3d9;️正文一、文件理解二、C语言文件操作2.1、文件打开2.2、文件关闭2.3、文件写入2.4、文件读取 三、系统级文件操作3.1、打开 open3.1.1、函数理解 3.2、关闭 close3.3、写入 write3.4、读取 read 四、小…...

    基础深度补全模型DepthLab: From Partial to Complete

    许多任务本身就包含部分深度信息&#xff0c;例如&#xff1a;&#xff08;1&#xff09;三维高斯图像修复&#xff1b;&#xff08;2&#xff09;激光雷达深度补全&#xff1b;&#xff08;3&#xff09;利用 Dust3R 进行稀疏视角重建&#xff1b;以及&#xff08;4&#xff0…...

    15 秒写一首歌?AI 音乐生成模型 ACE-Step 上手体验!

    在人工智能技术持续突破的浪潮中&#xff0c;音乐创作领域迎来了革命性的变革。近日&#xff0c;阶跃星辰与ACE Studio联合发布的开源音乐大模型ACE-Step&#xff08;中文名&#xff1a;音跃&#xff09;正式亮相&#xff0c;标志着AI音乐创作技术迈入全新阶段。这款集成了最新…...

    如何在数据库中正确存储金额?

    无论是开发电商平台、财务系统还是支付应用&#xff0c;金额的存储都是核心需求。但许多新手开发者常因字段类型选择不当&#xff0c;导致金额计算错误甚至资金损失。本文将用最通俗的语言&#xff0c;详细讲解如何专业地设计数据库中的金额字段。 一、为什么不能随便选字段类型…...

    网络请求和状态管理

    安装axios 创建项目&#xff0c;输入名称 新建文件夹&#xff1a; 在文件夹下输入cmd 运行 最后在复制到浏览器中 得到页面 使用axios axios封装成模块 实现一个学生信息案例 模拟数据&#xff0c;请求数据 安装完成后新建一个mock文件夹&#xff0c;制作一个模拟数据 配置…...

    TIF导入TWF坐标方法

    TIF坐标导入 1、打开Arcmap&#xff0c;将影像拖入界面&#xff0c;点击确定 2、点击工具箱→投影变换→定义投影 国家2000&#xff0c;WGS84坐标系 点击确定 显示已完成&#xff0c;即可 3、批处理 将需要定义的tif拖入到ARCMAP中&#xff0c;点击定义投影&#xff0c;右键…...

    系统思考:动态性复杂

    我们是否有遇到过这样的困境&#xff1f;做决策时&#xff0c;总觉得问题很简单&#xff0c;但总是看不清楚全貌。越做越复杂&#xff0c;最后好像什么都没解决&#xff0c;反而把事情弄得更糟。 其实&#xff0c;这就是动态性复杂的表现。它包含了两个关键因素&#xff1a;细节…...

    智能体应用如何重塑未来生活?全面解析技术场景与实在Agent突破

    智能体应用有哪些&#xff1f;在科技飞速发展的当下&#xff0c;人工智能正以前所未有的速度渗透到我们生活的方方面面。而智能体技术&#xff0c;作为人工智能领域的一颗璀璨新星&#xff0c;正逐渐展现出其重塑未来生活的巨大潜力。从办公效率的提升到医疗服务的优化&#xf…...

    20.自动化测试框架开发之Excel配置文件的IO开发

    20.自动化测试框架开发之Excel配置文件的IO开发 一、核心架构解析 1.1 类继承体系 class File: # 文件基类# 基础文件验证和路径管理class ExcelReader(File): # Excel读取器# 实现Excel数据解析逻辑1.2 版本依赖说明 # 必须安装1.2.0版本&#xff08;支持xlsx格式&#…...

    1.1 Epson机器人常用指令1-Print函数、RobotInfo$

    本文介绍Print, RobotInfo的使用. 主要总结如下&#xff1a; 1. Print可以向串口、网口、手操器TP1&#xff0c;RC软件等发送数据 2. RobotInfo$(4)可以得到机器人序列号。用于防止程序下载到其他机器人上。 3. CX, CY, CZ可以返回点的XYZ坐标值。 Rea…...

    【机器人】复现 3D-Mem 具身探索和推理 | 3D场景记忆 CVPR 2025

    3D-Mem 是用于具体探索和推理的3D场景记忆&#xff0c;来自CVPR 2025. 使用信息丰富的多视角图像&#xff0c;来表示场景并捕捉已探索区域的丰富视觉信息&#xff0c; 整合了基于前沿的探索&#xff0c;使智能体能够通过考虑已知和潜在的新信息&#xff0c;做出明智的决策。 …...

    视觉-语言导航:综述与类别

    22年4月来自国防科大的论文“Vision-Language Navigation: A Survey and Taxonomy”。 视觉-语言导航 (VLN) 任务要求智体遵循人类语言指令&#xff0c;在未曾见过的环境中导航。这个充满挑战的领域涉及自然语言处理、计算机视觉、机器人技术等领域&#xff0c;并催生了众多专…...

    基于SpringBoot的家政预约系统

    作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏&#xff1a;…...

    什么是子网委派?

    Azure 子网委派的概念 子网委托使您能够为所选的 Azure PaaS 服务指定一个特定的子网,并将其注入到您的虚拟网络中。子网委托为客户提供了完全的控制权,可以管理 Azure 服务与其虚拟网络的集成。 当您将子网委托给 Azure 服务时,您允许该服务为该子网建立一些基本的网络配…...

    5个yyds的.Net商城开源项目

    今天一起来盘点下5个商城开源项目。 1、支持多语言、多商店的商城&#xff0c;.Net7 EF7领域驱动设计架构&#xff08;Smartstore&#xff09; 项目简介 Smartstore 支持桌面和移动平台、多语言、多商店、多货币的商城&#xff0c;并支持SEO优化&#xff0c;支持无限数量的…...

    如何快速隔离被攻击的服务器以防止横向渗透

    网络延迟过高会显著影响用户体验和服务性能&#xff0c;以下是系统化的排查思路和解决方案&#xff1a; --- ### **1. 快速定位问题范围** #### **基础检查** - **测试延迟目标**&#xff1a; bash ping <目标IP或域名> # 检查基础延迟&#xff08;ICMP…...

    【解决】自己的域名任何端口都访问不到,公网地址正常访问,服务器报错500。

    一、问题描述 后端项目部署在服务器上&#xff0c;通过域名访问接口服务器报错500&#xff0c;通过浏览器访问殒命的任何端口都是无法访问此网站。 但是通过公网地址访问是可以正常访问到的&#xff0c;感觉是域名出现了问题 二、解决过程 先说结论&#xff1a;问题原因是…...

    Kubernetes MCP服务器(K8s MCP):如何使用?

    #作者&#xff1a;曹付江 文章目录 1、什么是 Kubernetes MCP 服务器&#xff1f;1.1、K8s MCP 服务器 2、开始前的准备工作2.1. Kubernetes集群2.2. 安装并运行 kubectl2.3. Node.js 和 Bun2.4. &#xff08;可选&#xff09;Helm v3 3、如何设置 K8s MCP 服务器3.1. 克隆存储…...

    RHCE 练习三:架设一台 NFS 服务器

    一、题目要求 1、开放 /nfs/shared 目录&#xff0c;供所有用户查询资料 2、开放 /nfs/upload 目录&#xff0c;为 192.168.xxx.0/24 网段主机可以上传目录&#xff0c;并将所有用户及所属的组映射为 nfs-upload,其 UID 和 GID 均为 210 3.将 /home/tom 目录仅共享给 192.16…...

    SpringBoot(二)--- SpringBoot基础(http协议、分层解耦)

    目录 前言 一、SpringBoot入门 1.入门程序 2.解析 二、HTTP协议 1.HTTP概述 2.HTTP请求协议 2.1 GET方式的请求协议 2.2 POST方式的请求协议 2.3 两者的区别 2.4 获取请求数据 3.HTTP响应协议 三、分层解耦 1.三层架构 2.IOC&DI 2.1 入门 2.2 IOC详解 2.…...

    mongodb部署Shard Cluster

    一、创建集群认证文件 mkdir ./data ./confopenssl rand -base64 756 > ./conf/keyfilechmod 400 ./conf/keyfiledocker network create mongo-cluster二、部署configsever副本集 #!/bin/bash inamemongodb:8.0.9 conf_namemongo_conf_ replset_nameconfrsecho "…...

    【大数据】MapReduce 编程--索引倒排--根据“内容 ➜ 出现在哪些文件里(某个单词出现在了哪些文件中,以及在每个文件中出现了多少次)

    将 Hadoop 所需的 JAR 文件添加到项目中&#xff0c;确保可以使用 Hadoop 的 API JAR (Java Archive) 文件是一种用于打包多个 Java 类文件、资源文件&#xff08;如图片、配置文件等&#xff09;以及元数据的压缩文件格式。它类似于 ZIP 文件&#xff0c;但 JAR 文件通常用于 …...

    使用PHP对接东南亚、日本、印度和印度尼西亚股票数据源

    本文将介绍如何通过StockTV提供的API接口&#xff0c;使用PHP语言来获取并处理东南亚&#xff08;包括马来西亚、新加坡等&#xff09;、日本、印度以及印度尼西亚的股票市场数据。我们将以获取市场列表、查询公司信息、查看涨跌排行榜为例&#xff0c;展示具体的操作流程。 准…...

    从基础到高级:网站反爬技术全景解析与第三方工具对比

    网站反爬与用户行为检测实战指南:从基础防护到智能识别 在当今数据驱动的互联网时代,网站面临着日益复杂的爬虫攻击和恶意行为威胁。本文将系统性地介绍网站反爬与用户行为检测的技术体系,包括基本原理、防护策略、第三方组件选型以及真实案例分析,帮助开发者构建更加安全…...

    docker安装Prometheus+Grafana

    docker 安装Prometheus 下载镜像 很多镜像服务器都不行了&#xff0c;我用的这个地址还可以 查看可用docker镜像地址&#xff1a;https://cloud.tencent.com/developer/article/2485043 docker pull docker.xuanyuan.me/prom/prometheus:latest启动 docker run -itd --name…...

    解决 Linux Bash 脚本因换行符问题导致的 “bash^M: No such file or directory“ 错误

    一、问题重现 最近在部署一个 Bash 脚本时遇到一个诡异的问题&#xff1a; bash $ chmod x deploy.sh $ ./deploy.sh /usr/bin/env: ‘bash\r’: No such file or directory 明明脚本内容正确&#xff0c;权限也设置好了&#xff0c;为什么会出现这样的错误&#xff1f; 二…...