impala v0.3使用和配置

一、Impala介绍

Cloudera Impala提供了快速,交互式的针对存储在hadoop(hdfs和hbase)上的数据的查询方案。impala采用了和hive相同的元数据、SQL语法(Hive SQL)、ODBC驱动程序和用户接口(HUE Beeswax),这样在使用CDH产品时,批处理和实时查询的平台是统一的。

Cloudera Impala是另外一个支持大数据查询的工具,但它并不是取代Hive

这种构建在mapreduce上的批量处理框架。hive和其他类似构建在mapreduce上的批处理框架还是非常适用于那种长时间运行的,比如ETL类型的作业。

1、Impala优势

l  支持大家都非常熟悉的类SQL语法结构

l  提供对存储在hadoop中(hdfs和hbase)数据交互式的查询

l  Single system for big data processing and analytics so customers canavoid costly modeling and ETL just for analytics

2、Impala工作原理图

Impala主要是对存储在hdfs和hbase中数据进行实时查询,由于impala采用和Hive一致的元数据结构,所以impala的元数据管理沿用了Hive元数据管理机制,安装impala的时候就必须要安装Hive。

3、Impala组件构成:

l  Impala State Store:运行statestored进程,用于存储集群中的impalad进程的状态信息,这些信息用于在分布式环境中快速的查询数据响应查询请求。

l  Impalad:运行在DataNode节点上,主要用于协调和执行查询,每一个impalad实例都能接受、并有效的协调来自ODBC或者impala shell的查询请求。另外,impalad进程还可以以一个worker的角色来执行由其他impalad进程发起的分布式并行查询。

l Impala-shell:使用Impala-shell可以进行impala查询或任务管理,例如connectimpalad等。

4、Impala执行查询的处理步骤如下:

a)      用户的Applications通过ODBC驱动程序执行查询时,首先要连接到集群中的某一个impalad进程上,然后由这个impalad进程来协调和发起分布式查询请求。

b)      Impala接收到这个查询请求后会对其进行解析,并分析以确定需要由集群中的一个或者多个imapald进程实例来执行查询请求。查询的时候会根据执行计划选择最优的查询方式。

c)      由选中的每一个impalad进程提供本地化的访问查询hdfs和hbase数据服务

d)      每一个选中的impalad进程将查询到的数据返回给发起分布式查询的impalad进程,该impalad进程汇总这些数据后,最后返回个客户端。

5、Impala主要特性:

l  支持大部分基于SQL-92标准的Hive QL语法功能,包括select,joins, 和aggregate 函数等。

l  支持查询以以下存格式储和压缩的hdfs和hbase文件:

Ø  hdfs存储格式:TextFile, SequenceFile

Ø  压缩格式:Snappy,GZIP, BZIP

l  统一的Hive查询接口:

Ø  ODBC驱动程序

Ø  Hue Beeswax

l  Impala命令行接口

l  Kerberos授权方式

二、Impala软件要求

l  Red Hat Enterprise Linux (RHEL)/CentOS 6.2 (64-bit)

l  CDH 4.1.0 or later

l  Hive 

l  MySQL

注意:Impala不支持在Debian/Ubuntu, SuSE, RHEL/CentOS 5.7系统中安装。

三、Impala硬件要求

在Join查询过程中需要将数据集加载内存中进行计算,因此对安装Impalad的内存要求较高。

四、Impala运行账号说明??

Impala不推荐运行在root账号下,因为impala最优的性能是通过使用直接读,而root账号是没有权限使用直接读的。因此用root账号运行impala会限制impala的性能。

五、Impala安装说明

两种安装方式:

1、  伪分布式安装:只安装一个impala节点。

2、  分布式安装:在集群中安装多个impala节点形成一个分布式的impala环境。为了获得最佳的性能,推荐在所有的DataNode节点上都安装impala。

 

Hive安装说明:

由于impala的metastore依赖于hive的metastore,所以必须安装hive。

 

impala完整安装见我的另外一篇博文:http://blog.csdn.net/hit_hlj_sgy/article/details/8447344

注意:建议不要将impala安装在NameNode节点,因为执行查询的时候可能会和NameNode争抢内存资源,从而导致对NameNode造成负面影响。

六、Impala配置说明

目前impala的配置文件包括hive-site.xml、core-site.xml、hdfs-site.xml,为了获得impala

最优的性能,需要配置以下几个参数:

1、  block location tracking(数据块位置跟踪):启用了datablock位置跟踪,那么impala就能快速定位data block在磁盘中位置,从而更好地利用底层磁盘。

要启用数据块位置跟踪,需要在hdfs-site.xml增加以下配置:

<property>

  <name>dfs.datanode.hdfs-blocks-metadata.enabled</name>

  <value>true</value>

</property>

 

2、  short-circuit reads(短路读):针对本地数据,如果启用了short-circuit reads,impala就能直接读取文件系统的数据,这样就避免需要与DataNode的通信。此设置也最大限度地减少了额外的数据副本。

要启用short-circuit reads,需要在core-site.xml文件中新增以下配置:

<property>

 <name>dfs.client.read.shortcircuit</name>

 <value>true</value>

</property>

在hdfs-site.xml配置文件中增加:

<property>

 <name>dfs.datanode.data.dir.perm</name>

 <value>750</value>

</property>

         <property>

          <name>dfs.block.local-path-access.user</name>

      <value>hadoop</value>

</property>

3、  native check-summing(本地校验和):如果启用native check-summing,那么impala会使用一个优化的native check-summing库来提升impala的性能。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值