大数据-impala(二)
impala的安装环境准备
需要提前安装好hadoop,hive两个框架,并且需要将hive的安装包,拷贝到所有的服务器上面都保存一份,因为impala需要引用hive的安装目录下面的一些依赖的jar包。
下载impala的所有依赖包
由于impala没有提供tar包供我们进行安装,只提供了rpm包,所以我们在安装impala的时候,需要使用rpm包来进行安装,rpm包只有cloudera公司提供了,所以我们去cloudera公司网站进行下载rpm包即可,但是另外一个问题,impala的rpm包依赖非常多的其他的rpm包,可以一个个的将依赖找出来,也可以将所有的rpm包下载下来,制作成我们本地yum源来进行安装。我们这里就选择制作我们本地的yum源来进行安装,所以首先我们需要下载到所有的rpm包,下载地址如下:
http://archive.cloudera.com/cdh5/repo-as-tarball/5.14.2/cdh5.14.2-centos7.tar.gz
将下载好的压缩包上传到node03服务器的/kkb/soft路径下,并进行解压
cd /kkb/soft
tar -zxvf cdh5.14.2-centos7.tar.gz
制作本地yum源
镜像源是centos当中下载相关软件的地址,可以通过制作自己的镜像源指定去哪里下载impala的rpm包,这里使用httpd这个软件来作为服务端,启动httpd的服务来作为镜像源的下载地址。
这里我们选用第三台机器作为镜像源的服务端。
node03机器上执行以下命令
sudo yum -y install httpd
sudo service httpd start
cd /etc/yum.repos.d
sudo vim localimp.repo
[localimp]
name=localimp
baseurl=http://node03/cdh5.14.2/
gpgcheck=0
enabled=1
创建apache httpd的读取链接
sudo ln -s /kkb/soft/cdh/5.14.2 /var/www/html/cdh5.14.2
页面访问本地yum源,出现这个界面表示本地yum源制作成功
将制作好的localimp配置文件发放到所有需要安装impala的节点上去。
node03执行以下命令进行分发
cd /etc/yum.repos.d/
sudo scp localimp.repo node02:$PWD
sudo scp localimp.repo node01:$PWD
开始安装impala
安装规划
服务名称 | node01 | node02 | node03 |
---|---|---|---|
impala-catalog | 不安装 | 不安装 | 安装 |
impala-state-store | 不安装 | 不安装 | 安装 |
impala-server | 安装 | 安装 | 安装 |
#主节点node03执行以下命令进行安装
sudo yum install impala -y
sudo yum install impala-server -y
sudo yum install impala-state-store -y
sudo yum install impala-catalog -y
sudo yum install impala-shell -y
#从节点node01与node02安装以下服务
sudo yum install impala-server -y
所有节点配置impala
第一步:修改hive-site.xml
node03机器修改hive-site.xml内容如下
hive-site.xml配置
vim /kkb/install/hive-1.1.0-cdh5.14.2/conf/hive-site.xml
添加以下三个配置属性
<property>
<name>hive.server2.thrift.bind.host</name>
<value>node03.hadoop.com</value>
</property>
<property>
<name>hive.metastore.uris</name>
<value>thrift://node03.kaikeba.com:9083</value>
</property>
<property>
<name>hive.metastore.client.socket.timeout</name>
<value>3600</value>
</property>
第二步:将hive的安装包发送到node02与node01机器上
在node03机器上面执行
cd /kkb/install/
scp -r hive-1.1.0-cdh5.14.2/ node02:$PWD
scp -r hive-1.1.0-cdh5.14.2/ node01:$PWD
第三步:node03启动hive的metastore服务
node03机器启动hive的metastore服务
cd /kkb/install/hive-1.1.0-cdh5.14.2
nohup bin/hive --service metastore &
nohup bin/hive -- service hiveserver2 &
注意:一定要保证mysql的服务正常启动,否则metastore的服务不能够启动。
第四步:所有hadoop节点修改hdfs-site.xml添加以下内容
所有节点创建文件夹
sudo mkdir -p /var/run/hdfs-sockets
修改所有节点的hdfs-site.xml添加以下配置,修改完之后重启hdfs集群生效
vim /kkb/install/hadoop-2.6.0-cdh5.14.2/etc/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>
三台机器执行以下命令给文件夹授权
sudo chown -R hadoop:hadoop /var/run/hdfs-sockets
第五步:重启hdfs
重启hdfs文件系统
node01服务器上面执行以下命令
cd /kkb/install/hadoop-2.6.0-cdh5.14.2/
sbin/stop-dfs.sh
sbin/start-dfs.sh
第六步:创建hadoop与hive的配置文件的连接
impala的配置目录为 /etc/impala/conf
这个路径下面需要把core-site.xml,hdfs-site.xml以及hive-site.xml拷贝到这里来,可以使用软连接的方式。
所有节点执行以下命令创建链接到impala配置目录下
sudo ln -s /kkb/install/hadoop-2.6.0-cdh5.14.2/etc/hadoop/core-site.xml /etc/impala/conf/core-site.xml
sudo ln -s /kkb/install/hadoop-2.6.0-cdh5.14.2/etc/hadoop/hdfs-site.xml /etc/impala/conf/hdfs-site.xml
sudo ln -s /kkb/install/hive-1.1.0-cdh5.14.2/conf/hive-site.xml /etc/impala/conf/hive-site.xml
第七步:修改impala的配置文件
所有节点更改impala默认配置文件以及添加mysql的连接驱动包
sudo vim /etc/default/impala
IMPALA_CATALOG_SERVICE_HOST=node03
IMPALA_STATE_STORE_HOST=node03
所有节点创建mysql的驱动包的软连接
sudo mkdir -p /usr/share/java
sudo ln -s /kkb/install/hive-1.1.0-cdh5.14.2/lib/mysql-connector-java-5.1.38.jar /usr/share/java/mysql-connector-java.jar
所有节点修改bigtop的java路径
sudo vim /etc/default/bigtop-utils
export JAVA_HOME=/kkb/install/jdk1.8.0_141
第八步:启动impala服务
主节点node03启动以下三个服务进程
sudo service impala-state-store start
sudo service impala-catalog start
sudo service impala-server start
从节点启动node01与node02启动impala-server
sudo service impala-server start
三台机器可以通过以下命令,查看impala进程是否存在
ps -ef | grep impala
注意:启动之后所有关于impala的日志默认都在/var/log/impala 这个路径下,node03机器上面应该有三个进程,node02与node01机器上面只有一个进程,如果进程个数不对,去对应目录下查看报错日志。
第九步:验证
浏览器页面访问:
访问impalad的管理界面:http://node03:25000/
访问statestored的管理界面:http://node03:25010/
访问catalog的管理界面:http://node03:2502
此博文仅供学习参考,如有错误欢迎指正。
上一篇《大数据-impala(一)》
下一篇《大数据-impala(三)》