Yarn模式下Apache HAWQ的运行 [作者:白洁]

本文详细介绍了如何通过简单几步将Apache HAWQ集群配置为在Yarn模式下运行,包括设置Yarn资源管理器、配置Apache HAWQ以与Yarn交互以及启动相关服务的过程。重点阐述了如何调整资源分配,实现Apache HAWQ与Yarn上其他应用的弹性共存。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Apache HAWQ支持两种类型的资源管理模式,Standalone模式和Yarn模式。当Apache HAWQ集群在Standalone模式下运行时,会独占整个集群的资源而不去考虑其他共存的应用程序的资源使用需求。当Apache HAWQ集群在Yarn模式下运行时,Apache HAWQ会作为Yarn的一个应用程序动态地从Yarn申请资源,从而达到Apache HAWQ与其他Yarn应用程序弹性共存的效果。


用户可以通过以下几步操作使得Apache HAWQ能够在Yarn模式下运行:


1)Yarn资源管理器的设置


用户有多个可用的Yarn资源调度器可以选择,ApacheHAWQ对具体选择某个具体调度器不敏感。本例中我们选择 Capacity Scheduler资源调度器, 如下图,在yarn-site.xml 中设置Yarn资源管理器使用Capacity Scheduler。




Apache HAWQ需要独占地使用一个Yarn的queue。用户通过设置capacity-scheduler.xml来配置Capacity Scheduler中用于Apache HAWQ的queue。例如本例中,yarn.scheduler.capacity.root.queues设定了hawqqueue。后面两个capacity的参数设定的是Yarn为hawqqueue所预留的可使用资源的范围,本例中 为50%-100%,即Apache HAWQ默认使用50%资源,但可以最多使用100%的集群资源,设置yarn.scheduler.capacity.root.hawqqueue.user-limit-factor为2,允许Apache HAWQ使用超过Yarn的queue正常容量的资源




2)Apache HAWQ的设置


用户通过配置Apache HAWQ master的hawq-site.xml配置Yarn服务器相关信息,这使得Apache HAWQ可以与Yarn服务器沟通获取Yarn集群资源,获取和归还Yarn的container等。首先设置hawq_global_rm_type为yarn来设置Apache HAWQ是在Yarn模式下运行。然后配置hawq_rm_yarn_queue_name指定Apache HAWQ使用Yarn的queue的名字。配置hawq_rm_yarn_app_name,可以设置Apache HAWQ作为Yarn的应用在Yarn资源管理器中显示的名字。配置hawq_rm_yarn_address为Yarn resource manger所在的host,hawq_rm_yarn_scheduler_address 同理。



3)启动Apache HAWQ


接下来,启动Yarn和Apache HAWQ,通过yarn application -list命令查看在yarn注册的应用,可以看到Apache HAWQ作为一个application已连接到Yarn。




执行sql语句“select * from testyarn left join testyarntmp on testyarn.d = testyarntmp.d and testyarn.d>=2 order by testyarn.d desc;”用yarn node -list 命令来 查看此刻Yarn的结点资源使用状况,每个结点上各分配了两个container(因为Apache HAWQ的资源水位设为2,Apache HAWQ会向Yarn的每个结点申请两个container)




查看pg_resqueue_status表里资源队列的状态,可以看到Apache HAWQ queue pg_default分配了3072MB内存和1.5个vcore用于执行sql,每个虚拟segment的资源量是1024MB,所以一共有三个虚拟segment在使用中。




执行完sql语句,过了一段没有工作负载的时间后, Apache HAWQ便将资源归还给Yarn,重新查看yarn node -list,可看到正在使用的container为0。



通过pg_resqueue_status查看每个queue都没有资源在使用中。



本文演示了通过简单几步,使Apache HAWQ运行于Yarn模式,在有计算需求的情况下,Apache HAWQ会动态地按需向Yarn申请资源,在负载降低或者为空的情况下,Apache HAWQ会自动归还拥有的资源实现与其它Yarn应用程序的弹性共存和协作。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值