Cloudera Impala需求
Cloudera Impala需求
为了达到预期的效果,Impala依赖于软件、硬件的可用性,以及下面章节描述的配置。
继续阅读:
- 支持的操作系统
- 支持的Hadoop发布
- Hive Metastore及相关配置
- Java依赖关系
- 包和库
- 网络配置需求
- 硬件需求
- 用户帐户需求
支持的操作系统
支持的64位操作系统:
Red Hat Enterprise Linux (RHEL) 5.7/6.2/6.4、Oracle Linux 5.7/6.2/6.4、Centos 5.7/6.2/6.4
在Red Hat Enterprise Linux 5.0及其兼容版本中,需要做一些额外的工作,impala-shell才能使用Kerberos连接到Impala集群
sudo yum install python-devel openssl-devel python-pip
sudo pip-python install sslSLES 11 SP1及以上版本
Ubuntu 10.04/12.04 或 Debian 6.03
支持的Hadoop发布
Impala 1.2.1支持CDH 4.1及以上版本。下面列出了不同Impala与CDH版本之间的支持关系:
- CDH 4.1 与 Impala 1.2.1
- CDH 5 beta版与 Impala 1.2
- CDH 4.1以上版本与Impala 1.1
- CDH 4.1以上版本与Impala 1.0
- CDH 4.1以上版本与Impala 0.7
- CDH 4.2以上版本与Impala 0.6
- CDH 4.1与Impala 0.5或更早版本。这一组合仅支持RHEL/CentOS
注意:因为Impala 1.2.1是与CDH 4协同工作,而CDH 5 beta发布时包含的是Impala 1.2.0,这样从CDH 4升级到CDH 5 beta版时实际上是恢复到较早的Impala版本。CHD 5 beta版本中自带的Impala beta版包含了基于CDH 5基础架构的资源管理功能,以及急需的用户定义函数功能和目录服务。然后,它不包括Impala 1.2.1中的一些新功能,例如 SHOW CREATE TABLE 语句、 SHOW TABLE STATS 语句和 SHOW COLUMN STATS 语句、 OFFSET 和 NULLS FIRST/LAST 选项,以及SYNC_DDL 选项。
Hive Metastore及相关配置
Impala可以与存储在Hive中的数据交互,使用与Hive相同的基础架构跟踪schema中对象如表和列的元数据。以下组件是前提条件:
- Hive使用 MySQL 或 PostgreSQL作为 metastore
注意:
安装与配置Hive metastore是Impala的必要条件。没有Hive metastore则Impala无法工作。参见安装 Cloudera Impala,了解安装与配置Hive metastore的步骤。尽管MySQL和PostgreSQL都可以用作Hive的metastore,但是只有使用MySQL时才可以使用表统计信息功能。
应当配置Hive metastore服务而不是直接连接到metastore数据库。 Metastore服务满足CDH中的Hive与Impala之间不同层次的交互需求,并避免了许多已知的直接连接的问题(The metastore service is required to interoperate between possibly different levels of Hive used by CDH and Impala, and avoids known issues with connecting directly to the metastore database.假如通过Cloudera Manager 4.5安装,则Metastore服务被设置为默认启用。
Hive安装步骤总结如下:
- 安装MySQL或PostgreSQL数据库,如果没有自动启动则启动
- 下载MySQL/PostgreSQL连接器,放于/usr/share/java/目录下
- 使用适当的命令行工具连接到数据库,创建Hive metastore数据库
- 使用适当的命令行工具连接到数据库,授予hive用户权限
- 修改hive-site.xml文件,添加数据库信息:URL、用户名、密码。你需要将该hive-site.xml移动到下面将讲到的Impala配置目录
- 可选:Hive。尽管只有Hive metastore是Impala所需的功能,你仍可以在几台客户端机器上创建、载入数据到特定格式的表。参见Impala支持的Hadoop文件格式了解详细信息。Hive与Impala不需要安装在相同的数据节点上,他们只需要访问相同的metastore数据库。
Java Dependencies
Impala主要由C++编写,它使用Java与其他不同的Hadoop组件通讯:
- Impala官方支持的JVM是Oracle JVM。其他版本的JVM可能会出现问题,通常导致impalad启动失败。特别是,Ubuntu中默认几个层面使用的JamVM会导致impalad启动失败。
- Impalad守护进程内部通过 JAVA_HOME 环境变量定位java库。确保impalad服务运行在正确的JAVA_HOME下。
- 所有java依赖的程序都打包到impala-dependencies.jar文件里,该文件位于/usr/lib/impala/lib/下。These map to everything that is built under fe/target/dependency.
包与库
包或正确配置的库。你可以通过Cloudera Impala公共库,或自定义的库,使用包手工安装Impala。使用Cloudera Impala 公共库时,下载并安装下面的文件到每一台准备安装Impala或Impala Shell的机器上。安装步骤如下:
- 下载Red Hat 5 repo file (http://archive.cloudera.com/impala/redhat/5/x86_64/impala/cloudera-impala.repo) 到/etc/yum.repos.d/
- 下载Red Hat 6 repo file (http://archive.cloudera.com/impala/redhat/6/x86_64/impala/cloudera-impala.repo) 到/etc/yum.repos.d/
- 下载SUSE repo file (http://archive.cloudera.com/impala/sles/11/x86_64/impala/cloudera-impala.repo) 到/etc/zypp/repos.d/
- 下载Ubuntu 10.04 list file (http://archive.cloudera.com/impala/ubuntu/lucid/amd64/impala/cloudera.list) 到/etc/apt/sources.list.d/
- 下载Ubuntu 12.04 list file (http://archive.cloudera.com/impala/ubuntu/precise/amd64/impala/cloudera.list) 到/etc/apt/sources.list.d/
- 下载Debian list file (http://archive.cloudera.com/impala/debian/squeeze/amd64/impala/cloudera.list) 到/etc/apt/sources.list.d/
例如,在Red Hat 6系统中,你可以运行下面这组命令:
$ cd /etc/yum.repos.d
$ sudo wget http://archive.cloudera.com/impala/redhat/6/x86_64/impala/cloudera-impala.repo
$ ls
CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo Cloudera-cdh.repo cloudera-impala.repo
注意:
你可以使用wget或curl在archive.cloudera.com下载这些文件,但不要使用rsync。
同样,你也可以使用 Cloudera Manager 安装、管理 Impala。Impala 1.2.1及更高版本需要Cloudera Manager 4.8及以上版本,之前版本的Cloudera Manager无法管理 Impala 目录服务。
注意: 在CM管理环境中,新的目录服务不会被CM 4.8之前的版本支持或管理。CM 4.8及以上版本需要Impala的目录服务。因此,假如你升级到Cloudera Manager 4.8及以上版本,你必须同时把Impala升级到1.2.1或更高版本. 也就是说,如果你把Impala升级到1.2.1或更高版本,也必须把Cloudera Manager升级成4.8或更高版本。
通过Cloudera Manager安装时,可以采用特定OS的包安装,也可以采用parcels方式安装。Parcels方式简化了集群中升级或发布程序步骤。
网络配置需求
为了确保最佳性能,Impala会试图完全通过本地数据完成任务,而不会通过网络连接使用远程数据。为了这一目标,Impala通过解析主机名标识为ip地址,提供给每个Impala守护进程哥哥数据节点的ip地址。 Impala使用简单的数据节点上和Impala守护进程的所有机器上的IP接口来操作本地数据。确保Impala守护进程的主机名表示可以解析为IP数据节点的地址。对于单一宿主的机器,这通常是自动的,但是对于多宿主的机器,确保Impala守护进程的主机名可以解析为正确的接口。Impala在启动时会试图确定正确的主机名,并在日志中打印一条主机名的消息(To support this goal, Impala matches the hostname provided to each Impala daemon with the IP address of each datanode by resolving the hostname flag to an IP address. For Impala to work with local data, use a single IP interface for the datanode and the Impala daemon on each machine. Ensure that the Impala daemon's hostname flag resolves to the IP address of the datanode. For single-homed machines, this is usually automatic, but for multi-homed machines, ensure that the Impala daemon's hostname resolves to the correct interface. Impala tries to to detect the correct hostname at start-up, and prints the derived hostname at the start of the log in a message of the form):
Using hostname: impala-daemon-1.cloudera.com
绝大部分情况下这可以正常工作。假如需要手工指定主机名,使用 –hostname 选项。
硬件需求
当执行连接操作时,所有数据集都会加载到内存中。数据集可能非常大,因此应确认你的硬件有足够的内存,以确保连接能如期完成。
根据数据集的大小不同而需求不同,以下是一般推荐:
- CPU - Impala使用新处理器中包含的SSE4.2指令集。Impala也可以使用在就处理器,但最佳性能是运行在:
- Intel - Nehalem (released 2008) 或以后处理器
- Intel - AMD - Bulldozer (released 2011)或以后处理器
- 内存 - 推荐至少128 GB,最好256 GB以上。假如查询处理过程中,某个节点上的中间结果超出该节点上Impala可使用内存的限制,查询将取消。注意查询时并行的,而聚合查询的中间结果通常比原始数据小,Impala可以查询比个别节点上实际可用内存大很多的表或连接操作。
- 存储 - 数据节点有12块以上的硬盘。I/O速度通常是Impala磁盘性能的限制因素。确保有足够的硬盘空间来存放Impala将查询的数据。
用户帐户需求
Impala创建一个名叫impala的用户和用户组。请不要删除该用户或用户组,也不要修改用户、用户组的许可与权限。确保现有系统不会阻挠该用户、用户组功能。例如,你可能有脚本自动删除不在白名单中的用户,请先把这一用户、用户组添加到许可列表中。
为了资源管理功能可用(与CDH5、YARN、Liama组件协作),impala用户需要是hdfs组的成员。当新安装时这一设置会自动执行,但当从较早版本的Impala升级到1.2时不会自动执行。当你把一个已经安装了1.0或1.1版本Impala的节点升级到的CDH 5时,需要手工添加impala用户到hdfs组。
为了执行 DROP TABLE 操作时能正确的删除,Impala需要移动文件到HDFS回收站。你可能需要手工创建一个HDFS目录/user/impala,并设置为impala用户可写,这样回收站就可以被创建。否则,执行 DROP TABLE 操作后数据可能仍然保留。
Impala不应以root用户运行。Impala通过直接读取来达到最佳性能,而root不允许直接读取。因此,以root用户运行Impala可能会影响性能。
Impala安全功能提供授权,授权是基于连接到Impala服务器的Linux操作系统用户以及用户所属组的权限。参见Impala安全了解详细信息。
Cloudera Impala需求的更多相关文章
- 安装Cloudera Impala
安装Cloudera Impala Cloudera Impala是Cloudera Enterprise Core的开源扩展,用于快速返回查询结果. Impala作为你环境的插件,与其他组件的安装独 ...
- Cloudera Impala Guide
Impala Concepts and Architecture The following sections provide background information to help you b ...
- Cloudera impala简单介绍及安装具体解释
一.Impala简单介绍 Cloudera Impala对你存储在Apache Hadoop在HDFS,HBase的数据提供直接查询互动的SQL.除了像Hive使用同样的统一存储平台,Impala也使 ...
- 初识 Cloudera Impala
Impala是Cloudera公司主导开发的新型查询系统,它提供SQL语义,能查询存储在Hadoop的HDFS和HBase中的PB级大数据.已有的Hive系统尽管也提供了SQL语义,但因为Hive底层 ...
- cloudera impala编译 安装 配置 启动
无论是采用GDB调试impala或者尝试修改impala源码,前提都是需要本地环境编译impala,这篇文章详细的分享一下impala编译方法以及编译过程遇到的棘手的问题: 前言: impala官方的 ...
- 安装使用Cloudera Impala
安装与使用Cloudera Impala Cloudera Impala提供快速的.交互式的SQL查询方式,直接基于Apache Hadoop存储在HDFS或HBase中的数据进行查询.除了使用与Ap ...
- Cloudera Impala 之 ORDER BY without LIMIT currently not supported
ERROR: NotImplementedException: ORDER BY without LIMIT currently not supported impala中order by 需要l ...
- Cloudera Impala源码分析: SimpleScheduler调度策略详解包括作用、接口及实现等
问题导读:1.Scheduler任务中Distributed Plan.Scan Range是什么?2.Scheduler基本接口有哪些?3.QuerySchedule这个类如何理解?4.Simple ...
- Impala 安装笔记1一Cloudera CDH4.3.0安装
Impala是Cloudera在受到Google的Dremel启发下开发的实时交互SQL大数据查询工具,Impala没有再使用缓慢的Hive+MapReduce批处理,而是通过使用与商用并行关系数据库 ...
随机推荐
- 【16.67%】【codeforces 667C】Reberland Linguistics
time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...
- WPF 修改图片颜色
原文:WPF 修改图片颜色 本文告诉大家如何修改图片的颜色,如去掉图片的蓝色 在 WPF 可以使用很多图片处理的方法,本文告诉大家的是一个图片处理,可以把处理的图片保存在文件. 在阅读本文,我假设大家 ...
- C#--动态操作DataTable
C#动态操作DataTable(新增行.列.查询行.列等) 方法一:动态创建一个DataTable ,并为其添加数据 public void CreateTable() { ...
- atheros wifi 动因分析
Ar6003 驱动文档摘要 1. wmi : wireless module interface //无线模块结构 2. bmi : bootloader message interface 3. ...
- Ubuntu不输入密码执行sudo命令方法介绍
作为ubuntu等桌面系统,默认登录的帐号是没有root权限的,为了提升权限来执行任务,我们一般用到sudo+命令来执行,但是不难发现我们一般都要输入密码.那么有没有什么方法可以让我们执行sudo的时 ...
- CUDA软件架构—网格(Grid)、线程块(Block)和线程(Thread)的组织关系以及线程索引的计算公式
网格(Grid).线程块(Block)和线程(Thread)的组织关系 CUDA的软件架构由网格(Grid).线程块(Block)和线程(Thread)组成,相当于把GPU上的计算单元分为若干(2~3 ...
- SQL2008错误:当 MUST_CHANGE 为 ON (开)时,不能将 CHECK_POLICY 和 CHECK_EXPIRATION 选项设为 OFF (关)。
假设出现这样的情况,第一个选择是: 在数据库用户管理中去掉了"强制password过期"! 假设把"强制实施password策略"的勾也去掉了,出现例如以下错误 ...
- QProcess::startDetached(5.10有了一种新的方式)
From Qt 5.10 on, there is a new way how to start detached processes with QProcess. Of course you kno ...
- C++ Boost 学习资源列表
文档书籍下载 Boost Documentation Boost代码下载 优秀网站导航 Boost官方网站 Boost中文站 Boost Consulting 专题资源报告 Lin ...
- 探究操作系统的内存分配(malloc)对齐策略
问题: 我们在写程序的时候经常发现程序使用的内存往往比我们申请的多,为了优化程序的内存占用,搅尽脑汁想要优化内存占用,可是发现自己的代码也无从优化了,怎么办?现在我们把我们的焦点放到malloc上,毕 ...