基于Linux安装Hive

Hive安装包下载地址

Index of /dist/hive

上传解压

复制代码
[root@master opt]# cd /usr/local/
[root@master local]# tar -zxvf /opt/apache-hive-3.1.2-bin.tar.gz

重命名及更改权限

复制代码
mv apache-hive-3.1.2-bin hive

chown -R hadoop:hadoop hive

配置环境变量

bash 复制代码
#编辑配置
vi /etc/profile
#配置hive环境变量
export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin
#source使其生效
source /etc/profile

添加Hive核心配置,选择远程MySQL模式

XML 复制代码
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://master:3306/hivedb?createDatabaseIfNotExist=true&amp;characterEncoding=UTF-8&amp;useSSL=false&amp;serverTimezone=GMT</value>
</property>

<property>
        <name>javax.jdo.option.ConnectionDriverName</name>
        <value>com.mysql.cj.jdbc.Driver</value>
</property>

<!-- 修改为自己的Mysql账号 -->
<property>
        <name>javax.jdo.option.ConnectionUserName</name>
        <value>root</value>
</property>

<!-- 修改为你自己的Mysql密码 -->
<property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>root</value>
</property>

<!-- 忽略HIVE 元数据库版本的校验,如果非要校验就得进入MYSQL升级版本 -->
<property>
        <name>hive.metastore.schema.verification</name>
        <value>false</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>

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

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

下载连接MySQL的驱动包到hive的lib目录下

bash 复制代码
cd /opt
# 下载MySQL驱动包
wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.17/mysql-connector-java-8.0.17.jar

cp mysql-connector-java-8.0.17.jar /usr/local/hive/lib/

mysql创建Hive的元数据存储库

bash 复制代码
登录mysql
mysql -u root -p
#创建hive元数据库
create databases hive
 #这个hive数据库与hive-site.xml中localhost:3306/hive的hive对应,两者名称必须一致,用来保存hive元数据

Hive初始化

bash 复制代码
cd /usr/local/hive/bin 

./schematool -initSchema -dbType mysql
#使用Hive自带的schematool工具升级元数据,也就是把最新的元数据重新写入MySQL数据库中。
可以在终端中执行如下命令(注意,不是在"mysql>"命令提示下执行):

成功会出现下面两行

注:如果初始化失败了,要将hivedb中的ctlgs表删掉再初始化---->

不然启动会报错

Error: Table 'ctlgs' already exists (state=42S01,code=1050) org.apache.hadoop.hive.metastore.HiveMetaException: Schema initialization FAILED! Metastore state would be inconsistent !! Underlying cause: java.io.IOException : Schema script failed, errorcode 2 Use --verbose for detailed stacktrace. *** schemaTool failed ***

启动Hive

我已配置环境变量,所以直接在任意目录下执行hive即可

bash 复制代码
#启动hadoop集群
cd /usr/local/hadoop #进入Hadoop安装目录
./sbin/start-all.sh
#启动hive
[root@master bin]# hive

#如果没配置环境变量,则要用下面的方式启动
cd /usr/local/hive
./bin/hive

一些简单测试Hive操作:

bash 复制代码
create database hive;


create table test1(id int,area string);
INSERT INTO test1 (id, area) VALUES (1, 'beijing');
select * from test1;

参考文章:

Hive安装超详细教程 - 掘金

Hive3.1.3安装和使用指南_厦大数据库实验室博客

Hadoop+Hive三节点集群环境搭建-CSDN博客

hive添加用户_mob64ca12dba5b0的技术博客_51CTO博客

相关推荐
夜影风36 分钟前
Linux系统中自签名HTTPS证书
linux·运维·https
wb18940 分钟前
流编辑器sed
运维·笔记·ubuntu·云计算
成工小白2 小时前
【Linux】C语言模拟实现shell命令行(程序替换原理)
linux·运维·服务器
福理原乡大王3 小时前
Linux信号详解
linux·运维·服务器·c++·ubuntu·信号处理
G皮T3 小时前
【Elasticsearch】正排索引、倒排索引(含实战案例)
大数据·elasticsearch·搜索引擎·kibana·倒排索引·搜索·正排索引
锅锅是锅锅4 小时前
ubuntu调整硬盘大小-使用gparted
linux·ubuntu·硬盘·gparted
孙克旭_4 小时前
day031-Shell自动化编程-数组与案例
linux·运维·自动化
喜欢踢足球的老罗4 小时前
自动化模型管理:MediaPipe Android SDK 中的模型文件下载与加载机制
android·运维·自动化
遇见火星4 小时前
自动化KVM虚拟机创建脚本详解:从模板到高效部署的线上实践!
运维·自动化·kvm
火山引擎开发者社区4 小时前
TickIt:基于 LLM 的自动化 Oncall 升级
运维·自动化·火山引擎