Hadoop离线_impala的介绍及安装部署

impala

    • impala的介绍
          • 1.概述
          • 2.优点
          • 3.缺点
          • 4.impala和Hive的关系
          • 5.impala的架构及查询计划
          • 6.impala/hive/spark 对比
    • impala的安装及部署
          • 1.安装环境准备
          • 2.下载impala的所有依赖包
          • 3.挂载磁盘
          • 4.上传压缩包并解压
          • 5.制作本地yum源
          • 6.开始安装impala
          • 7.所有节点配置impala


impala的介绍

1.概述

关于impala介绍的网址
https://docs.cloudera.com/documentation/enterprise/6/6.3/topics/impala_intro.html
Impala直接对存储在HDFS、HBase或Amazon Simple Storage Service(S3)中的Apache Hadoop数据提供快速的交互式SQL查询。除了使用相同的统一存储平台外,Impala还使用了与Apache Hive相同的元数据、SQL语法(Hive SQL)、ODBC驱动程序和用户界面(色调中的Impala查询UI)。这为实时或面向批处理的查询提供了一个熟悉的、统一的平台。Impala是大数据查询工具的补充。Impala不会替代构建在MapReduce上的批处理框架,比如Hive。Hive和其他构建在MapReduce上的框架最适合长时间运行的批处理作业,比如那些涉及提取、转换和加载(ETL)类型作业的批处理。

2.优点

1.数据科学家和分析师已经熟悉的SQL接口。
2.能够在Apache Hadoop中查询大量数据。
3.在集群环境中使用分布式查询,方便扩展和利用具有成本效益的商品硬件。
4.能够在不同的组件之间共享数据文件,而不需要复制或导出/导入步骤;例如,用Pig来写,用Hive来转换,用Impala来查询。Impala可以读写Hiv表,支持使用Impala对hiveproduced数据进行分析的简单数据交换。
5.单一系统的大数据处理和分析,因此客户可以避免昂贵的建模和ETL只是为了分析。

3.缺点

1.基于内存计算,对内存依赖性较大
2.改用C++编写,意味着维护难度增大
3.基于hive,与hive共存亡,紧耦合
4.稳定性不如hive,但不存在数据丢失的情况

4.impala和Hive的关系

impala是基于hive的大数据分析查询引擎,直接使用hive的元数据库metadata,意味着impala元数据都存储在hive的metastore当中,并且impala兼容hive的绝大多数sql语法。所以需要安装impala的话,必须先安装hive,保证hive安装成功,并且还需要启动hive的metastore服务。

5.impala的架构及查询计划

Hadoop离线_impala的介绍及安装部署_第1张图片

架构:
impala-server: 从节点。主要负责执行查询任务的计算,官方建议 impala-server与每一个datanode安装在一起
impala-catalog: 主节点。主要是存储了元数据信息在两个地方,一个在内存当中,一个在磁盘当中。impala当中的元数据管理的服务
impala-statestore: 主节点,状态存储区,主要存储了一些sql执行的进度信息,状态信息等等

查询计划:
fronted : 使用java来实现,负责生成查询计划
backend: 使用的C++来实现,主要负责的是执行查询

fronted前台的查询计划又分为两个阶段:
第一个阶段: 生成单机版的查询计划
第二个阶段: 生成分布式的查询计划,将单机版的查询计划,发送到其他机器上sql语句的优化,其实就是查询计划的优化,单机版的优化策略与分布式的优化策略是一样

6.impala/hive/spark 对比

Hadoop离线_impala的介绍及安装部署_第2张图片


impala的安装及部署

1.安装环境准备

必须已经安装了Hive和Hadoop,且有以下文件
Hadoop离线_impala的介绍及安装部署_第3张图片

2.下载impala的所有依赖包

要根据自己CDH的版本和centOS的版本选择下载,下载地址http://archive.cloudera.com/cdh5/repo-as-tarball

3.挂载磁盘

如果虚拟机磁盘不够大,就需要挂载磁盘,虚拟机挂载磁盘教学

4.上传压缩包并解压

cd /export/softwares
tar -zxvf cdh5.14.0-centos6.tar.gz -C ../servers

5.制作本地yum源

5.1在第三台机器node03执行以下命令:

yum  -y install httpd
systemctl start httpd.service
cd /etc/yum.repos.d
vim localimp.repo 
[localimp]
name=localimp
baseurl=http://node03/cdh5.14.0/
gpgcheck=0
enabled=1

5.2 创建apache httpd的读取链接
ln -s /data02/cdh/5.14.0 /var/www/html/cdh5.14.0
5.3 将制作好的localimp配置文件发放到所有需要安装impala的节点上去:

scp localimp.repo  node02:$PWD
scp localimp.repo  node01:$PWD
6.开始安装impala

6.1 安装
在node01与node02上安装impala-server
在node03上安装impala-catalog,impala-state-store,impala-server
在node03执行以下命令

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

6.2 在node01和node02执行

yum install impala-server -y
7.所有节点配置impala

7.1 修改hive-site.xml
vim /export/servers/hive-1.1.0-cdh5.14.0/conf/hive-site.xml
添加配置


    hive.metastore.uris</name>
    thrift://node03.hadoop.com:9083</value>
</property>

    hive.metastore.client.socket.timeout</name>
    3600</value>
</property>

7.2 将node03的hive安装包发送到node01,node02

cd /export/servers/
scp -r hive-1.1.0-cdh5.14.0/ node02:$PWD
scp -r hive-1.1.0-cdh5.14.0/ node01:$PWD

7.3.node03启动hive的metastore服务

cd  /export/servers/hive-1.1.0-cdh5.14.0
nohup bin/hive --service metastore &
nohup bin/hive -- service hiveserver2 &

7.4 所有hadoop节点修改hdfs-site.xml
在所有节点创建文件夹 mkdir -p /var/run/hdfs-sockets
修改所有节点的hdfs-site.xml
vim /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop/hdfs-site.xml
添加配置


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

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

	dfs.client.file-block-storage-locations.timeout.millis</name>
	10000</value>
</property>

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

如果是普通用户的话需要给文件夹添加访问权限:/var/run/hadoop-hdfs/
chown -R hadoop:hadoop /var/run/hdfs-sockets/

7.5 重启hdfs
node01执行:

cd /export/servers/hadoop-2.6.0-cdh5.14.0/
sbin/stop-dfs.sh
sbin/start-dfs.sh

7.6 创建hadoop与hive的配置文件的连接
impala的配置目录为 /etc/impala/conf
这个路径下面需要把core-site.xmlhdfs-site.xml以及hive-site.xml拷贝到这里来,但是我们这里使用软连接的方式会更好
所有节点都要执行

ln -s /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop/core-site.xml /etc/impala/conf/core-site.xml
ln -s /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop/hdfs-site.xml /etc/impala/conf/hdfs-site.xml
ln -s /export/servers/hive-1.1.0-cdh5.14.0/conf/hive-site.xml /etc/impala/conf/hive-site.xml

7.7 修改impala的配置文件
所有节点更改impala默认配置文件
vim /etc/default/impala

IMPALA_CATALOG_SERVICE_HOST=node03
IMPALA_STATE_STORE_HOST=node03

所有节点创建mysql的驱动包的软连接
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
所有节点修改bigtop的java路径
vim /etc/default/bigtop-utils export JAVA_HOME=/export/servers/jdk1.8.0_141

7.8 启动impala服务
在node03启动

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

在node01和node02启动

service impala-server start

7.9 访问
访问impalad的管理界面
http://node03:25000/
访问statestored的管理界面
http://node03:25010/
访问catalog的管理界面
http://node03:25020

你可能感兴趣的:(hadoop离线数据分析全套,impala,hadoop,大数据)