【Hive】Linux(CentOS7)下安装Hive教程

一、实验环境

1. 节点IP

主机名 IP
feilink1 192.168.10.101
feilink2 192.168.10.102
feilink3 192.168.10.103

2. 依赖组件

  • Hadoop
  • MySQL

3. 没有特殊说明的都是在feilink1节点上的操作

4. MySQL配置

  • 用户:root

  • 密码:123456

    5. 各组件版本

    组件 版本
    CentOS 7
    Hadoop 3.3.4
    MySQL 8.0.29

    6. 用户密码

    • root(123456)
    • hadoop(hadoop)

二、配置Hadoop

bash 复制代码
vim /export/server/hadoop/etc/hadoop/core-site.xml

添加以下内容

xml 复制代码
<property>
    <!-- Hive用到的代理 -->
    <name>hadoop.proxyuser.hadoop.hosts</name>
    <value>*</value>
</property>
<property>
    <name>hadoop.proxyuser.hadoop.groups</name>
    <value>*</value>
</property>

分发文件

bash 复制代码
scp /export/server/hadoop/etc/hadoop/core-site.xml feilink2:/export/server/hadoop/etc/hadoop/core-site.xml

scp /export/server/hadoop/etc/hadoop/core-site.xml feilink3:/export/server/hadoop/etc/hadoop/core-site.xml

三、下载Hive压缩包

下载地址:http://archive.apache.org/dist/hive/hive-3.1.3/apache-hive-3.1.3-bin.tar.gz

四、安装Hive

1. 上传压缩包

上传到/export/server目录下

bash 复制代码
tar -zxvf apache-hive-3.1.3-bin.tar.gz

删除压缩包

bash 复制代码
rm -rf apache-hive-3.1.3-bin.tar.gz

修改目录名

bash 复制代码
mv apache-hive-3.1.3-bin/ hive

2. 下载MySQL驱动包

下载地址:https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.29/mysql-connector-java-8.0.29.jar

将下载好的jar包放到hive文件夹的/lib目录下

3. 配置Hive

bash 复制代码
vim /export/server/hive/conf/hive-env.sh
bash 复制代码
export HADOOP_HOME=/export/server/hadoop
export HIVE_CONF_DIR=/export/server/hive/conf
export HIVE_AUX_JARS_PATH=/export/server/hive/lib
bash 复制代码
vim /export/server/hive/conf/hive-site.xml
xml 复制代码
<configuration>
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://feilink1:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8&amp;allowPublicKeyRetrieval=true</value>
    </property>

    <property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.cj.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.server2.thrift.bind.host</name>
        <value>feilink1</value>
    </property>

    <property>
        <name>hive.metastore.uris</name>
        <value>thrift://feilink1:9083</value>
    </property>

    <property>
        <name>hive.metastore.event.db.notification.api.auth</name>
        <value>false</value>
    </property>
    <property>
        <name>hive.metastore.warehouse.dir</name>
        <value>/user/hive/warehouse</value>
    </property>

</configuration>

五、初始化元数据库

在mysql中执行

bash 复制代码
CREATE DATABASE hive CHARSET UTF8;
GRANT ALL PRIVILEGES ON hive.* TO 'root'@'%';
FLUSH PRIVILEGES;

执行元数据库初始化命令

bash 复制代码
cd /export/server/hive/
bin/schematool -initSchema -dbType mysql -verbos

初始化成功

初始化成功后,会在MySQL的hive库中新建74张元数据管理的表

sql 复制代码
use hive;
show tables;

六、启动Hive

1. 权限配置

创建日志文件夹

bash 复制代码
mkdir /export/server/hive/logs

修改权限

bash 复制代码
chown -R hadoop:hadoop /export/server/hive

切换用户

bash 复制代码
su hadoop

2. 启动Hadoop

bash 复制代码
start-all.sh

3. 启动元数据服务(二选一)

前台启动

bash 复制代码
bin/hive --service metastore

后台启动

bash 复制代码
nohup bin/hive --service metastore >> logs/metastore.log 2>&1 &

4. 启动客户端(二选一)

Hive Shell方式(可以直接写SQL)

bash 复制代码
bin/hive

Hive ThriftServer方式(不能直接写SQL,需要配合外部客户端使用)

bash 复制代码
bin/hive --service hiveserver2
# 后台启动
nohup bin/hiveserver2 > /export/logs/hiveserver2.log 2>&1 &

5. 启动成功

相关推荐
blueSatchel1 小时前
U-Boot启动后做的事情
linux·u-boot
senijusene1 小时前
Linux软件编程: Linux 操作系统基础与shell脚本
linux·运维·chrome
张彦峰ZYF1 小时前
一套「策略化 Elasticsearch 召回平台」架构设计思路
大数据·elasticsearch·搜索引擎
Giggle12181 小时前
外卖 O2O 系统怎么选?从架构到部署方式的完整拆解
大数据·架构
予枫的编程笔记2 小时前
【Linux进阶篇】Linux后台运行避坑指南:nohup、& 用法及Systemd守护进程实操
linux·进程管理·linux运维·nohup·systemctl·ps命令·kill命令
code monkey.2 小时前
【Linux之旅】Linux 进程间通信(IPC)全解析:从管道到共享内存,吃透进程协作核心
linux·c++·ipc
九.九2 小时前
CANN 算子生态的底层安全与驱动依赖:固件校验与算子安全边界的强化
大数据·数据库·安全
匆匆那年9672 小时前
llamafactory推理消除模型的随机性
linux·服务器·学习·ubuntu
好好学习天天向上~~2 小时前
5_Linux学习总结_vim
linux·学习·vim
Coder个人博客7 小时前
Linux6.19-ARM64 mm mmu子模块深入分析
大数据·linux·车载系统·系统架构·系统安全·鸿蒙系统