Hive在虚拟机中的部署

安装Mysql数据库

# 更新密钥
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
# 安装Mysql yum库
rpm -Uvh http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm
# yum安装Mysql
yum -y install mysql-community-server
# 启动Mysql设置开机启动
systemctl start mysqld
systemctl enable mysqld
# 检查Mysql服务状态
systemctl status mysqld
# 在日志文件中查看密码
cat /var/log/mysqld.log | grep 'password'
# 登录mysql
mysql -uroot -p
# 设置密码策略较宽松
set global validate_password_policy=LOW;
# 指定密码的最小长度要求
set global validate_password_length=4;
# 修改密码
alter user 'root'@'localhost' identified by '123456';
# 授予远程主机密码
grant all privileges on *.* to root@'%' identified by '123456' with grant option;
# 刷新权限
flush privileges;

在这里记录一下关于前三步我的疑惑,前三步是否存在一定的依赖关系:

  1. 更新密钥:
    • rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022:这个命令用于导入 MySQL 的 GPG 密钥,以确保后续安装过程中可以验证软件包的真实性和完整性。这是为了防止安装恶意软件包或被篡改的软件包。
  2. 安装 MySQL Yum 存储库:
    • rpm -Uvh http://repo.mysql.com//mysql57-community-release-el7-7.noarch.rpm:这个命令用于安装 MySQL 的 Yum 存储库,以便从存储库中获取 MySQL 软件包进行安装。在安装 MySQL 之前,需要先配置好正确的软件源,这样才能通过 yum 获取并安装 MySQL 软件包。
  3. 使用 yum 安装 MySQL:
    • yum -y install mysql-community-service:这个命令用于使用 yum 安装 MySQL 社区版的服务软件包。在安装前两个步骤完成后,才能通过 yum 从配置好的存储库中获取并安装 MySQL 服务软件包。

因此,这三个步骤之间是有依赖关系的。首先需要导入 MySQL 的 GPG 密钥,然后安装 MySQL 的 Yum 存储库,最后才能使用 yum 安装 MySQL 服务软件包。这样的顺序可以确保安装过程中所需的软件源和验证机制都得到了正确配置,从而顺利地安装 MySQL。

配置Hadoop

    <!-- 用于指定代理用户的访问权限 --><property><name>hadoop.proxyuser.hadoop.hosts</name><value>*</value></property><!-- 用于指定代理用户的访问权限所属的用户组 --><property><name>hadoop.proxyuser.hadoop.groups</name><value>*</value></property>

下载解压Hive

官网下载地址:https://archive.apache.org/dist/hive/

下载真的太慢了,来这里下载吧。https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-3.1.2/

同时,还需要下载数据库驱动。https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.34/mysql-connector-java-5.1.34.jar将驱动放置在hive下的lib包中。

配置Hive

配置环境变量

[atguigu@hadoop102 conf]$ cat hive-env.sh 
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export HIVE_CONF_DIR=/opt/module/hive-3.1.2/
export HIVE_AUX_JARS_PATH = /opt/module/hive-3.1.2/lib

配置hive-site.xml

[atguigu@hadoop102 conf]$ cat hive-site.xml 
<configuration><property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://hadoop102:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8</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>123456</value></property><property><name>hive.server2.thrift.bind.host</name><value>hadoop102</value></property><property><name>hive.metastore.uris</name><value>thrift://hadoop102:9083</value></property><property><name>hive.metastore.event.db.notification.api.auth</name><value>false</value></property>
</configuration>

到目前位置,Hive的配置已经完成,现在在启动Hive前,需要先初始化Hive所需的元数据库。

初始化元数据库

hive:小兄弟,没想到吧,咱可不是随便的人。😄

[atguigu@hadoop102 bin]$ ./schematool -initSchema -dbType mysql -verbos
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/opt/module/hive-3.1.2/lib/log4j-slf4j-impl-2.10.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/opt/module/hadoop-3.1.3/share/hadoop/common/lib/slf4j-log4j12-1.7.25.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]

错误原因:系统找不到这个类所在的jar包或者jar包的版本不一样系统不知道使用哪个。hive启动报错的原因是后者。

解决办法:

1、com.google.common.base.Preconditions.checkArgument这个类所在的jar包为:guava.jar

2、hadoop-3.2.1(路径:hadoop\share\hadoop\common\lib)中该jar包为 guava-27.0-jre.jar;而hive-3.1.2(路径:hive/lib)中该jar包为guava-19.0.1.jar

3、将jar包变成一致的版本:删除hive中低版本jar包,将hadoop中高版本的复制到hive的lib中。

启动Hive

后台启动:nohup bin/hive --service metastore >> logs/metastore.log 2>&1 &

查看日志:tail -f metastore.log

启动客户端,Hive Shell方式(可以直接写SQL):bin/hive

对hive的操作,具体看看这位博主的博客,很全呢。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/773617.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【工具类】git log 常用别名,git log 干活,git log常用参数

git log 常用参数及 .gitconfig 配置 git log 常用参数及 .gitconfig 配置 干货&#xff0c;执行下边命令&#xff0c;添加别名git log 参数参考资料 干货&#xff0c;执行下边命令&#xff0c;添加别名 注意&#xff0c;需要将 knowledgebao 修改为自己的名字&#xff0c;…

AD域---共享文件夹-容量配额管理

域环境共享文件夹-容量配额管理 要求 1/李斯用户配额10G云盘空间&#xff0c;张珊用户配额30G云盘空间 2/D:\ 配额-启用配额-启用配额管理-拒绝将磁盘空间给超过配额限制的用户-勾选 3/将磁盘空间限制为:55GB&#xff0c;将警告等级设为50GB 4/选择该卷的配额记录选项-勾选…

道可云元宇宙每日资讯|上海以web3.0为主攻方向打造元宇宙高地

道可云元宇宙每日简报&#xff08;2024年3月26日&#xff09;讯&#xff0c;今日元宇宙新鲜事有&#xff1a; 江苏无锡设立5000万元算力券资金 近日&#xff0c;无锡市算力赋能人工智能产业发展暨算力应用政策发布会召开&#xff0c;《关于加快推进算力发展和应用的实施意见》…

12 mybatis 动态sql2

文章目录 user.sqlpom.xmlmybatis-config.xmllogback.xmlUserMapper.xmlUserMapper.javaUserMapperTest.java user.sql create table user (user_id int auto_incrementprimary key,user_name varchar(50) not null,password_hash varchar(…

大型集团公司企业文化知识竞活动赛策划方案

一场高端企业文化知识竞赛活动完整策划书&#xff0c;按诗词大会舞美标准进行设计&#xff0c;竞赛规则新颖&#xff0c;值得收藏。 天纵高端知识竞赛服务商&#xff0c;20多年现场经验和软硬件开发。 专业承办全国高端知识竞赛活动。线上线下各类竞赛活动均可执行&#xff0c;…

网络问题排查方案

PC上不了网初步排查方案步骤 首先查看配置是否正确&#xff0c;是否使用自动获取&#xff08;DHCP&#xff09;IP&#xff0c;掩码&#xff0c;网关&#xff0c;如果不是&#xff0c;手动配置确认网关&#xff0c;子网掩码&#xff0c;IP是否配置正确&#xff0c;IP是否已有PC使…

鸿蒙开发之了解ArkTS

鸿蒙开发者官网 &#xff1a; https://developer.huawei.com/consumer/cn/ 开发鸿蒙要用的软件是 DevEco Studio ArkTS建立在JS和TS的基础之上&#xff0c;扩展了声明式UI开发范式和状态管理&#xff0c;提供更简洁和自然的开发方式。 ArkTS引入了渲染引擎的增强&#xff0c…

Python 3 教程(8)

heisenbug601 601***902@qq.com 参考地址 311 tuple和list非常类似,但是tuple一旦初始化就不能修改,比如同样是列出同学的名字: 代码如下: >>> classmates = (Michael, Bob, Tracy) 现在,classmates这个tuple不能变了,它也没有append(),insert()这样的方法…

04. 【Android教程】Android 工程解析及使用

在上一章中已经搭建好了 Android 开发环境&#xff0c;本章我们将一起通过 Eclipse 创建我们的第一个 Android App。 1. 创建 Android 工程 首先打开 Eclipse&#xff0c;在菜单栏依次选择“New” -> “Android App Project”。如果是第一次创建&#xff0c;可能没有“Andr…

ChatGPT,来一份3·28雷布斯米时捷上市发布会即时发言稿

你新招了一个秘书。上班第一天&#xff0c;你对他说&#xff1a;“3月28号我可能会受邀参加雷老板的米时捷’上市发布会&#xff0c;届时我可能会有十分钟的发言机会&#xff0c;你现在准备一篇演讲稿。” 秘书问你有何指导意见&#xff1f; 你自己都不知说啥子&#xff0c;能…

gcc任意版本安装流程(linux)

一.更换镜像源 仅仅针对有需要换镜像需求的用户 sudo gedit /etc/apt/sources.list 用于在基于Debian的Linux发行版&#xff08;如Ubuntu&#xff09;上用来编辑软件源列表的命令。 我们更换阿里源&#xff1a; deb http://mirrors.aliyun.com/ubuntu/ focal main restricted…

fl studio21.2中文版下载及使用基础教学

FL Studio 21.2.2是一款功能强大的音乐制作软件&#xff0c;也被广大用户称为“水果编曲”。这款软件支持简体中文和英语&#xff0c;适用于Windows 10/11&#xff08;仅限64位&#xff09;以及MacOS 10.13.6或更高版本的系统。 在FL Studio 21.2.2中&#xff0c;用户可以享受…

AI论文速读 | 【综述】用于轨迹数据管理和挖掘的深度学习:综述与展望

论文标题&#xff1a;Deep Learning for Trajectory Data Management and Mining: A Survey and Beyond 作者&#xff1a;Wei Chen(陈伟), Yuxuan Liang(梁宇轩), Yuanshao Zhu, Yanchuan Chang, Kang Luo, Haomin Wen(温皓珉), Lei Li, Yanwei Yu(于彦伟), Qingsong Wen(文青…

【PADS 原理图Logic发送网表元器件丢失的解决办法】

1、PADS版本&#xff1a;VX1.2 2、PADS Logic原理图导入PCB Layout后&#xff0c;发现总有几个元器件怎么导都不会显示在PADS Layout上&#xff0c;如下图&#xff1a; PADS Logic上也选择了封装&#xff0c;还是不行&#xff0c;如下图&#xff1a; 3、解决办法&#xff1a; …

深入了解 Postman 请求头的使用方法

当你在使用 Postman 发送请求时&#xff0c;请求头&#xff08;Headers&#xff09;是你可以包含在 HTTP 请求中的重要部分之一。请求头包含了关于请求的元数据信息&#xff0c;这些信息对于服务器来处理请求是非常重要的。下面是一份详细的图文介绍&#xff0c;说明了如何在 P…

电源模块 YULIN俞霖科技DC/DC电源模块 直流升压 高压稳压

Features 最低工作电压&#xff1a;0.7V电压隔离&#xff1a;1000VDC /3000VDC 平均无故障时间&#xff1a; > 800,000 小时短路与电弧保护无最低负载要求&#xff1a;可空载工作输入电压&#xff1a;5、12、15、24VDCOutput 100,200、300、400、500 、600、800、 1000、1…

特征工程 | 特征选择、特征降维

目录 一. 特征选择1. 方差选择法2. 相关系数法3. 卡方检验 二. 特征降维1. LDA(线性判别分析法)2. PCA(主成分析法) 一. 特征选择 特征选择的目的是从原有特征中找出主要特征&#xff0c;原始特征可能包含冗余或无关变量&#xff08;或称特征、属性、指标等&#xff09; 手工 …

共享旅游卡是怎么一回事?600字讲解

在当今的旅游行业中&#xff0c;有一种创新的旅游服务方式正悄然兴起。它通过互联网等先进技术的运用&#xff0c;为游客提供了全方位的旅行支持&#xff0c;从出行到住宿&#xff0c;从餐饮到景点门票&#xff0c;一应俱全。这种服务模式为游客带来了前所未有的便捷与舒适&…

C# CSV 文件读取的三种方式分析

1 、文件流 字符串分割&#xff08;“&#xff0c;”&#xff09;&#xff0c;缺点&#xff1a;数据中如果有“&#xff0c;”&#xff0c;会出现分割错误。 public DataTable readCsvSql(string filepath) {FileStream fs new FileStream(filePath, FileMode.Open, FileAcc…

二刷代码随想录——单调栈day59

文章目录 前言单调栈知识点 单调栈的特点一、503. 下一个更大元素 II二、42. 接雨水总结 前言 一个本硕双非的小菜鸡&#xff0c;备战24年秋招&#xff0c;计划二刷完卡子哥的刷题计划&#xff0c;加油&#xff01; 二刷决定精刷了&#xff0c;于是参加了卡子哥的刷题班&#…