Impala 安装


1 配置要求

本节将对安装Impala之前的软硬件配置作简要的介绍。

操作系统

  • Apache Impala仅在Linux系统上运行。有关更多信息,请参阅README.md文件。

组件要求

  • 安装MySQLPostgreSQL数据库。如果安装后没有启动,则启动数据库。
  • 下载MySQLPostgreSQL的图形界面,并将其放在/usr/share/java/目录中。
  • 使用适合您的数据库的命令行工具来创建Metastore数据库。
  • 使用适用于您的数据库的命令行工具向用户授予Metastore数据库的hive权限。
  • 修改hive-site.xml以包含与您的特定数据库匹配的信息:其URL、用户名和密码。您将在hive-site.xml稍后的Impala安装过程中将该文件复制到Impala配置目录。

Java要求

  • Impala官方支持的JVM是Oracle JVM。其他JVM可能会导致问题,通常会导致impalad启动失败。特别是某些级别的Ubuntu系统默认使用的JamVM会导致impalad无法启动。
  • 在内部,impalad守护进程依赖于JAVA_HOME环境变量来定位系统Java库。确保impalad服务不是在此变量设置不正确的环境中运行的。
  • 所有Java依赖项都打包在impala-dependencies.jar文件中,该文件位于/usr/lib/impala/lib/.这些映射到在fe/target/dependency

用户账号要求

  • Impala创建并使用名为的用户和组impala。不要删除此帐户或组,也不要修改该帐户或组的权限和权限。确保现有系统不妨碍这些账户和群组的运作。例如,如果您有删除不在白名单中的用户帐户的脚本,请将这些帐户添加到允许的帐户列表中。
  • 为了在DROPTABLE操作期间正确删除文件,Impala必须能够将文件移动到HDFS垃圾箱。您可能需要创建一个可由用户写入的HDFS目录/user/impalaimpala,以便可以创建垃圾箱。否则,数据文件可能会在DROPTABLE语句后保留。
  • Impala不应以root身份运行。使用直接读取可实现最佳Impala性能,但不允许root使用直接读取。因此,以root身份运行Impala会对性能产生负面影响。
  • 默认情况下,任何用户都可以连接到Impala并访问所有关联的数据库和表。您可以根据连接到Impala服务器的Linux操作系统用户以及该用户的关联组启用授权和身份验证。
  • 这些安全功能不会改变底层文件权限要求;该impala用户仍然需要能够访问的数据文件。

2 安装Impala

Impala是Apache Hadoop的开源分析数据库,可快速响应查询。

按照以下步骤通过从源构建来在集群上设置Impala:

  • 下载最新版本:下载Impala
  • 对使用Impala感兴趣的开发人员可以查看Impala的源代码库:
gitclonehttps://gitbox.apache.org/repos/asf/impala.git

3 Impala安装包

Impala主要由以下这些可执行文件组成,安装完成后可以使用这些可执行文件:

  • impalad:Impala守护进程。计划和执行针对HDFS、HBase和AmazonS3数据的查询。
  • statestored:跟踪Impalad集群中所有实例的位置和状态的名称服务。大多数生产部署在namenode上运行这个守护进程。
  • catalogd:元数据协调服务,将ImpalaDDL和DML语句的更改发送至到所有受影响的Impala节点,以便新表、新加载的数据对通过任何Impala节点提交的查询立即可见。
  • impala-shell:用于向Impala守护程序发出查询的命令行界面。您可以将其安装在网络上任何位置的一台或多台主机上,不一定是DataNode,甚至不必安装在Impala所在的同一集群中。它可以远程连接到Impala守护进程的任何实例。