部署Hive组件

部署Hive组件

此文以Hadoop 3.2.2、Hive 3.1.2版本为例!

如未指定,下述命令在所有节点执行!

一、系统资源及组件规划

节点名称系统名称CPU/内存网卡磁盘IP地址OS
NameNodenamenode2C/4Gens33128G192.168.0.11CentOS7
Secondary NameNodesecondarynamenode2C/4Gens33128G192.168.0.12CentOS7
ResourceManagerresourcemanager2C/4Gens33128G192.168.0.13CentOS7
Worker1worker12C/4Gens33128G192.168.0.21CentOS7
Worker2worker22C/4Gens33128G192.168.0.22CentOS7
Worker3worker32C/4Gens33128G192.168.0.23CentOS7

Hive组件部署在Worker节点上

二、搭建Hadoop集群

Hadoop完全分布式集群搭建过程省略,参考如下:

https://blog.csdn.net/mengshicheng1992/article/details/116757775

三、部署Hive组件

1、安装Metastore

此实验在NameNode节点部署Metastore,以MySQL为例,部署过程省略,参考如下:

https://blog.csdn.net/mengshicheng1992/article/details/115158378

在NameNode节点上配置MySQL权限:

mysql -uroot -pPassWord5.7!
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'PassWord5.7!' WITH GRANT OPTION;
FLUSH PRIVILEGES;

在这里插入图片描述

2、安装Hive组件

下载Hive文件:

参考地址:https://hive.apache.org/downloads.html

在Worker节点(Hive节点)上解压Hive安装文件:

tar -xf /root/apache-hive-3.1.2-bin.tar.gz -C /usr/local/

在这里插入图片描述

设置环境变量:

export PATH=$PATH:/usr/local/apache-hive-3.1.2-bin/bin/

在这里插入图片描述

添加环境变量至/etc/profile文件:

PATH=$PATH:/usr/local/apache-hive-3.1.2-bin/bin/

在这里插入图片描述

3、安装JDBC驱动

下载JDBC驱动:

参考地址:https://www.mysql.com/cn/products/connector/

在Worker节点(Hive节点)上解压JDBC驱动,并拷贝到lib目录:

tar -xf /root/mysql-connector-java-8.0.25.tar.gz
cp /root/mysql-connector-java-8.0.25/mysql-connector-java-8.0.25.jar /usr/local/apache-hive-3.1.2-bin/lib/

在这里插入图片描述

4、配置Hive及HiveServer2

在Worker节点(Hive节点)上同步guava文件,解决Hive版本过低问题:

cp /usr/local/hadoop-3.2.2/share/hadoop/common/lib/guava-27.0-jre.jar /usr/local/apache-hive-3.1.2-bin/lib/
rm -rf /usr/local/apache-hive-3.1.2-bin/lib/guava-19.0.jar

在这里插入图片描述

在Worker节点(Hive节点)上修改hive-env.sh文件:

cat > /usr/local/apache-hive-3.1.2-bin/conf/hive-env.sh << EOF
# Set HADOOP_HOME to point to a specific hadoop install directory
HADOOP_HOME=/usr/local/hadoop-3.2.2/

# Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=/usr/local/apache-hive-3.1.2-bin/conf/

# Folder containing extra libraries required for hive compilation/execution can be controlled by:
export HIVE_AUX_JARS_PATH=/usr/local/apache-hive-3.1.2-bin/lib/
EOF

在这里插入图片描述

在Worker节点(Hive节点)上修改hive-site.xml文件:

cat > /usr/local/apache-hive-3.1.2-bin/conf/hive-site.xml << EOF
<configuration>
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://namenode:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false</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>PassWord5.7!</value>
    </property>

    <property>
        <name>hive.server2.thrift.port</name>
        <value>10000</value>
    </property>

    <property>
        <name>hive.server2.thrift.bind.host</name>
        <value>0.0.0.0</value>
    </property>

    <property>
        <name>datanucleus.autoCreateSchema</name>
        <value>false</value>
    </property>

    <property>
        <name>datanucleus.fixedDatastore</name>
        <value>true</value>
    </property>

    <property>
        <name>datanucleus.autoCreateSchema</name>
        <value>false</value>
    </property>

    <property>
        <name>datanucleus.fixedDatastore</name>
        <value>true</value>
    </property>
</configuration>
EOF

在这里插入图片描述

修改core-site.xml文件:

cat > /usr/local/hadoop-3.2.2/etc/hadoop/core-site.xml << EOF
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://namenode:9000</value>
    </property>

    <property>
        <name>dfs.permissions.enabled</name>
        <value>false</value>
    </property>

    <property>
        <name>hadoop.proxyuser.root.hosts</name>
        <value>*</value>
    </property>

    <property>
        <name>hadoop.proxyuser.root.groups</name>
        <value>*</value>
    </property>
</configuration>
EOF

在这里插入图片描述

修改core-site.xml文件后,需重启Hadoop,重启步骤如下:

在NameNode执行stop-dfs.sh

在这里插入图片描述

在ResourceManager执行stop-yarn.sh

在这里插入图片描述

在NameNode执行start-dfs.sh

在这里插入图片描述

在ResourceManager执行start-yarn.sh

在这里插入图片描述

5、启动Hive组件

在任意Worker节点(Hive节点)上初始化数据库:

schematool -dbType mysql -initSchema

在这里插入图片描述

在任意Worker节点(Hive节点)上启动Hive Shell

hive

在这里插入图片描述

各节点Hive Shell相互独立,各节点数据同步

在任意Worker节点(Hive节点)上启动HiveServer2:

nohup hiveserver2 >/dev/null 2>/dev/null &

在这里插入图片描述

各节点HiveServer2进程独立,监听本地地址,各节点数据同步

登录HiveServer2:

http://192.168.0.21:10002

在这里插入图片描述

6、Hive组件功能演示

1、Hive Shell演示

创建数据库:

CREATE DATABASE db;

在这里插入图片描述

创建表:

USE db;
CREATE TABLE tb  (
  id int,
  name string,
  age int
) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS TEXTFILE;

在这里插入图片描述

2、HiveServer2演示

Beeline登录HiveServer2:

beeline
!connect jdbc:hive2://worker1:10000

在这里插入图片描述

用户名为root,密码为空

查看数据库:

SHOW DATABASES;

在这里插入图片描述

查看表:

USE db;
SHOW TABLES;

在这里插入图片描述

创建Hadoop测试文件:

echo 1,user1,21 > hivefile
echo 2,user2,22 >> hivefile
echo 3,user3,23 >> hivefile
echo 4,user4,24 >> hivefile
echo 5,user5,25 >> hivefile

在这里插入图片描述

上传文件至数据库目录:

hadoop fs -put /root/hivefile /user/hive/warehouse/db.db/tb

在这里插入图片描述

在这里插入图片描述

使用Hive Shell和Beeline方式查看上传内容:

SELECT * FROM tb;

在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值