1.3 Impala安装包下载(不能使用yum命令的情况下)
1.4 Impala安装包下载(可以使用yum命令的情况下)
3.1 安装 bigtop-utils (主、从机都要安装)
3.5 主机安装impala-server (主、从机都要安装)
3.7 安装impala-udf-devel(主、从机都要安装)
4.1 配置 vim /etc/default/bigtop-utils里的JDK
6.1 拷贝core-site.xml、hdfs-site.xml和hdfs-site.xml (主、从机都要配置)
1 环境准备
1.1 服务器配置
ID | IP address | Host name | Notes |
---|---|---|---|
1 | 128.64.108.160 | esp01 | 1.Hadoop Master 6.Hive |
2 | 128.64.108.178 | esp02 | 1.Hadoop Slave 6.Hive |
3 | 128.64.108.196 | esp03 | 1.Hadoop Slave 6.Hive |
1.2 环境配置
安装impala前,要确保在以上规划的三台机子上已经安装好:
JDK 1.8 |
Hadoop 2.9.0集群 |
Spark 2.3.1集群 |
Scala 2.12 |
Zookeeper 3.4.12 |
Hive3.0.0 |
1.3 Impala安装包下载(不能使用yum命令的情况下)
A.下载impala安装包,下载地址:
http://archive.cloudera.com/beta/impala-kudu/redhat/7/x86_64/impala-kudu/0/RPMS/x86_64
B.下载bigtop-utils,下载地址:
http://archive.cloudera.com/cdh5/redhat/7/x86_64/cdh/5.9.0/RPMS/noarch/
1.4 Impala安装包下载(可以使用yum命令的情况下)
安装impala各组件的命令: $ sudo yum -y install cyrus-sasl-plain lsb ntp $ sudo yum install impala-shell |
【注:可以使用yum的情况在可以直接忽略下面的第2、3步】
2 下载安装依赖包(必须安装)
yum -y install cyrus-sasl-plain lsb ntp |
【注:若不能使用yum命令,可以选择在可以联网的机子上用yum下载好,然后使用
locate lsb命令找到依赖包,复制过去即可】
3 安装impala
3.1 安装 bigtop-utils (主、从机都要安装)
rpm -ivh bigtop-utils-0.7.0+cdh5.9.0+0-1.cdh5.9.0.p0.30.el7.noarch.rpm |
3.2 安装impala-2.7.0 (主、从机都要安装)
rpm -ivh impala-2.7.0+cdh5.9.0+0-1.cdh5.9.0.p0.11.el7.x86_64.rpm --nodeps |
【注:要加上选项 --nodeps否则安装会因为缺少依赖包无法通过】
3.3 安装impala-catalog (主机安装)
rpm -ivh impala-catalog-2.7.0+cdh5.9.0+0-1.cdh5.9.0.p0.11.el7.x86_64.rpm |
3.4 安装 impala-state (主机安装)
rpm -ivh impala-state-store-2.7.0+cdh5.9.0+0-1.cdh5.9.0.p0.11.el7.x86_64.rpm |
3.5 主机安装impala-server (主、从机都要安装)
rpm -ivh impala-server-2.7.0+cdh5.9.0+0-1.cdh5.9.0.p0.11.el7.x86_64.rpm |
3.6 安装impala-shell(主、从机都要安装)
rpm -ivh impala-shell-2.7.0+cdh5.9.0+0-1.cdh5.9.0.p0.11.el7.x86_64.rpm |
3.7 安装impala-udf-devel(主、从机都要安装)
rpm -ivh impala-udf-devel-2.7.0+cdh5.9.0+0-1.cdh5.9.0.p0.11.el7.x86_64.rpm |
4 配置Impala (主、从机都要配置)
4.1 配置 vim /etc/default/bigtop-utils里的JDK
# export JAVA_HOME export JAVA_HOME=/usr/java/jdk1.8.0_77 |
4.2 配置vim /etc/default/impala (主、从机都要配置一样)
#修改其中的两项即可,因为规划esp01为master,所以下面配置为esp01 IMPALA_CATALOG_SERVICE_HOST=esp01 IMPALA_STATE_STORE_HOST=esp01 |
【注:一定要保证hosts里已经配置过esp01,否则需要使用128.64.108.160】
5 配置三台机器时间同步(主、从机都要配置)
[root@linux108160 espai]# systemctl restart ntpd |
6 修改相应的配置文件
6.1 拷贝core-site.xml、hdfs-site.xml和hdfs-site.xml (主、从机都要配置)
把hadoop配置文件core-site.xml和hdfs-site.xml,以及hive配置文件hive-site.xml拷贝到/etc/impala/conf.dist/目录下。
6.2 具体配置
在Impala节点上对刚才拷贝的core-site.xml、hdfs-site.xml配置文件,在原有基础上追加如下修改:
# hdfs-site.xml <!--impala configuration -->
<property> <name>dfs.datanode.hdfs-blocks-metadata.enabled</name> <value>true</value> </property> <property> <name>dfs.block.local-path-access.user</name> <value>impala</value> </property> <property> <name>dfs.client.file-block-storage-locations.timeout.millis</name> <value>60000</value> </property>
|
# core-site.xml <!--impala configuration -->
<property> <name>dfs.client.read.shortcircuit</name> <value>true</value> </property> <property> <name>dfs.client.read.shortcircuit.skip.checksum</name> <value>false</value> </property> <property> <name>dfs.datanode.hdfs-blocks-metadata.enabled</name> <value>true</value> </property> |
6.3 重启Hadoop集群
必须要重启hadoop集群!!!
7 设置scoket path
在目录/var/run/目录下新建目录hadoop-hdfs (主、从机都要配置)。
【注意:该文件夹可能已经存在,应当确认用impala是否有权限进行读写。 如果已经存在,将用户impala加入该文件所属的组,并修改该文件组的权限即: chown -R 775 hadoop-hdfs/】
[root@linux108160 .ssh]# cd /var/run/ #进入目录/var/run/ [root@linux108160 run]# mkdir hadoop-hdfs #创建目录hadoop-hdfs [root@linux108160 run]# chown -R 775 hadoop-hdfs/ #设置权限 |
8 权限配置(所有机器都应当配置)
- 如果想要impala和yarn合作,需要把 impala 用户加入 hdfs 组.
- impala 在执行 drop table 操作时,需要把文件移到到 hdfs 的回收站,所以需要创建一个hdfs的目录 /user/impala,并将其设置为impala 用户可写。
- 同样的,impala 需要读取 hive 数据仓库下的数据,故需要把 impala 用户加入 hive 组。
#主机:esp01 [root@linux108160 esp01]# usermod -G hdfs,hadoop impala [root@linux108160 esp01]# groups impala impala : impala hdfs hadoop
#从机:esp02 [root@linux108178 esp02]# usermod -G hdfs,hadoop impala [root@linux108178 esp02]# groups impala impala : impala hdfs hadoop
#从机:esp03 [root@linux108196 esp03]# usermod -G hdfs,hadoop impala [root@linux108196 esp03]# groups impala impala : impala hdfs hadoop
|
另:创建impala在hdfs上的目录并设置权限
[esp01@linux108160 ~]$ hadoop fs -mkdir -p /user/impala [esp01@linux108160 ~]$ hadoop fs -chown impala /user/impala |
9 启动impala
#主机esp01 [root@linux108160 ~]# service impala-state-store restart [root@linux108160 ~]# service impala-catalog restart [root@linux108160 ~]# service impala-server restart
#从机:esp02 [root@linux108178 ~]# service impala-server restart
#从机:esp03 [root@linux108190 ~]# service impala-server restart
|
10 登录impala-shell
[esp01@linux108160 impala]$ impala-shell Starting Impala Shell without Kerberos authentication Connected to esp01:21000 Server version: impalad version 2.7.0-cdh5-IMPALA_KUDU-cdh5 RELEASE (build 48f1ad385382cd90dbaed53b174965251d91d088) ******************************************************************************* Welcome to the Impala shell. Copyright (c) 2015 Cloudera, Inc. All rights reserved. (Impala Shell v2.7.0-cdh5-IMPALA-cdh5 (48f1ad3) built on Thu Aug 18 12:15:44 PDT 2016)
Run the PROFILE command after a query has finished to see a comprehensive summary of all the performance and diagnostic information that Impala gathered for that query. Be warned, it can be very long! ******************************************************************************* [esp01:21000] > |
11 同步hive元数据
命令如下:
[esp01:21000] > invalidate metadata; #同步hive元数据 [esp01:21000] > show databases; #查看同步之后的数据库 |
12 在impala-shell端创建表
[esp01:21000] > create table if not exists testdata ( id Int, name String ); [esp01:21000] >select * from testdata; |