Llama-impala on yarn的中间协调服务
本文基于CDH发行版下的Hadoop Yarn和Impala
早期的Impala版本号中。为了使用Impala。我们一般会在以Client/Server的结构在各个集群节点启动impala-server、impala-state-store和impala-catalog服务,而且在启动过程中无法动态调整内存和CPU的分配。CDH5之后,Impala開始支持Impala-on-yarn模式。通过一个叫做Llama(Long-Lived Application Master)的中间协调Yarn和Impala,向Hadoop
Yarn资源管理器申请计算资源。
1、Llama介绍
Llama(Long-LivedApplicationMaster)是位于ClouderaImpala和HadoopYARN之间,用于协调资源管理的服务系统。
在一个Hadoop集群中,Impala能够通过Llama预约、使用以及释放资源分配,以降低运行Impala查询时过多的资源管理用度。仅仅有在Impala中启用资源管理。集群中的Llama服务才真正运作。
默认情况下,YARN依据MapReduce工作的须要按位分配资源,而Impala则须要全部资源在同一时间可用,以保证查询的中间结果可以在不同节点间交换,而不须要迟延查询时间来等待新的资源分配,Llama就是为了在每一个Impala查询開始运行前就可保证其须要的资源都可用而出现。
若一个查询运行完成,Llama会将资源进行缓存。确保在运行Impala子查询时能够使用。这样的缓存机制避免了每一个查询运行前都须要进行新的资源请求。同一时候。假设YARN须要该资源用于其它工作,Llama就会将这部分资源还给YARN。
须要注意的是:Llama仅支持YARN。不能与MRv1结合使用。同一时候,Llama也是通过YARN的配置文件与Hadoop进行协作的。
2、控制计算资源预估
我们提交SQL到Impala后。有时会错误的预估该次查询可能消耗的计算资源,Impala支持用户设置默认的内存和CPU资源申请大小,SQL执行过程中,一旦资源開始紧缺时,Impala会通过Llama向Yarn申请很多其它的资源来扩展(expanding)当前的预留资源。一旦查询作业完毕,Llama一般会将资源还给Yarn。用户能够在启动使用impalad进程时加上-rm_always_use_defaults參数(必选)以及-rm_default_memory=size
and -rm_default_cpu_cores(可选)。Cloudera官方建议使用Impala-on-yarn时加上这些启动參数,能够让查询资源动态扩展。
3、验证计算资源预估和实际使用
为了使用户可以方便的验证查询语句所使用的集群资源大小,使用EXPLAIN语句可以查询相关内存预估的信息,以及使用到virtual core的大小。
使用EXPLAIN并不会真正提交查询
4、资源限制的原理
CPU限制是通过Linux CGroups机制。Yarn在各个节点启动符合CGroups形式的Container进程
内存限制是通过限制Impala的查询内存。一旦查询请求被授权,Impala会在运行前设置内存上限
Llama-impala on yarn的中间协调服务的更多相关文章
- 分布式协调服务Zookeeper集群之ACL篇
分布式协调服务Zookeeper集群之ACL篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.zookeeper ACL相关知识概览 1>.zookeeper官方文档(h ...
- 分布式协调服务Zookeeper扫盲篇
分布式协调服务Zookeeper扫盲篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 身为运维工程师对kubernetes(k8s)可能比较熟,那么etcd(go语言实现)分布式协 ...
- 详解分布式应用程序协调服务Zookeeper
主从结构:HDFS.Yarn.HBase.storm.spark.zookeeper都存在单点故障问题 hadoop1.x没有解决方案 hadoop2.x利用zookeeper实现HA zookeep ...
- zookeeper--为分布式应用提供协调服务
1.概述 zookeeper是一个开源的.分布式的.为分布式应用提供协调服务的Apache项目 zookeeper的工作机制 zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服 ...
- ZooKeeper -- 分布式开源协调服务
ZooKeeper是一个为分布式应用所设计的开源协调服务,适用于大型的分布式系统,可以提供统一命名服务.状态同步服务.集群管理.分布式应用配置项的管理等服务.ZooKeeper支持Java和C两种编程 ...
- 分布式协调服务-Zookeeper
什么是 zookeeper? Zookeeper 是google的chubby一个开源实现,是hadoop的分布式协调服务 它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名 ...
- 分布式协调服务Zookeeper集群监控JMX和ZkWeb应用对比
分布式协调服务Zookeeper集群监控JMX和ZkWeb应用对比 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. JMX是用来远程监控Java应用的框架,这个也可以用来监控其他的J ...
- 分布式协调服务Zookeeper集群搭建
分布式协调服务Zookeeper集群搭建 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.安装jdk环境 1>.操作环境 [root@node101.yinzhengjie ...
- 1.9 分布式协调服务-Zookeeper(一)
前言 分布式环境的特点 分布性 并发性 程序运行过程中,并发性操作是很常见的.比如同一个分布式系统中的多个节点,同时访问一个共享资源.数据库.分布式存储 无序性 进程之间的消息通信,会出现顺序不一致问 ...
随机推荐
- 杂项-DB:时序数据库
ylbtech-杂项-DB:时序数据库 1.返回顶部 1. 时序数据库全称为时间序列数据库.时间序列数据库主要用于指处理带时间标签(按照时间的顺序变化,即时间序列化)的数据,带时间标签的数据也称为时间 ...
- Spring事务管理-<tx:advice>标签
转自:https://www.aliyun.com/jiaocheng/1311989.html 首先先看一下代码: <bean name="transactionManager&qu ...
- POJ3414 Pots
题目: 给你两个容器,分别能装下A升水和B升水,并且可以进行以下操作 FILL(i) 将第i个容器从水龙头里装满(1 ≤ i ≤ 2); DROP(i) 将第i个容器抽干 ...
- BZOJ 1485 卡特兰数 数学
思路: 通过打表观察 这是个卡特兰数 但是它mod的数不是质数 怎么办呢 把所有数分解质因数好了 线性筛出mindiv 顺着mindiv分解质因数 复杂度$O(nlogn)$ //By Sirius ...
- selenium对浏览器属性操作的方法
最大化 方法一 //指明ChromeDriver路径 System.setProperty(Src_url_string.Chrome_Driver, Src_url_string.Driver_ad ...
- 兼容各个浏览器的jquyer zclip复制文本插件 无效的解决办法
项目中使用点击文本复制功能,用了这个兼容各个浏览器的插件,但是发现放在最前面正常,放到嵌套的html中就失效. 解决办法: <span style="position: relativ ...
- RocketMQ之基本信息
1.Producer 即消息生产者,负责产生消息,一般由业务系统负责产生消息. 2.Consumer 即消息消费者,负责消费消息,一般是后台系统负责异步消费. 3.Push Consumer Cons ...
- Python 之 风格规范(Google )
开头先mark一下网址:goole官网 任何语言的程序员,编写出符合规范的代码,是开始程序生涯的第一步. 一.分号 不要在行尾加分号, 也不要用分号将两条命令放在同一行. 二.行长度 每行不超过80个 ...
- hdu2853 Assignment 完美匹配 多校联赛的好题
PS:好题.不看题解绝对AC不了. 题解来源: http://blog.csdn.net/niushuai666/article/details/7176290 http://www.cnblogs. ...
- windows server 2008 不能执行bat
服务器有一个bat脚本,需要自动或手工执行,之前一直运行OK,可是突然有一天自动或手动都不能执行了,查了半天,原来是因为另一个运维人把环境变量中path的值改了,%SystemRoot%\system ...