安装Impala过程

与Hive类似,Impala也可以直接与HDFS和HBase库直接交互。只不过Hive和其它建立在MapReduce上的框架适合需要长时间运行的批处理任务。例如:那些批量提取,转化,加载(ETL)类型的Job,而Impala主要用于实时查询。

Hadoop集群各节点的环境设置及安装过程见 使用yum安装CDH Hadoop集群,参考这篇文章。

1. 环境

  • CentOS 6.4 x86_64
  • CDH 5.0.1
  • jdk1.6.0_31

集群规划为3个节点,每个节点的ip、主机名和部署的组件分配如下:

192.168.56.121        cdh1     NameNode、Hive、ResourceManager、HBase、impala
192.168.56.122        cdh2     DataNode、SSNameNode、NodeManager、HBase、impala
192.168.56.123        cdh3     DataNode、HBase、NodeManager、impala

2. 安装

目前,CDH 5.0.1中 impala 版本为1.4.0,下载repo文件到 /etc/yum.repos.d/:

然后,可以执行下面的命令安装所有的 impala 组件。

$ sudo yum install impala impala-server impala-state-store impala-catalog impala-shell -y

但是,通常只是在需要的节点上安装对应的服务:

  • 在 hive metastore 所在节点安装impala-state-store和impala-catalog
  • 在 DataNode 所在节点安装 impala-server 和 impala-shell

3. 配置

3.1 修改配置文件

查看安装路径:

$ find / -name impala
	/var/run/impala
	/var/lib/alternatives/impala
	/var/log/impala
	/usr/lib/impala
	/etc/alternatives/impala
	/etc/default/impala
	/etc/impala
	/etc/default/impala

impalad的配置文件路径由环境变量IMPALA_CONF_DIR指定,默认为/usr/lib/impala/conf,impala 的默认配置在/etc/default/impala,修改该文件中的IMPALA_CATALOG_SERVICE_HOST 和 IMPALA_STATE_STORE_HOST

IMPALA_CATALOG_SERVICE_HOST=cdh1
IMPALA_STATE_STORE_HOST=cdh1
IMPALA_STATE_STORE_PORT=24000
IMPALA_BACKEND_PORT=22000
IMPALA_LOG_DIR=/var/log/impala

IMPALA_CATALOG_ARGS=" -log_dir=${IMPALA_LOG_DIR} "
IMPALA_STATE_STORE_ARGS=" -log_dir=${IMPALA_LOG_DIR} -state_store_port=${IMPALA_STATE_STORE_PORT}"
IMPALA_SERVER_ARGS=" \
    -log_dir=${IMPALA_LOG_DIR} \
    -catalog_service_host=${IMPALA_CATALOG_SERVICE_HOST} \
    -state_store_port=${IMPALA_STATE_STORE_PORT} \
    -use_statestore \
    -state_store_host=${IMPALA_STATE_STORE_HOST} \
    -be_port=${IMPALA_BACKEND_PORT}"

ENABLE_CORE_DUMPS=false

# LIBHDFS_OPTS=-Djava.library.path=/usr/lib/impala/lib
# MYSQL_CONNECTOR_JAR=/usr/share/java/mysql-connector-java.jar
# IMPALA_BIN=/usr/lib/impala/sbin
# IMPALA_HOME=/usr/lib/impala
# HIVE_HOME=/usr/lib/hive
# HBASE_HOME=/usr/lib/hbase
# IMPALA_CONF_DIR=/etc/impala/conf
# HADOOP_CONF_DIR=/etc/impala/conf
# HIVE_CONF_DIR=/etc/impala/conf
# HBASE_CONF_DIR=/etc/impala/conf

设置 impala 可以使用的最大内存:在上面的 IMPALA_SERVER_ARGS 参数值后面添加 -mem_limit=70% 即可。

如果需要设置 impala 中每一个队列的最大请求数,需要在上面的 IMPALA_SERVER_ARGS 参数值后面添加 -default_pool_max_requests=-1 ,该参数设置每一个队列的最大请求数,如果为-1,则表示不做限制。

在节点cdh1上拷贝hive-site.xmlcore-site.xmlhdfs-site.xml/usr/lib/impala/conf目录并作下面修改在hdfs-site.xml文件中添加如下内容:

<property>
    <name>dfs.client.read.shortcircuit</name>
    <value>true</value>
</property>

<property>
    <name>dfs.domain.socket.path</name>
    <value>/var/run/hadoop-hdfs/dn._PORT</value>
</property>

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

同步以上文件到其他节点。

3.2 创建socket path

在每个节点上创建/var/run/hadoop-hdfs:

$ mkdir -p /var/run/hadoop-hdfs

拷贝postgres jdbc jar:

$ ln -s /usr/share/java/postgresql-jdbc.jar /usr/lib/impala/lib/

3.3 用户要求

impala 安装过程中会创建名为 impala 的用户和组,不要删除该用户和组。

如果想要 impala 和 YARN 和 Llama 合作,需要把 impala 用户加入 hdfs 组。

impala 在执行 DROP TABLE 操作时,需要把文件移到到 hdfs 的回收站,所以你需要创建一个 hdfs 的目录 /user/impala,并将其设置为impala 用户可写。同样的,impala 需要读取 hive 数据仓库下的数据,故需要把 impala 用户加入 hive 组。

impala 不能以 root 用户运行,因为 root 用户不允许直接读。

创建 impala 用户家目录并设置权限:

sudo -u hdfs hadoop fs -mkdir /user/impala
sudo -u hdfs hadoop fs -chown impala /user/impala

查看 impala 用户所属的组:

$ groups impala
impala : impala hadoop hdfs hive

由上可知,impala 用户是属于 imapal、hadoop、hdfs、hive 用户组的

4. 启动服务

在 cdh1节点启动:

$ service impala-state-store start
$ service impala-catalog start

如果impalad正常启动,可以在/tmp/ impalad.INFO查看。如果出现异常,可以查看/tmp/impalad.ERROR定位错误信息。

5. 使用shell

使用impala-shell启动Impala Shell,连接 cdh1,并刷新元数据

>impala-shell
[Not connected] >connect cdh1
[cdh1:21000] >invalidate metadata
[cdh2:21000] >connect cdh2
[cdh2:21000] >select * from t

当在 Hive 中创建表之后,第一次启动 impala-shell 时,请先执行 INVALIDATE METADATA 语句以便 Impala 识别出新创建的表(在 Impala 1.2 及以上版本,你只需要在一个节点上运行 INVALIDATE METADATA ,而不是在所有的 Impala 节点上运行)。

你也可以添加一些其他参数,查看有哪些参数:

# impala-shell -h
Usage: impala_shell.py [options]

Options:
  -h, --help            show this help message and exit
  -i IMPALAD, --impalad=IMPALAD
                        <host:port> of impalad to connect to
  -q QUERY, --query=QUERY
                        Execute a query without the shell
  -f QUERY_FILE, --query_file=QUERY_FILE
                        Execute the queries in the query file, delimited by ;
  -k, --kerberos        Connect to a kerberized impalad
  -o OUTPUT_FILE, --output_file=OUTPUT_FILE
                        If set, query results will written to the given file.
                        Results from multiple semicolon-terminated queries
                        will be appended to the same file
  -B, --delimited       Output rows in delimited mode
  --print_header        Print column names in delimited mode, true by default
                        when pretty-printed.
  --output_delimiter=OUTPUT_DELIMITER
                        Field delimiter to use for output in delimited mode
  -s KERBEROS_SERVICE_NAME, --kerberos_service_name=KERBEROS_SERVICE_NAME
                        Service name of a kerberized impalad, default is
                        'impala'
  -V, --verbose         Enable verbose output
  -p, --show_profiles   Always display query profiles after execution
  --quiet               Disable verbose output
  -v, --version         Print version information
  -c, --ignore_query_failure
                        Continue on query failure
  -r, --refresh_after_connect
                        Refresh Impala catalog after connecting
  -d DEFAULT_DB, --database=DEFAULT_DB
                        Issue a use database command on startup.

例如,你可以在连接时候字段刷新:

$ impala-shell -r
Starting Impala Shell in unsecure mode
Connected to 192.168.56.121:21000
Server version: impalad version 1.1.1 RELEASE (build 83d5868f005966883a918a819a449f636a5b3d5f)
Invalidating Metadata
Welcome to the Impala shell. Press TAB twice to see a list of available commands.

Copyright (c) 2012 Cloudera, Inc. All rights reserved.

(Shell build version: Impala Shell v1.1.1 (83d5868) built on Fri Aug 23 17:28:05 PDT 2013)
Query: invalidate metadata
Query finished, fetching results ...

Returned 0 row(s) in 5.13s
[192.168.56.121:21000] >

使用 impala 导出数据:

$ impala-shell -i '192.168.56.121:21000' -r -q "select * from test" -B --output_delimiter="\t" -o result.txt
时间: 2024-11-08 17:46:27

安装Impala过程的相关文章

用引导操作给E-MapReduce集群安装impala

当前emr最新版本2.0.1没有impala组件,需要额外安装.本文介绍如何在emr 2.0.1版本上用E-MapReduce软件配置功能修改hdfs配置,引导操作安装impala 2.5.0 for cdf 5.7.1版本,shell作业来启动impala的完整过程. 软件配置 impala对hdfs组件的配置有要求,需要用软件配置功能修改hdfs的配置.软件配置功能可以修改hadoop组件的配置,详见: 帮助文档 本地创建一个hdfs.json文件,可以直接从oss下载,内容如下,通过oss

centos7 安装tigervnc过程中遇到的问题

问题描述 centos7 安装tigervnc过程中遇到的问题 [root@localhost system]# systemctl daemon-reload [root@localhost system]# systemctl enable vncserver@:1.service [root@localhost system]# systemctl start vncserver@:1.service Job for vncserver@:1.service failed. See 'sy

Vista SP1安装全部过程展示

昨天微软正式发布了Vista SP1的中文版,笔者就是一名Windows Vista使用和爱好者,于是马上着手准备更新Vista SP1,体验下到底有那些与Vista RTM不同的地方!特将整个安装的过程截图分享给大家,让那些还在犹豫是否应该安装Vista SP1的用户了解到整个过程. 安装Vista SP1准备过程 为了观察安装SP1前后系统空间占用的变化,笔者先对未安装SP1的系统磁盘情况进行了截图.从下图中可以看到,笔者的Vista原始系统大概占用9G的空间. 未安装SP1的Vista系统

安装Zabbix过程中出现的问题集

安装Zabbix过程中出现的问题集: zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题. 故障一:  2637:20151009:050431.719 [Z3001] connection to database 'zabbix' failed: [1045] Access denied for user 'zabbix'@'loc

cspace-在安装CSpace过程中,下载solr服务器时报错

问题描述 在安装CSpace过程中,下载solr服务器时报错 在cmd中运行mvn package之后报错: [ERROR] Failed to execute goal on project solr: Could not resolve dependencies for project org.dspace.modules:solr:war:2.0.0: Failure to find org.carrot2:carrot2-mini:jar:3.1.0 in http://mirrors.

win8安装sql2005过程,一直提示服务启动失败

问题描述 win8安装sql2005过程,一直提示服务启动失败 win8安装sql2005过程,一直提示服务启动失败 电脑系统是Win8 64位的 安装sqlserver2005过程中,提示服务启动失败 试了在网上找的替换 sqlserver.exe 和 sqlos.dll文件 也没用 用管理员Administrator登陆安装也一直,求解 解决方案 安装完成之后,停止SQL Server服务,去任务管理器找到sqlservr.exe进程,把它结束掉. 把备份的sqlservr.exe文件还原回

VMware Tools (ubuntu系统)安装详细过程与使用

版权声明:本文为博主原创文章,转载注明出处http://blog.csdn.net/u013142781 前一段时间博主在VMware虚拟机上安装了Ubuntu系统,如果还没有安装的同学可以参考博主上一篇文章:VMware Ubuntu安装详细过程. 猿友们都知道linux不太好用,如果你想将你主机Windows上的文件或安装包放到虚拟机上,VMware Tools是必不可少的工具. 欢迎关注,相互学习讨论,后续还会有更多linux搭建Java开发环境和框架相关博客. 下面小宝鸽附上VMware

Adobe Dreamweaver CS6官方简体中文版安装+破解过程

国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私募机构九鼎控股打造,九鼎投资是在全国股份转让系统挂牌的公众公司,股票代码为430719,为"中国PE第一股",市值超1000亿元.  -------------------------------------------------------- Adobe Dreamweaver CS6

arcgis10.2.2桌面版具体的安装步骤过程

原文:arcgis10.2.2桌面版具体的安装步骤过程 先声明一下,这里的截图虽说是ArcGIS10.1版本的,但是安装步骤是对的,本人用ArcGIS10.2.2软件测试成功安装上 一.ArcGIS许可证管理器安装 1.在软件包文件夹license manager目录下,单击Setup.exe安装ArcGIS许可证管理器:这里安装步骤没什么注意的,就是常规的软件安装即可.安装完之后,先不忙这破解,接下下面的ArcGIS Desktop安装. 二.ArcGIS Desktop的安装 1.安装Arc