Hive安装-内嵌模式

Hive会自动检测Hadoop的环境变量,如有就必须启动Hadoop

复制代码
上传 压缩包  /opt/modules
解压:
tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /opt/installs/
重命名:
mv apache-hive-3.1.2-bin/ hive
配置环境变量:vi /etc/profile
  export HIVE_HOME=/opt/installs/hive
  export PATH=$HIVE_HOME/bin:$PATH
刷新环境变量:
source /etc/profile
配置hive-env.sh
进入这个文件夹下:/opt/installs/hive/conf
cp hive-env.sh.template hive-env.sh
修改hive-env.sh 中的内容:
export HIVE_CONF_DIR=/opt/installs/hive/conf
export JAVA_HOME=/opt/installs/jdk
export HADOOP_HOME=/opt/installs/hadoop
export HIVE_AUX_JARS_PATH=/opt/installs/hive/lib

进入到conf 文件夹下,修改这个文件hive-site.xml
cp hive-default.xml.template hive-site.xml
接着开始修改:
把Hive-site.xml 中所有包含${system:java.io.tmpdir}替换成/opt/installs/hive/tmp。如果系统默认没有指定系统用户名,那么要把配置${system:user.name}替换成当前用户名root。

打开该文件,进行替换:

一个替换了4处

一个替换了4处

启动集群:

复制代码
start-all.sh

给hdfs创建文件夹:

复制代码
[root@yunhe01 conf] # hdfs dfs -mkdir -p /user/hive/warehouse 
[root@yunhe01 conf] # hdfs dfs -mkdir -p /tmp/hive/ 
[root@yunhe01 conf] # hdfs dfs -chmod 750 /user/hive/warehouse 
[root@yunhe01 conf] # hdfs dfs -chmod 777 /tmp/hive

初始化元数据,因为是内嵌模式,所以使用的数据库是derby

复制代码
schematool --initSchema -dbType derby

在hive-site.xml中,3215行,96列的地方有一个非法字符

将这个非法字符,删除,保存即可。

需要再次进行元数据的初始化操作:

复制代码
schematool --initSchema -dbType derby

提示初始化成功!

初始化操作要在hive的家目录执行,执行完毕之后,会出现一个文件夹:

测试是否成功:

复制代码
输入hive  进入后,可以编写sql
hive> show databases;
OK
default

测试内嵌模式

复制代码
-- 进入后可以执行下面命令进行操作:
hive>show databases;  	-- 查看数据库
hive>show tables;  	 	-- 查看表
-- 创建表
hive> create table dog(id int,name string);
hive> select * from dog;
hive> insert into dog values(1,'wangcai');
hive> desc dog; -- 查看表结构
hive> quit; -- 退出

但是内嵌模式有一个弊端:假如有一个窗口在使用你的hive,另一个窗口能进入,但是会报错!

相关推荐
chlk12317 小时前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
武子康17 小时前
大数据-237 离线数仓 - Hive 广告业务实战:ODS→DWD 事件解析、广告明细与转化分析落地
大数据·后端·apache hive
舒一笑18 小时前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件18 小时前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
大大大大晴天19 小时前
Flink生产问题排障-Kryo serializer scala extensions are not available
大数据·flink
深紫色的三北六号1 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash1 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI2 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行2 天前
Linux和window共享文件夹
linux
木心月转码ing3 天前
WSL+Cpp开发环境配置
linux