基于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博客

相关推荐
武子康1 小时前
大数据-98 Spark 从 DStream 到 Structured Streaming:Spark 实时计算的演进
大数据·后端·spark
阿里云大数据AI技术1 小时前
2025云栖大会·大数据AI参会攻略请查收!
大数据·人工智能
代码匠心4 小时前
从零开始学Flink:数据源
java·大数据·后端·flink
Lx3526 小时前
复杂MapReduce作业设计:多阶段处理的最佳实践
大数据·hadoop
武子康9 小时前
大数据-100 Spark DStream 转换操作全面总结:map、reduceByKey 到 transform 的实战案例
大数据·后端·spark
LH_R9 小时前
OneTerm开源堡垒机实战(四):访问授权与安全管控
运维·后端·安全
用户311879455921810 小时前
Kylin Linux 10 安装 glib2-devel-2.62.5-7.ky10.x86_64.rpm 方法(附安装包)
linux
expect7g10 小时前
Flink KeySelector
大数据·后端·flink
Raymond运维10 小时前
MariaDB源码编译安装(二)
运维·数据库·mariadb
涛啊涛10 小时前
Centos7非LVM根分区容量不足后扩容,对调硬盘挂载/
linux·磁盘管理