安装规划
| 服务名称 | Node01 | Node02 | Node03 | 
| impala-catalog | 安装 | 不安装 | 不安装 | 
| impala-state-store | 安装 | 不安装 | 不安装 | 
| impala-server | 安装 | 安装 | 安装 | 
| impala | 安装 | 安装 | 安装 | 
安装impala
主节点node01执行以下命令进行安装
[root@hadoop01 ~]# yum install impala -y
[root@hadoop01 ~]# yum install impala-server -y
[root@hadoop01 ~]# yum install impala-state-store -y
[root@hadoop01 ~]# yum install impala-catalog -y
[root@hadoop01 ~]# yum install bigtop-utils -y
[root@hadoop01 ~]# yum install impala-shell -y
从节点node02和node03上安装以下服务
在node02上执行安装
[root@hadoop02 ~]# yum install impala-server -y
[root@hadoop02 ~]# yum install bigtop-utils -y
在node03上执行安装
[root@hadoop03 ~]# yum install impala-server -y
[root@hadoop03 ~]# yum install bigtop-utils -y
impala配置
impala依赖于hive,所以首先需要进行hive的配置修改;
| [root@hadoop01 hive]# cd /usr/local/hive/conf/ | 
node1机器修改hive-site.xml内容如下:
| [root@hadoop01 hive]# vim hive-site.xml | 
| <configuration> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://node1:3306/hive? createDatabaseIfNotExist=true</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>root</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>123456</value> </property> <property> <name>hive.cli.print.current.db</name> <value>true</value> </property> <property> <name>hive.cli.print.header</name> <value>true</value> </property> <property> <name>hive.server2.thrift.bind.host</name> <value>node01</value> </property> <property> <name>hive.metastore.uris</name> <value>thrift://node01:9083</value> </property> <property> <name>hive.metastore.client.socket.timeout</name> <value>3600</value> </property> </configuration> | 
将配置好的配置文件发送到其他两个服务器节点上
| [root@hadoop01 conf]# scp -r hive-site.xml node02:$PWD [root@hadoop01 conf]# scp -r hive-site.xml node03:$PWD | 
添加mysql的jar包放入hive的lib目录下

启动hive的metastore服务
| [root@hadoop01 lib]# cd /usr/local/hive/ [root@hadoop01 hive]#nohup bin/hive –service metastore & | 
注意:一定要保证mysql的服务正常启动,否则metastore的服务不能够启动
所有hadoop节点修改hdfs-site.xml添加以下内容
所有节点创建文件夹
| [root@hadoop01 ~]# mkdir -p /usr/local/hadoop-2.6.0-cdh5.14.0/run/hdfs-sockets [root@hadoop02 ~]# mkdir -p /usr/local/hadoop-2.6.0-cdh5.14.0/run/hdfs-sockets [root@hadoop03 ~]# mkdir -p /usr/local/hadoop-2.6.0-cdh5.14.0/run/hdfs-sockets | 
修改所有节点的hdfs-site.xml添加以下配置,修改完之后重启hdfs集群生效
| [root@hadoop01 soft-manager]# cd /usr/local/hadoop-2.6.0-cdh5.14.0/ [root@hadoop01 hadoop-2.6.0-cdh5.14.0]# cd etc/hadoop/ [root@hadoop01 hadoop]# vim hdfs-site.xml | 
| <configuration> <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.permissions</name> <value>false</value> </property> <property> <name>dfs.blocksize</name> <value>134217728</value> </property> 
 <property> <!–短路读取–就是允许impala把一些信息存储在本地磁盘上,可以加快计算的速度–> <name>dfs.client.read.shortcircuit</name> <value>true</value> </property> <property> <!–打开”块位置的存储的元数据信息”–> <name>dfs.datanode.hdfs-blocks-metadata.enabled</name> <value>true</value> </property> <property> <name>dfs.domain.socket.path</name> <value>/usr/local/hadoop-2.6.0-cdh5.14.0/run/hdfs-sockets/dn</value> <!–Datanode和DFSClient之间沟通的Socket的本地路径套接口文件–> </property> <property> <!—-> <name>dfs.client.file-block-storage-locations.timeout.millis</name> <value>10000</value> </property> 
 </configuration> | 
将配置好的配置我呢见拷贝到其他两台服务器
| [root@hadoop01 hadoop]# scp -r hdfs-site.xml node02:$PWD [root@hadoop01 hadoop]# scp -r hdfs-site.xml node03:$PWD | 
创建hadoop与hive的配置文件的连接
impala的配置目录为 /etc/impala/conf
这个路径下面需要把core-site.xml,hdfs-site.xml以及hive-site.xml拷贝到这里来,但是这里使用软连接的方式会更好。
在node01服务器上创建三个配置文件的软连接
| [root@hadoop01 hadoop]# ln -s /usr/local/hadoop-2.6.0-cdh5.14.0/etc/hadoop/core-site.xml /etc/impala/conf/ [root@hadoop01 hadoop]# ln -s /usr/local/hadoop-2.6.0-cdh5.14.0/etc/hadoop/hdfs-site.xml /etc/impala/conf [root@hadoop01 hadoop]# ln -s /usr/local/hive/conf/hive-site.xml /etc/impala/conf | 
在node02服务器上创建三个配置文件的软连接
| [root@hadoop02 local]# ln -s /usr/local/hadoop-2.6.0-cdh5.14.0/etc/hadoop/core-site.xml /etc/impala/conf/ [root@hadoop02 local]# ln -s /usr/local/hadoop-2.6.0-cdh5.14.0/etc/hadoop/hdfs-site.xml /etc/impala/conf [root@hadoop02 local]# ln -s /usr/local/hive/conf/hive-site.xml /etc/impala/conf | 
在node03服务器上创建三个配置文件的软连接
| [root@hadoop03 ~]# ln -s /usr/local/hadoop-2.6.0-cdh5.14.0/etc/hadoop/core-site.xml /etc/impala/conf/ [root@hadoop03 ~]# ln -s /usr/local/hadoop-2.6.0-cdh5.14.0/etc/hadoop/hdfs-site.xml /etc/impala/conf [root@hadoop03 ~]# ln -s /usr/local/hive/conf/hive-site.xml /etc/impala/conf | 
所有节点修改impala默认配置
在node01服务器更改impala默认配置文件
| [root@hadoop01 hadoop]# vim /etc/default/impala #指定集群的CATALOG_SERVICE和STATE_STORE服务地址 IMPALA_CATALOG_SERVICE_HOST=node01 IMPALA_STATE_STORE_HOST=node01 | 
在node02服务器更改impala默认配置文件
| [root@hadoop02 hadoop]# vim /etc/default/impala #指定集群的CATALOG_SERVICE和STATE_STORE服务地址 IMPALA_CATALOG_SERVICE_HOST=node01 IMPALA_STATE_STORE_HOST=node01 | 
在node03服务器更改impala默认配置文件
| [root@hadoop03 hadoop]# vim /etc/default/impala #指定集群的CATALOG_SERVICE和STATE_STORE服务地址 IMPALA_CATALOG_SERVICE_HOST=node01 IMPALA_STATE_STORE_HOST=node01 | 
修改配置如下图所示

所有节点创建mysql的驱动包的软连接
| [root@hadoop01 ~]# ln -s /usr/local/hive/lib/mysql-connector-java-5.1.32.jar /usr/share/java [root@hadoop02 ~]# ln -s /usr/local/hive/lib/mysql-connector-java-5.1.32.jar /usr/share/java [root@hadoop03 ~]# ln -s /usr/local/hive/lib/mysql-connector-java-5.1.32.jar /usr/share/java | 
所有节点修改bigtop的java路径
在node01上修改bigtop的java_home路径
| [root@hadoop01 hadoop]# vim /etc/default/bigtop-utils export JAVA_HOME=/usr/local/java/jdk1.8.0_201 | 
在node02上修改bigtop的java_home路径
| [root@hadoop02 hadoop]# vim /etc/default/bigtop-utils export JAVA_HOME=/usr/local/java/jdk1.8.0_201 | 
在node03上修改bigtop的java_home路径
| [root@hadoop03 hadoop]# vim /etc/default/bigtop-utils export JAVA_HOME=/usr/local/java/jdk1.8.0_201 | 

启动impala服务
在主节点node01启动以下三个服务进程
| [root@hadoop01 ~]# service impala-state-store start [root@hadoop01 ~]# service impala-catalog start [root@hadoop01 ~]# service impala-server start | 
在从节点node02和node03上启动impala-server
| [root@hadoop02 ~]# service impala-server start [root@hadoop03 ~]# service impala-server start | 
查看impala进程是否存在
| [root@hadoop01 ~]# ps -ef | grep impala [root@hadoop02 ~]# ps -ef | grep impala [root@hadoop03 ~]# ps -ef | grep impala | 
注意:启动之后所有关于impala的日志默认都在/var/log/impala 这个路径下,node01机器上面应该有三个进 程,node02与node03机器上面只有一个进程,如果进程个数不对,去对应目录下查看报错日志
浏览器页面访问
访问impalad的管理界面http://node01:25000/

访问statestored的管理界面http://node01:25010/

访问catalogd 的管理界面http://node01:25020/

将impala与kudu整合
在每一个服务器的impala的配置文件中添加如下配置:
在node01节点上修改配置文件impala
| [root@hadoop01 hadoop]# vim /etc/default/impala -kudu_master_hosts=node01:7051,node02:7051,node03:7051 | 
在node02节点上修改配置文件impala
| [root@hadoop02 hadoop]# vim /etc/default/impala -kudu_master_hosts=node01:7051,node02:7051,node03:7051 | 
在node03节点上修改配置文件impala
| [root@hadoop03 hadoop]# vim /etc/default/impala -kudu_master_hosts=node01:7051,node02:7051,node03:7051 | 
   
转自:https://www.cnblogs.com/starzy/p/10563572.html