YAEN学习

YARN作为Hadoop 2.x版本中的关键组件,解决了资源管理和任务调度的问题,实现了资源管理和任务监控调度的分离,支持多种应用如MapReduce和Spark。本文介绍了YARN的架构,包括ResourceManager和ApplicationMaster的角色,以及YARN的资源调度机制,包括FIFO、CapacityScheduler和FairScheduler等调度器。

YARN 的前世今生:
hadoop1.x版本中最大的问题就是资源问题
对数据的处理和资源调度主要依赖MapReduce完成
只能运行MapReduce程序
JobTracke负责资源管理和程序调度,压力较大
hadoop2.x版本添加yarn
主要负责集群资源管理
YARN概述
YARN 核心思想是将资源管理和任务的监控和调度分离
通用的资源管理系统,可为不同的应用(MapReduce,spark )

YARN的基本架构核心组件
YARN 的架构是master、slaves的主从架构

YARN架构核心组件-ResourceManager
ResourceManager组成
ResourceScheduler->资源调度器,根据节点的容量、队列情况,为应用程序分配资源
Application Manager->应用程序管理器,负责接受Client端传输的job请求
ResourceManager功能
处理客户端请求
监控NodeManager
启动和监控ApplicationMaster,进行必要的重启
整个系统的资源分配和调度

YARN架构核心组件-ApplicationMaster
ApplicationMaster功能
每个应用程序对应一个ApplicationMaster,负责单个应用程序的管理
负责数据切分
为应用程序向ResourceManager申请资源(Container),并分配内部任务(MapTask和ReduceTask)
与NodeManager通信来启动/停止任务,Task都是运行在Container中的
负责任务的监控和容错,当某些Task运行出错,进行容错处理

yarn 的工作机制
在这里插入图片描述
YARN的资源调度器
目前Hadoop作业调度器有三种
FIFO:先进先出调度器
Capacity Scheduler:容量调度器
Fair Scheduler:公平调度器
默认的作业调度器可以在yarn-default.xml文件中查看,属性如下
yarn.resourcemanager.scheduler.class
Hadoop版本2.6.0-cdh5.14.2的默认调度器是公平调度器

DataSophon: 是一个国产智子大数据运维管理平台 优点:易用性,可拓展性,高可靠性 官网;https://datasophon.github.io/datasophon-website/docs/current/%E6%A6%82%E8%A7%88/ 功能: 可以配置的集群组件:调优成本低 HDFS(Hadoop):分布式大数据存储 YAEN(Hadoop):分布式资源调度与管理平台 ZooKeeper:分布式协调系统 flink: 实时计算引擎 Spark:分布式计算系统 Hive: 离线数据仓库 Kafka:高吞吐量分布式发布订阅消息系统 HBase:分布式列式存储数据库 Trino: 分布式Sql交互式查询引擎 Doris: 配置: 在/etc/hosts文件中添加主机名 故障预警: 资源管理: 作业管理: 数据管理: flink :开源流处理框架 四大基石分别是:Time (时间)、Window(窗口)、State (状态)、Checkpoint(检查点) 窗口:滑动、滚动、会话 时间机制:EventTime[事件时间]、IngestionTime[摄入时间]、ProcessingTime[处理时间] 代码: StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironrnent(); // 使用处理时间 env.setStreamTimeCharacteristic(TimeCharacteristic.ProcessingTime) ; // 使用摄入时间 env.setStrearnTimeCharacteristic(TimeCharacteristic.IngestionTime); // 使用事件时间 env.setStrearnTimeCharacteristic(TimeCharacteristic.EventTime); doris : MPP分析型数据库,行列混存数据库‌ 如果key相同会覆盖 使用 partition(分区):是在逻辑上****将一张表按行(横向)划分** tablet(又叫bucket,分桶):在物理上****对一个分区再按行(横向)划分** -- List Partition CREATE TABLE IF NOT EXISTS test.expamle_list_tbl ( `user_id` LARGEINT NOT NULL COMMENT "用户id", `date` DATE NOT NULL COMMENT "数据灌入日期时间", `timestamp` DATETIME NOT NULL COMMENT "数据灌入的时间戳", `city` VARCHAR(20) COMMENT "用户所在城市", `age` SMALLINT COMMENT "用户年龄", `sex` TINYINT COMMENT "用户性别" ) ENGINE=olap-- 指定使用OLAP引擎(分析型数据库引擎) DUPLICATE KEY(`user_id`) -- 表模型主键 -- 分区的语法 PARTITION BY range(`date`) -- 指定分区类型和分区列 ( -- 指定分区 PARTITION `p201701` VALUES LESS THAN ("2017-02-01") ) -- 指定分桶的语法 DISTRIBUTED BY HASH(`user_id`) buckets 1 -- 哈希分桶 PROPERTIES -- 表属性配置 ( "replication_num" = "3" --设置副本的数量 "storage_medium" ="SSD"--存储方式 );我需要 完成 操作文档
07-05
内容概要:本文详细介绍了“秒杀商城”微服务架构的设计与实战全过程,涵盖系统从需求分析、服务拆分、技术选型到核心功能开发、分布式事务处理、容器化部署及监控链路追踪的完整流程。重点解决了高并发场景下的超卖问题,采用Redis预减库存、消息队列削峰、数据库乐观锁等手段保障数据一致性,并通过Nacos实现服务注册发现与配置管理,利用Seata处理跨服务分布式事务,结合RabbitMQ实现异步下单,提升系统吞吐能力。同时,项目支持Docker Compose快速部署和Kubernetes生产级编排,集成Sleuth+Zipkin链路追踪与Prometheus+Grafana监控体系,构建可观测性强的微服务系统。; 适合人群:具备Java基础和Spring Boot开发经验,熟悉微服务基本概念的中高级研发人员,尤其是希望深入理解高并发系统设计、分布式事务、服务治理等核心技术的开发者;适合工作2-5年、有志于转型微服务或提升架构能力的工程师; 使用场景及目标:①学习如何基于Spring Cloud Alibaba构建完整的微服务项目;②掌握秒杀场景下高并发、超卖控制、异步化、削峰填谷等关键技术方案;③实践分布式事务(Seata)、服务熔断降级、链路追踪、统一配置中心等企业级中间件的应用;④完成从本地开发到容器化部署的全流程落地; 阅读建议:建议按照文档提供的七个阶段循序渐进地动手实践,重点关注秒杀流程设计、服务间通信机制、分布式事务实现和系统性能优化部分,结合代码调试与监控工具深入理解各组件协作原理,真正掌握高并发微服务系统的构建能力。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值