欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Hive> HIVE的安装部署

程序员文章站 2022-04-29 17:41:50
...

HIVE的安装部署(一)

准备集群

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

derby版hive直接使用:

解压hive

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

Hive> HIVE的安装部署
Hive> HIVE的安装部署
将jar拷贝到其他节点上 解压

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

1、直接启动 bin/hive

Hive> HIVE的安装部署

[aaa@qq.com /]# cd /export/install/hive-1.1.0-cdh5.14.0/bin/
[aaa@qq.com 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> HIVE的安装部署

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

Hive> HIVE的安装部署

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

Hive> HIVE的安装部署
Hive> HIVE的安装部署

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

flush privileges;

Hive> HIVE的安装部署

chkconfig --add mysqld
chkconfig mysqld on

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

查看mysql是否安装

[aaa@qq.com ~]# rpm -qa | grep mysql
  • 第一步:在线安装mysql相关的软件包
[aaa@qq.com ~]# yum  install -y  mysql  mysql-server  mysql-devel
  • 第二步:启动mysql的服务
[aaa@qq.com ~]# /etc/init.d/mysqld start  (启动mysql)
[aaa@qq.com ~]# /etc/init.d/mysqld status (查看mysql状态)
mysqld (pid  1948) 正在运行...
[aaa@qq.com ~]# 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> HIVE的安装部署
安装mysql完毕
Hive> HIVE的安装部署

HIVE的安装部署(二)

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

修改hive的配置文件

#修改hive-env.sh 
[aaa@qq.com 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> HIVE的安装部署
没有就添加再修改hive-site.xml

[aaa@qq.com /]# cd /export/servers/hive-1.1.0-cdh5.14.0/conf
[aaa@qq.com conf]# vim hive-site.xml
#mysql在哪个节点就改成哪个节点的主机名上的节点
[aaa@qq.com 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>

拷贝到其他节点上

[aaa@qq.com install]# scp -r hive-1.1.0-cdh5.14.0 node02:$PWD

Hive> HIVE的安装部署
通过拷贝hadoop.sh 修改成hive.sh

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

修改hive.sh文件
[aaa@qq.com 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

[aaa@qq.com install]# source /etc/profile   (加载后自动提示)

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

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

上传mysql的lib驱动包

出现这个错误可能没有上传mysql驱动包
Hive> HIVE的安装部署
将mysql的lib驱动包上传到hive的lib目录下

[aaa@qq.com /]# cd /export/servers/hive-1.1.0-cdh5.14.0/lib

将mysql-connector-java-5.1.38.jar 上传到这个目录下
Hive> HIVE的安装部署
将驱动包拷贝到其他节点上

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