大数据 - (五-1)- Impala

2020-08-14  本文已影响0人  啦啦啦喽啰

什么是Impala

Impala有什么优势

Impala产生背景

MPP是什么?

Impala和Hive对比

不同场景下Impala和Hive对比

查询过程
交互式查询
计算引擎
容错
速度

Impala缺点

适用场景

Impala安装

集群准备

准备Impala的所有依赖包

配置本地Yum
cd /etc/yum.repos.d 
# 创建⼀一个新的配置⽂文件
vim local.repo #添加如下内容
[local]
name=local
baseurl=http://os1/cdh57/
gpgcheck=0
enabled=1

安装Impala

集群规划
服务名称 os1 os2 os3
impala-catalogd
impala-statestored
impala-server
逐步安装
yum  install  impala -y
yum install impala-server -y
yum install impala-state-store  -y
yum install impala-catalog  -y
yum  install  impala-shell -y
yum install impala-server -y
yum  install  impala-shell -y
配置Impala
<!--指定metastore地址,之前添加过可以不不⽤用添加 --> 
<property>
  <name>hive.metastore.uris</name>
  <value>thrift://linux121:9083,thrift://linux123:9083</value>
</property>
<property>
  <name>hive.metastore.client.socket.timeout</name>
  <value>3600</value>
</property>
分发Hive安装目录到集群节点
os3启动metastore服务
nohup hive --service metastore &
启动hiveserver2服务
nohup hive --service hiveserver2 &
修改HDFS集群hdfs-site.xml

短路路读取——就是Client与DataNode属于同⼀节点,无需再经过⽹络传输数据,直接本地读取

短路路读取配置步骤
#所有节点创建⼀一下⽬目录
mkdir -p /var/lib/hadoop-hdfs
<!--打开短路读取开关 -->
<!-- 打开短路读取配置-->
<property>
  <name>dfs.client.read.shortcircuit</name>
  <value>true</value>
</property>
<!--这是⼀一个UNIX域套接字的路径,将⽤用于DataNode和本地HDFS客户机之间的通信 -->
<property>
  <name>dfs.domain.socket.path</name>
  <value>/var/lib/hadoop-hdfs/dn_socket</value>
</property>
<!--block存储元数据信息开发开关 -->
<property>
  <name>dfs.datanode.hdfs-blocks-metadata.enabled</name>
  <value>true</value>
</property>
<property>
  <name>dfs.client.file-block-storage-locations.timeout</name>
  <value>30000</value>
</property>
Impala具体配置
# 所有节点执行
ln -s /opt/servers/hadoop-2.9.2/etc/hadoop/core-site.xml /etc/impala/conf/core-site.xml && ln -s /opt/servers/hadoop-2.9.2/etc/hadoop/hdfs-site.xml /etc/impala/conf/hdfs-site.xml && ln -s /opt/servers/hive-2.3.7/conf/hive-site.xml /etc/impala/conf/hive-site.xml
ln -s /opt/servers/hive-2.3.7/lib/mysql-connector-java-5.1.49.jar /usr/share/java/mysql-connector-java.jar
vim /etc/default/impala
<!--节点更新如下内容 -->
IMPALA_CATALOG_SERVICE_HOST=os3
IMPALA_STATE_STORE_HOST=os3
 #创建节点
mkdir -p /usr/share/java
ln -s /opt/servers/hive-2.3.7/lib/mysql-connector-java-5.1.49.jar /usr/share/java/mysql-connector-java.jar
vi /etc/default/bigtop-utils
export JAVA_HOME=/opt/servers/jdk1.8

启动Impala

#os3启动如下⻆角⾊色
service impala-state-store start
service impala-catalog start
service impala-server start
#其余节点启动如下⻆角⾊色
service impala-server start

浏览器器Web界⾯面验证

# 访问impalad的管理理界⾯面
http://os3:25000/
# 访问statestored的管理理界⾯面
http://os3:25010/

消除Impala影响

# 删除yum自动安装的依赖
rm -rf /usr/bin/hadoop && 
rm -rf /usr/bin/hdfs && 
rm -rf /usr/bin/hive && 
rm -rf /usr/bin/beeline && 
rm -rf /usr/bin/hiveserver2 && 
source /etc/profile
# jps 时出现没有名字的进程 或者process information unavailable
rm -rf /tmp/hsperfdata_*

Imapla的架构原理

Imapla组件

image.png
impalad
statestored
catalogd

Impala的查询

image.png

QueryPlanner⽣成单机的执行计划

image.png

分布式并⾏执行计划

上一篇下一篇

猜你喜欢

热点阅读