Hive集群(3台虚拟机)搭建和交互方式基于Hadoop

我们此处是选择三台虚拟机作为我们hive的安装机器,hive压缩包奉上 hive压缩包奉上,提取码:rr9f

安装

derby版hive直接使用(不建议):

  1. 解压hive

    cd /export/soft
    tar -zxvf hive-1.1.0-cdh5.14.0.tar.gz -C …/servers/

在这里插入图片描述

  1. 直接启动 bin/hive

cd …/servers/
cd hive-1.1.0-cdh5.14.0/bin
./hive
hive> create database mytest;

在这里插入图片描述

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

使用mysql共享hive元数据(建议)

mysql 的安装

  • 第一步:在线安装mysql相关的软件包
    yum install -y mysql mysql-server mysql-devel

  • 第二步:启动mysql的服务
    /etc/init.d/mysqld start
    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的安装

  1. 解压hive

    cd /export/soft
    tar -zxvf hive-1.1.0-cdh5.14.0.tar.gz -C …/servers/

在这里插入图片描述

  1. 修改hive-site.xml文件
    注意: mysql在哪个节点下面就选择哪个节点主机名,我的是node01
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
        <property>
                <name>javax.jdo.option.ConnectionURL</name>
                <value>jdbc:mysql://node01: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>
-->
</configuration>

  1. 上传mysql的lib 驱动包
    将mysql的lib驱动包上传到hive的lib目录下
    cd /export/servers/hive-1.1.0-cdh5.14.0/lib
    将mysql-connector-java-5.1.38.jar 上传到这个目录下

  2. 将hive整个文件发送其他节点
    cd /export/servers
    scp -r ./hive-1.1.0-cdh5.14.0 node02:$PWD
    scp -r ./hive-1.1.0-cdh5.14.0 node03:$PWD

  3. 配置环境变量
    cd /etc/profile.d/
    vim hive.sh

export HIVE_HOME=/export/servers/hive-1.1.0-cdh5.14.0/
export PATH=$PATH:$HIVE_HOME/bin

在这里插入图片描述
将配置的环境变量发送其他节点

scp hive.sh node02:$PWD
scp hive.sh node03:$PWD

刷新每台节点配置文件: source /etc/profile

使用方式

  • 第一种交互方式:Hive交互shell
    cd /export/servers/hive-1.1.0-cdh5.14.0/bin
    ./hive
  • 第二种交互方式:Hive JDBC服务
    启动hiveserver2服务
  1. 前台启动
    cd /export/servers/hive-1.1.0-cdh5.14.0
    bin/hive --service hiveserver2
    在这里插入图片描述

  2. 后台启动
    cd /export/servers/hive-1.1.0-cdh5.14.0
    nohup bin/hive --service hiveserver2 &
    在这里插入图片描述

  • beeline 连接 hiveserver2
    bin/beeline
    beeline> !connect jdbc:hive2://node01.hadoop.com:10000

  • 第三种交互方式:Hive命令
    使用 –e 参数来直接执行hql的语句
    bin/hive -e “use myhive;select * from test1;”
    使用 –f 参数通过指定文本文件来执行hql的语句
    vim hive.sql
    use myhive;select * from test1;
    bin/hive -f hive.sql
    更多参数参考以下
    在这里插入图片描述

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值