文章目录

  • HIVE的安装部署(一)
  • derby版hive直接使用:
  • 1、直接启动 bin/hive
  • 使用mysql共享hive元数据
  • mysql数据库的安装方式一(使用rpm包的方式进行安装,`不推荐`)
  • mysql数据库的安装(使用yum源进行安装,强烈推荐)
  • HIVE的安装部署(二)
  • 修改hive的配置文件
  • 上传mysql的lib驱动包


HIVE的安装部署(一)

准备集群

#启动集群
[root@node01 ~]# jps
[root@node01 ~]# cd /export/install/hadoop-2.6.0-cdh5.14.0/sbin/
[root@node01 ~]# ./start-all.sh
[root@node01 ~]# 
[root@node01 ~]# cd /export/soft/
[root@node01 ~]# rz               (Hive上传到集群)

derby版hive直接使用:

解压hive

[root@node01 ~]# cd /export/soft
[root@node01 ~]# rz  
[root@node01 ~]# tar -zxvf hive-1.1.0-cdh5.14.0.tar.gz -C ../servers/

hive on tez为啥无限制使用集群资源 hive集群安装_hive


hive on tez为啥无限制使用集群资源 hive集群安装_h5_02


将jar拷贝到其他节点上 解压

拷贝到其他节点上
[root@node01 soft]# scp hive-1.1.0-cdh5.14.0.tar.gz node02:/$PWD
在该节点进行解压
[root@node02 ~]# tar -zxvf hive-1.1.0-cdh5.14.0.tar.gz -C ../servers/

1、直接启动 bin/hive

hive on tez为啥无限制使用集群资源 hive集群安装_h5_03

[root@node01 /]# cd /export/install/hive-1.1.0-cdh5.14.0/bin/
[root@node01 bin]# hive

hive (default)> create database mytest;    #(hive创建表)

缺点:多个地方安装hive后,每一个hive是拥有一套自己的元数据,大家的库、表就不统一;

总结:每个节点自己维护自己的元数据库(derby),导致多个节点之间元数据不共享

使用mysql共享hive元数据

mysql数据库的安装方式一(使用rpm包的方式进行安装,不推荐

  • 第一步:查看系统自带的mysql的rpm包
rpm -qa | grep mysql
rpm -e mysql-libs-5.1.73-8.el6_8.x86_64 --nodeps

hive on tez为啥无限制使用集群资源 hive集群安装_Hive_04

  • 第二步:安装mysql的rpm包
rpm   -ivh  *.rpm

hive on tez为啥无限制使用集群资源 hive集群安装_Hive_05

  • 第三步:启动mysql的服务
service  mysqld  start
  • 第四步:查看mysql初始化密码
more /root/.mysql_secret

hive on tez为啥无限制使用集群资源 hive集群安装_h5_06


hive on tez为啥无限制使用集群资源 hive集群安装_hive_07

  • 第五步:使用随记密码登录mysql并更新密码
mysql  -uroot –p 
SET PASSWORD = PASSWORD('123456');
  • 第六步:开启mysql远程连接
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

flush privileges;

hive on tez为啥无限制使用集群资源 hive集群安装_h5_08

chkconfig --add mysqld
chkconfig mysqld on

mysql数据库的安装(使用yum源进行安装,强烈推荐)

查看mysql是否安装

[root@node03 ~]# rpm -qa | grep mysql
  • 第一步:在线安装mysql相关的软件包
[root@node03 ~]# yum  install -y  mysql  mysql-server  mysql-devel
  • 第二步:启动mysql的服务
[root@node03 ~]# /etc/init.d/mysqld start  (启动mysql)
[root@node03 ~]# /etc/init.d/mysqld status (查看mysql状态)
mysqld (pid  1948) 正在运行...
[root@node03 ~]# chkconfig mysqld on       (开机自启)
  • 第三步:进入mysql的客户端然后进行授权
use mysql;
配置远程连接
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;

flush privileges;
  • 第四步 设置root用户链接mysql的密码
update user set password=password('123456') where user='root';

flush privileges;

hive on tez为啥无限制使用集群资源 hive集群安装_mysql_09


安装mysql完毕

hive on tez为啥无限制使用集群资源 hive集群安装_h5_10

HIVE的安装部署(二)

[root@node01 /]# cd  /export/install/hive-1.1.0-cdh5.14.0/conf
[root@node01 conf]# cp hive-env.sh.template hive-env.sh
[root@node01 conf]# vim hive-env.sh

修改hive的配置文件

#修改hive-env.sh 
[root@node01 conf]# vim hive-env.sh
HADOOP_HOME=${HADOOP_HOME}
#或者HADOOP_HOME=/export/install/hadoop-2.6.0-cdh5.14.0

# Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=/export/install/hive-1.1.0-cdh5.14.0/conf

添加我们的hadoop的环境变量:

hive on tez为啥无限制使用集群资源 hive集群安装_h5_11


没有就添加再修改hive-site.xml

[root@node01 /]# cd /export/servers/hive-1.1.0-cdh5.14.0/conf
[root@node01 conf]# vim hive-site.xml
#mysql在哪个节点就改成哪个节点的主机名上的节点
[root@node01 conf]# vim hive-site.xml
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
        <property>
                <name>javax.jdo.option.ConnectionURL</name>
                <value>jdbc:mysql://node03: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>node03</value>
        </property>
<!--
        <property>
                <name>hive.metastore.uris</name>
                <value>thrift://node03:9083</value>
        </property>
-->
</configuration>

拷贝到其他节点上

[root@node01 install]# scp -r hive-1.1.0-cdh5.14.0 node02:$PWD

hive on tez为啥无限制使用集群资源 hive集群安装_h5_12


通过拷贝hadoop.sh 修改成hive.sh

拷贝hadoop.sh  生成 hive.sh 文件
[root@node01 install]# cp /etc/profile.d/hadoop.sh  /etc/profile.d/hive.sh 

修改hive.sh文件
[root@node01 install]# vim  /etc/profile.d/hive.sh 
export HIVE_HOME=/export/install/hive-1.1.0-cdh5.14.0
export PATH=$PATH:$HIVE_HOME/bin

[root@node01 install]# source /etc/profile   (加载后自动提示)

将hive.sh拷贝到其他节点上

[root@node01 /]# scp /etc/profile.d/hive.sh  node02:/etc/profile.d/
其他节点加载
[root@node02 install]# source /etc/profile   (加载后自动提示)

上传mysql的lib驱动包

出现这个错误可能没有上传mysql驱动包

hive on tez为啥无限制使用集群资源 hive集群安装_mysql_13


将mysql的lib驱动包上传到hive的lib目录下

[root@node01 /]# cd /export/servers/hive-1.1.0-cdh5.14.0/lib

将mysql-connector-java-5.1.38.jar 上传到这个目录下

hive on tez为啥无限制使用集群资源 hive集群安装_hive_14


将驱动包拷贝到其他节点上

[root@node01 /]# cd /export/servers/hive-1.1.0-cdh5.14.0/lib
[root@node01 lib]# scp mysql-connector-java-5.1.38.jar  node02:$PWD