Impala实践
文章平均质量分 52
工作中遇到了很多和Impala相关的问题,由此而记录的内容,特此分享。
木东居士
数据搬运工一只,欢迎光临个人小站:http://www.mdjs.info/about/
展开
-
Impala实践之十五:Impala使用文档
前言Impala集群中有两台机器的Impala Daemon不能正常启动,记录一下整个过程和解决方式。过程阶段一Impala集群的状态开始飘红,有两台节点不能正常使用。这时候发现集群里面有十多个任务正在运行,任务执行时间很长,情况非常不正常。看了一下sql的内容,有几个sql的确比较耗资源。阶段二此时,我先通知不要提交sql,给修复问题留点时间。正在重启不健康的节点,群里面就有人继续提交了不合理的s原创 2016-08-31 15:50:21 · 4183 阅读 · 0 评论 -
Impala实践之十四:一次Impala节点故障记录(不能启动)
前言Impala集群中有两台机器的Impala Daemon不能正常启动,记录一下整个过程和解决方式。过程阶段一Impala集群的状态开始飘红,有两台节点不能正常使用。这时候发现集群里面有十多个任务正在运行,任务执行时间很长,情况非常不正常。看了一下sql的内容,有几个sql的确比较耗资源。阶段二此时,我先通知不要提交sql,给修复问题留点时间。正在重启不健康的节点,群里面就有人继续提交了不合理的s原创 2016-08-25 18:35:29 · 5342 阅读 · 0 评论 -
Impala实践之十三:Impala建表时的关键字
前言由于经常要帮数据分析抽表,因此自己写了个自动生成impala和sqoop脚本的工具,结果今天发现一个库中17张表,只成功导入了12张。仔细检查才发现是是由于impala建表时候字段使用了location关键字的原因。分析建表语句impala-shell -i ip:25004 -q "DROP TABLE IF EXISTS database.table;CREATE EXTERNAL TA原创 2016-08-21 11:27:46 · 10406 阅读 · 1 评论 -
Impala实践之十二:impala压缩方式测试
前言测一下parquet、snappy、gzip、textfile这些方式在hdfs中占用的存储大小。在impala中直接建内部表。测试 存储格式 压缩格式 文件大小 建表时间 textfile none 3.0 G 38.74s parquet none 1.5 G 32.33s parquet snappy 709.3 M 31.71原创 2016-08-21 11:27:17 · 4436 阅读 · 0 评论 -
Impala实践之十一:parquet性能测试
前言之前一直考虑更换impala的文件存储格式为parquet,但是没有立即使用,最近又做了一些测试,看看parquet是否真的有用。在测试的时候顺便测了一下compute语句的效果,一起作为参考。下面抽出一个小业务的部分测试结果来展示。测试准备库名和表名当然不是真的。测试范围:文件格式:parquet和textcompute语句的影响测试用表: 表名 行数 字段数 物理存储大原创 2016-08-21 11:26:40 · 5169 阅读 · 0 评论 -
Impala实践之十:impala最佳实践(转、译、整理)
前言最近在看impala原理时候翻出来的一些tip,帮助更好地使用impala,自己整理一下。0x01 杂项1. Impala 使用缓存吗?Impala 不会缓存数据,但它缓存一些表和文件的元数据。尽管因为数据集被缓存到 OS 的缓冲区中,接下来的重复查询可能运行的更快,Impala 不会明确的控制这些。0x02 Impala任务失败1. 为什么 SELECT 查询会失败?当一个 SELECT 语句原创 2016-08-19 15:42:26 · 4939 阅读 · 0 评论 -
Impala实践之九:invalidate metadata详细使用方法说明
前言Impala一直是我们各个业务使用的重点,但是在Impala的使用上感觉一直不是很成熟,比如说 invalidate metadata操作,到底什么时候该使用-r参数,什么时候不使用,什么时候可以用refresh代替,什么时候不可以,这一直是一个问题。因此有了这次的测试。这次的测试目的就是为了对Impala的元数据方面的使用进行一个彻底的测试,给出一个比较明确答复。在最大的成都上来减缓Impal原创 2016-08-19 15:41:57 · 2335 阅读 · 0 评论 -
Impala实践之八:脚本中引号问题
前言写脚本,遇到一个小坑,python和seven帮忙填了一下,突然想起来之前貌似遇到过类似的情况。版本一脚本:sql=$1coordinator=$2output_file=$3echo $sqlecho "------"echo $output_fileecho "------"echo $coordinatorimpala-shell -i $coordinator -q $sql原创 2016-08-18 12:53:14 · 3461 阅读 · 0 评论 -
Impala实践之七:添加负载均衡
前言impala的负载均衡,使用haproxy来做,主要是比较简单。安装后做一个小配置就行。主要用的就是haproxy四层交换机的特性,讲所有指向haproxy主机和端口的请求,转发到相应的主机:端口上。cdh官网里面的信息已经比较久了,有些配置需要改,因此做一个笔记。impala负载安装haproxyyum install haproxy配置文件vim /etc/haproxy/haproxy.c原创 2016-08-18 12:52:31 · 2860 阅读 · 0 评论 -
Impala实践之六:使用Rest Api
前言上次的impala状况出现后,决定自己做一套impala的管理系统,那么首先面临的一个问题就是获取impala的各种状态,比如任务执行状态。经过一天多的尝试,总结一下。hue:可以使用hue的脚本,hue使用python编写,其中有一个beeswax模块,负责任务的执行等。缺点是没发现java的api。cloudera manager java api:java可以调用cm原生的api,需要原创 2016-08-18 12:51:20 · 5355 阅读 · 4 评论 -
Impala实践之五:一次系统任务堵塞记录 + 思考
前言前段时间,imppala资源告警,各种任务失败,查询堵塞,因此公司集群升级。这次迁移的确必须,因为当时的集群规模很小,资源太紧张了。迁移集群后,今天集群再次出问题,导致一个下午没什么事都没干,查了一下午的错误。事件发展1.阶段一:下午2点17分数据组反映集群崩溃,HUE界面不能登录,登录之后刷不出来表,当然也不能提交数据。查看各种log日志、任务信息,发现事件发生前后有两个现象:有一个admi原创 2016-08-15 13:19:11 · 4168 阅读 · 0 评论 -
Impala实践之四:记一次Impala报错的处理和分析过程
前言impala集群出错的一次记录和解决方法以及解决思路。错误记录错误信息Memory limit exceeded Cannot perform hash aggregation. Partitioned input data too many times. This could mean there is too much skew in the data or the memory limit原创 2016-08-10 12:37:17 · 4118 阅读 · 1 评论 -
Impala实践之三:详解invalidate metadata
前言这次主要是想通过源码找到invalidate metadata执行的原理,由于不太懂java和c++的互调的细节,目前只能查找到如下阶段,后面会专门看一下java的jni以及thrift的原理。分析目前主要定位到三个类,com.cloudera.impala.service.JniCatalog,com.cloudera.impala.service.CatalogOpExecutor和com.原创 2016-08-10 12:36:54 · 5522 阅读 · 2 评论 -
Impala实践之二:Hive元数据
0x00 前言深入学习Impala的最主要一个原因就是目前在使用Impala的时候遇到了各种了性能问题,之前定位过一次问题,猜测其性能损耗的一个主要原因在INVALIDATE METADATA和-r参数上,但是对此并不是十分理解,因此需要深入一点底理解这些概念,方面更准确地定位问题。下面将从三个角度来分析Impala元数据:Hive元数据库、INVALIDATE METADATA语句和REFRESH原创 2016-08-08 19:08:02 · 6663 阅读 · 0 评论 -
Impala实践之一:基本原理
0x00 前言最近在使用impala,顺便学习一下相关的原理部分。下面的组织结构会先介绍一下impala的大致原理和涉及的技术,然后对每块涉及到的技术做一个梳理,最后再深入一点impala的原理。impala是什么开源数据库系统类MPP并行数据库执行Dremel系基于hadoop0x01 MPP一、服务器三大体系:SMP、NUMA、MPP从系统架构来看,商用服务器大体可以分为三类:SMP原创 2016-08-08 19:07:35 · 4728 阅读 · 0 评论 -
parquet性能测试
前言之前一直考虑更换impala的文件存储格式为parquet,但是没有立即使用,最近又做了一些测试,看看parquet是否真的有用。在测试的时候顺便测了一下compute语句的效果,一起作为参考。下面抽出一个小业务的部分测试结果来展示。测试准备库名和表名当然不是真的。测试范围:文件格式:parquet和textcompute语句的影响测试用表: 表名 行数 字段数 物理存储大原创 2016-05-02 16:29:35 · 2031 阅读 · 0 评论