Review impala

impala的安装部署

1、软件包的上传解压
安装包大于4G,所以需要另行上传。
每个节点需要优先安装nc yum install -y nc
安装impala的节点至少需要有12G的剩余空间(5.1G 安装包,5.1G解压后的包)


2、制作网络源
将安装包解压后,配置成yum源


3、安装impala
在主节点(node03)安装
yum install -y impala impala-server impala-state-store impala-catalog impala-shell
在从节点(node01,node02)安装
yum install -y impala-server


4、修改hadoop hive的配置文件
4.1 修改hive 配置文件
vim /export/servers/hive/conf/hive-site.xml
添加

<property>
<name>hive.metastore.uris</name>
<value>thrift://node01:9083</value>
</property>

说明:该配置配置的是那个节点,最后启动metastore时,必须在这个节点启动


4.2 修改hadoop配置
在 hdfs-site.xml 添加一下配置

<property>
<name>dfs.client.read.shortcircuit</name>
<value>true</value>
</property>
<property>
<name>dfs.domain.socket.path</name>
<value>/var/run/hdfs-sockets/dn</value>
</property>
<property>
<name>dfs.client.file-block-storage-locations.timeout.millis</name>
<value>10000</value>
</property>
<property>
<name>dfs.datanode.hdfs-blocks-metadata.enabled</name>
<value>true</value>
</property>

添加成功后,将更新后的配置同步到集群所有的节点。

5、复制hadoop、hive配置文件到impala配置文件

/etc/impala/conf
[root@node01 conf]# cp /export/servers/hive-1.1.0-cdh5.14.0/conf/hive-site.xml /etc/impala/conf
[root@node01 conf]# cp /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop/core-site.xml /etc/impala/conf
[root@node01 conf]# cp /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop/hdfs-site.xml /etc/impala/conf
查看复制结果 ll /etc/impala/conf/


6、修改impala配置(三个节点都要操作)
6.1 编辑impala配置

vim /etc/default/impala
IMPALA_CATALOG_SERVICE_HOST=node03
IMPALA_STATE_STORE_HOST=node03

6.2 添加mysql驱动
取消MYSQL_CONNECTOR_JAR前面的注释
创建有效的软连接或配置有效的jar ln -s /export/servers/hive-1.1.0-cdh5.14.0/lib/mysql-connector-java-5.1.38.jar
/usr/share/java/mysql-connector-java.jar
7、修改bigtop配置 (三个节点都要执行)
vim /etc/default/bigtop-utils
配置JAVA_HOME
export JAVA_HOME=${JAVA_HOME}


8、重启hadoop hive 集群
hive
<value>/var/run/hdfs-sockets/dn</value>
</property>
<property>
<name>dfs.client.file-block-storage-locations.timeout.millis</name>
<value>10000</value>
</property>
<property>
<name>dfs.datanode.hdfs-blocks-metadata.enabled</name>
<value>true</value>
</property>
vim /etc/default/impala
IMPALA_CATALOG_SERVICE_HOST=node03
IMPALA_STATE_STORE_HOST=node03
nohup ./hive --service metastore &
nohup ./hive --service hiveserver2&


查看 ps -ef | grep hive

9、启动impala
在impala的主节点执行一下命令

xservice impala-state-store start
service impala-catalog start
service impala-server start

查看是否启动成功   : ps -ef | grep impala

验证

在impala 节点输入 impala-shell+回车

查看数据库

impala 基本介绍

impala 是一个SQL查询工具,提供实时的查询。基于hive并使用内存进行计算,兼顾数据仓库。

Impala与Hive关系

impala 使用hive的元数据库metadata.
兼容hive的绝大多数sql语法,若要使用impala 必须启动hive的metastore服务。

Impala与Hive异同

impala


没有使用 MapReduce进行并行计算
Impala把整个查询分成一执行计划树
C++特性
最大使用内存
采用拉的方式
内存放不下数据时,版本1.0.1是直接返回错误
使用自己调度
查询过程中,没有容错逻辑
适用于实时数据分析
 

hive

使用 MapReduce进行并行计算 , 一连串的MapReduce任务
采用推的方式
内存放不下所有数据,则会使用外存
调度依赖于Hadoop
容错依赖于Hadoop
适用于批处理查询任务(时效性不高)。

Impala架构

1、 Impalad 接收客户端的查询请求,读写数据,并行执行查询.返回给客户端
2、 Impala State Store :跟踪集群中的Impalad的健康状态及位置信息
3、Catalogd :从Hive Metastore等外部catalog中获取元数据信息,放到impala自己的catalog结构中
4、CLI: 查询使用的命令行工具(impala-shell)

Impala查询过程

impala-shell外部命令

impala-shell –h 可以帮助我们查看帮助手册
impala-shell –r 刷新impala元数据
impala-shell –f ``文件路径`` 执行指的的sql查询文件。
impala-shell –i 指定连接运行 impalad 守护进程的主机。
impala-shell –o 保存执行结果到文件当中去。

impala-shell内部命令

connect hostname 连接到指定的机器impalad上去执行。
refresh dbname.tablename 增量刷新,刷新某一张表的元数据,主要用于刷新hive当中数据表里面的数据改变的
情况。
invalidate metadata 全量刷新,性能消耗较大,主要用于hive当中新建数据库或者数据库表的时候来进行刷新。
quit/exit``命令 从Impala shell中弹出``
explain ``命令`` 用于查看sql语句的执行计划。


 

发布了246 篇原创文章 · 获赞 314 · 访问量 32万+

猜你喜欢

转载自blog.csdn.net/bbvjx1314/article/details/105446661