Apache Oozie一 实战操作一修改 hadoop 资源分配属性|学习笔记

简介: 快速学习 Apache Oozie一 实战操作一修改 hadoop 资源分配属性

开发者学堂课程【Oozie 知识精讲与实战演练Apache Oozie一 实战操作一修改hadoop 资源分配属性】学习笔记,与课程紧密联系,让用户快速学习知识。  

课程地址:https://developer.aliyun.com/learning/course/716/detail/12786


Apache Oozie一 实战操作一修改 hadoop 资源分配属性


内容介绍

一、Apache Oozie 实战

总结

一、Apache Oozie 实战

oozie 安装好了之后,需要测试 oozie 的功能是否完整好使,官方已经自带各种测试案例,可以通过官方提供的各种案例来学习 oozie 的使用,后续也可以把这些案例作为模板在企业实际中使用,做一些相关的修改。

(1)先把官方提供的各种案例给解压出来。来到服务器上

首先 cd /export/servers/oozie-4.1.0-cdh5.14.0 安装包根目录

会发现 tar -zxvf oozie-examples.tar.gz,这里就是各种案例的模板

直接复制解压,解压后发现多了叫 examples 的文件夹,面是各种案例方便后面的学习。

(2)再去创建统一的工作目录,便于集中管理 oozie。企业中可任意指定路径。这里直接在 oozie 的安装目录下面创建工作目录。

cd /export/servers/oozie-4.1.0-cdh5.14.0

mkdir oozie works 直接创建,依旧在安装包的根目录下,这样就可以统一的在 oozie works 进行相关的配置。

1.优化更新 hadoop 相关配置

1.1.yarn 容器资源分配性

yarn-site.xml:

这一步在企业实际生产环境当中特别重要,因为一旦没有修改配置,服务器环境不一样的话,就可能在执行 oozie 的时候报错。

第一部分是跟压容器资源分配相关的,像作为集群的资源管理者,默认会去管理机上的 CPU 和内存,问题就在于内存实际多少并不知道,比如这里采用的是虚拟机来运行的,虚拟机可能给他分配两个 g 四个 g,但是 yarn 相当中默认最大内存这个节点属性的默认是 8G,这个时候就会产生问题,所以这个属性上去修改一下,要指定该节点最大的物理可用内存,必须要结合你的实际物理内存来调整,比如这台机器是 100G 的配置,那就给他配置为100或配置为99,要留一些内存给其他服务来使用,所以这一块就是修改。

yarn.nodemanager.resourcememory-mb

3072

下面部分是每个容器申请内存的最大值和最小值,在他没有配置的时候,最小值是1024,最大是 8G,这里结合物理情况来做个调整,给他分配的每台机器上最大的可用内存呢只给分配了 3G。

使用free-h 命令,可以看到当前机器最高是 3.7G,最高上限3072

图片1.png

yarn.schedulerminimum-allocation-mb

1024

yarn.schedulermaximum-allocation-mb

3072

yarn.resourcemanager.schedulerclass,默认调度叫做schedulerclass 容量调度

org.apache.hadoop.yarnserverresourcemanagerschedulerfairFairScheduler

schedulerclass 容量调度默认是单线程的调度,前面的执行完后,后面再执行,这样就会出现任务的等待问题,比如前面的程序没有执行完,后面的就在等待,所以需要把这个调度改为 FairScheduler 公平调度动态调整资源,公平调度底层是多线程执行的模式,A 执行的同时 B 也可以执行,资源不足的呢可以开始抢占。

yarn.scheduler.fair.preemption

true

yarn.schedulerfairpreemptioncluster-utilization-threshold

1.0

1.2.mapreduce 资源申请配置

Oozie 的各种类型的任务都是由 mr 程序提交的,会首先启动一个程序,在这个 mr程序当中再去提交各种类型的应用。

在当中需要申请资源,但默认情况下如果不配置,也会报错,资源请求不合法,最小内存是负一,最大是 8G,这时候需要去指定一下 mapreduce mapmemorymb内存是多少,mapreducereducememorymb 内存是多少,治理同意分配成102417,可以根据物理实际情况、业务来做相关的修改,必须要修改如果不修改有报错,修改完成这两篇文件后把配置文件拷贝给其他的机器,然后做集群的重启。

设置 mapreduce mapme morymb 和 mapreducere duceme morymb 配置。

否则 Oozie 读取的默认配置-1,提交给 yarn 的时候会抛异常 Invalid resource request, requested memory max configured Requested Memory=-1maxMemory=8192  

mapred-site.xml

mapreducemapmemorymb

1024

mapreduce.reduce.memorymb

1024

验证:CD 到 export server 在 hdoop-ETC 路径下,我这台机器呢因为以及之前配置好了,我们这边来做验证,首先去 vrm 一个叫做 yarn-site.Xml,可以发现在最下面这里,指定了使用的资源,机器最高可使用 3072,3G,最小 1G,然后下面是指定调度的策略,保持一致,没有问题,保存。

另外配置文件,叫做 vim mapred-site.xml,在这里配置两个参数,每个 mr 程序当中 map 可以申请1024到内存 1G,然后 reduc 一样,也是1024 1g,必须要配置,否则的话会见到这个错误负一,如果不配置的话,出错的时候,可以通过以上代码来做验证,看看是不是这样类型的错误,配置修改后一定要注意把配置分配给其他集区,做重启操作,这样就完成了我们使用 oozie 之前的前置工作。


二、总结

oozie 实战

1.解压出官方自带的案例 里面封装了各种类型任务的配置模板

2.优化更新 hadoop 环境资源配置

(1)yarn 资源相关的申请资源的上下限 yarn 调度策略 (fair 多线程执行模式)

(2)mapreduce 申请资源相关的 maptaskreducetask 申请内存的大小

(3)scp 给其他机器重启集群 (hadoop)oozie

相关文章
|
消息中间件 数据挖掘 Kafka
Apache Kafka流处理实战:构建实时数据分析应用
【10月更文挑战第24天】在当今这个数据爆炸的时代,能够快速准确地处理实时数据变得尤为重要。无论是金融交易监控、网络行为分析还是物联网设备的数据收集,实时数据处理技术都是不可或缺的一部分。Apache Kafka作为一款高性能的消息队列系统,不仅支持传统的消息传递模式,还提供了强大的流处理能力,能够帮助开发者构建高效、可扩展的实时数据分析应用。
774 5
|
6月前
|
人工智能 运维 监控
Aipy实战:分析apache2日志中的网站攻击痕迹
Apache2日志系统灵活且信息全面,但安全分析、实时分析和合规性审计存在较高技术门槛。为降低难度,可借助AI工具如aipy高效分析日志,快速发现攻击痕迹并提供反制措施。通过结合AI与学习技术知识,新手运维人员能更轻松掌握复杂日志分析任务,提升工作效率与技能水平。
|
消息中间件 存储 druid
大数据-156 Apache Druid 案例实战 Scala Kafka 订单统计
大数据-156 Apache Druid 案例实战 Scala Kafka 订单统计
221 3
|
资源调度 分布式计算 Hadoop
揭秘Hadoop Yarn三大调度器:如何玩转资源分配,实现高效集群管理?
【8月更文挑战第24天】Hadoop YARN(Another Resource Negotiator)是一款强大的集群资源管理工具,主要负责高效分配及管理Hadoop集群中的计算资源。本文深入剖析了YARN的三种调度器:容量调度器(Capacity Scheduler)、公平调度器(Fair Scheduler)以及FIFO调度器,并通过具体的配置示例和Java代码展示了它们的工作机制。
378 2
|
分布式计算 Hadoop 关系型数据库
实时计算 Flink版操作报错合集之Hadoop在将文件写入HDFS时,无法在所有指定的数据节点上进行复制,该如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
XML 分布式计算 监控
详细指南:在Hadoop中配置Oozie作业
【8月更文挑战第31天】
279 0
|
存储 Apache 文件存储
在Apache环境下为Web网站增设访问控制:实战指南
在Apache服务器上保护网站资源涉及启用访问控制模块(`mod_authz_core`和`mod_auth_basic`),在`.htaccess`或`httpd.conf`中设定权限,如限制对特定目录的访问。创建`.htpasswd`文件存储用户名和密码,并使用`htpasswd`工具管理用户。完成配置后重启Apache服务,访问受限目录时需提供有效的用户名和密码。对于高安全性需求,可考虑更复杂的认证方法。【6月更文挑战第20天】
866 4
|
弹性计算 应用服务中间件 Linux
双剑合璧:在同一ECS服务器上共存Apache与Nginx的实战攻略
在ECS服务器上同时部署Apache和Nginx的实战:安装更新系统,Ubuntu用`sudo apt install apache2 nginx`,CentOS用`sudo yum install httpd nginx`。配置Nginx作为反向代理,处理静态内容及转发动态请求到Apache(监听8080端口)。调整Apache的`ports.conf`监听8080。重启服务测试,实现两者高效协同,提升Web服务性能。记得根据流量和需求优化配置。【6月更文挑战第21天】
1314 1
|
分布式计算 Hadoop
关于hadoop搭建的问题org.apache.hadoop.io.nativeio.NativeIO.java
关于hadoop搭建的问题org.apache.hadoop.io.nativeio.NativeIO.java
198 5
|
关系型数据库 Linux 网络安全
"Linux系统实战:从零开始部署Apache+PHP Web项目,轻松搭建您的在线应用"
【8月更文挑战第9天】Linux作为服务器操作系统,凭借其稳定性和安全性成为部署Web项目的优选平台。本文以Apache Web服务器和PHP项目为例,介绍部署流程。首先,通过包管理器安装Apache与PHP;接着创建项目目录,并上传项目文件至该目录;根据需要配置Apache虚拟主机;最后重启Apache服务并测试项目。确保防火墙允许HTTP流量,正确配置数据库连接,并定期更新系统以维持安全。随着项目复杂度提升,进一步学习高级配置将变得必要。
1062 0

相关实验场景

更多

推荐镜像

更多