Hive - [02] 安装部署
一、相关链接地址
- Hive官网:https://hive.apache.org/
- Hive下载页面:https://downloads.apache.org/hive/
- 中科大镜像地址:http://mirrors.ustc.edu.cn/apache/hive/hive-3.1.2/
- 清华大学镜像地址:https://mirrors.tuna.tsinghua.edu.cn/apache/hive/
- 镜像地址:https://dlcdn.apache.org/hive/
二、准备工作
Hive版本:apache-hive-3.1.2,角色规划如下
| 节点 | node01 | node02 | node03 |
| server | ○ | ||
| client | ○ | ○ | ○ |
三、Local模式
以derby作为hive的元数据库
1、将 apache-hive-3.1.2-bin.tar.gz上传到 node03节点的 /opt/software 目录下,并解压到 /opt/module目录
[root@node03 software]# tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /opt/module/
[root@node03 software]# cd /opt/module/apache-hive-3.1.2-bin
[root@node03 apache-hive-3.1.2-bin]# ll
total 56
drwxr-xr-x 3 root root 157 Jun 7 00:19 bin
drwxr-xr-x 2 root root 4096 Jun 7 00:19 binary-package-licenses
drwxr-xr-x 2 root root 4096 Jun 7 00:19 conf
drwxr-xr-x 4 root root 34 Jun 7 00:19 examples
drwxr-xr-x 7 root root 68 Jun 7 00:19 hcatalog
drwxr-xr-x 2 root root 44 Jun 7 00:19 jdbc
drwxr-xr-x 4 root root 12288 Jun 7 00:19 lib
-rw-r--r-- 1 root root 20798 Aug 23 2019 LICENSE
-rw-r--r-- 1 root root 230 Aug 23 2019 NOTICE
-rw-r--r-- 1 root root 2469 Aug 23 2019 RELEASE_NOTES.txt
drwxr-xr-x 4 root root 35 Jun 7 00:19 scripts
2、修改配置文件 hive-env.sh,配置HADOOP_HOME
# 查看解压后的hive目录
[root@node03 apache-hive-3.1.2-bin]# cd conf/
[root@node03 conf]# ll
total 332
-rw-r--r-- 1 root root 1596 Aug 23 2019 beeline-log4j2.properties.template
-rw-r--r-- 1 root root 300482 Aug 23 2019 hive-default.xml.template
-rw-r--r-- 1 root root 2365 Aug 23 2019 hive-env.sh.template
-rw-r--r-- 1 root root 2274 Aug 23 2019 hive-exec-log4j2.properties.template
-rw-r--r-- 1 root root 3086 Aug 23 2019 hive-log4j2.properties.template
-rw-r--r-- 1 root root 2060 Aug 23 2019 ivysettings.xml
-rw-r--r-- 1 root root 3558 Aug 23 2019 llap-cli-log4j2.properties.template
-rw-r--r-- 1 root root 7163 Aug 23 2019 llap-daemon-log4j2.properties.template
-rw-r--r-- 1 root root 2662 Aug 23 2019 parquet-logging.properties
# 备份 hive-env.sh
[root@node03 conf]# cp -a hive-env.sh.template hive-env.sh
# 配置HADOOP_HOME
[root@node03 conf]# vim hive-env.sh
# 已配置HADOOP_HOME路径
[root@node03 conf]# cat hive-env.sh | grep -i HADOOP_HOME
# Set HADOOP_HOME to point to a specific hadoop install directory
# HADOOP_HOME=${bin}/../../hadoop
HADOOP_HOME=/opt/module/hadoop-2.5.2
[root@node03 conf]#
3、启动Zookeeper、HDFS(ZKFC、JournalNode、NameNode、DataNode)、Yarn(ResourceManager、NodeManager)
# 启动Zookeeper
cd /opt/module/zookeeper-3.4.5
bin/zkServer.sh restart
# 启动HDFS&Yarn
cd /opt/module/hadoop-2.5.2
sbin/start-all.sh
4、初始化配置(dbType=derby)
cd /opt/module/apache-hive-3.1.2-bin
bin/schematool -dbType derby -initSchema
初始化时,遇到如下报错,经过分析,是hadoop和hive的jar包冲突。

解决方法:从hadoop的guava-27.0-jre.jar拷贝到hive的lib目录中,guava-19.0.jar可以mv到其他地方。

具体操作命令如下
[root@node03 ~]# ll /opt/module/hadoop-3.2.1/share/hadoop/common/lib/guava-27.0-jre.jar
-rw-r--r-- 1 root root 2747878 9月 10 2019 /opt/module/hadoop-3.2.1/share/hadoop/common/lib/guava-27.0-jre.jar
[root@node03 ~]#
[root@node03 ~]# ll /opt/module/apache-hive-3.1.2-bin/lib/guava-19.0.jar
-rw-r--r-- 1 root root 2308517 9月 27 2018 /opt/module/apache-hive-3.1.2-bin/lib/guava-19.0.jar
[root@node03 ~]#
[root@node03 ~]# mkdir /home/bak_hive
[root@node03 ~]# mv /opt/module/apache-hive-3.1.2-bin/lib/guava-19.0.jar /home/bak_hive/
[root@node03 ~]# cp -a /opt/module/hadoop-3.2.1/share/hadoop/common/lib/guava-27.0-jre.jar /opt/module/apache-hive-3.1.2-bin/lib/
重新进行初始化

5、访问hive

四、单用户模式
以mysql作为hive的元数据库
1、如果在此之前部署并运行了Local模式,需要先将Local模式产生的文件(日志和元数据)清除掉

2、配置conf/hive-site.xml(hive-default.xml.template是hive配置的很多参数,可以清空,只写入下面demo的配置。)

<configuration>
<!-- Hive数据仓库存储的位置;Hadoop中HDFS的位置 -->
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/data/hive/data/</value>
</property>
<!-- 本地单用户启动 -->
<property>
<name>hive.metastore.local</name>
<value>true</value>
</property>
<!-- ------------------JDBC数据源配置------------------- -->
<!-- 连接路径 -->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.1.131:3306/hive?createDatabaseIfNotExist=true</value>
<!-- 创建数据库(true)、SSL(false)、时区(GMT)、批量执行(true)、返回主键(true) -->
</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>!QAZ2wsx..</value>
</property>
</configuration>
3、将mysql的jdbc jar包放到/opt/module/apache-hive-3.1.2-bin/lib下(我的mysql是8.0.28,所以是mysql-connector-java-8.0.28.jar)

4、在MySQL中授权root用户可以从任意主机连接

# 登录 MySQL(使用新设置的密码)
mysql -u root -p
# 授权 root 用户可以从任何 IP 访问
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'your_new_password' WITH GRANT OPTION;
# 如果你想限制特定的远程主机访问,可以替换 '%' 为具体的 IP 地址或网段
GRANT ALL PRIVILEGES ON *.* TO 'root'@'your_remote_ip_or_subnet' IDENTIFIED BY 'your_new_password' WITH GRANT OPTION;
# 刷新权限以应用更改
FLUSH PRIVILEGES;
5、初始化元数据,之后可以在mysql数据库中发现有一个hive的数据库,并且该数据库下有74张表。
bin/schematool -dyType mysql -initSchema

6、启动metastore(已测无效)
bin/hive -service metastore
7、访问hive,进行建库建表,然后观察hdfs上对应目录下的变化
bin/hive

8、向测试表插入几条数据,观察hdfs上该目录下的变化
五、多用户模式
— 要养成终生学习的习惯 —
Hive - [02] 安装部署的更多相关文章
- 【Hadoop离线基础总结】Hive的安装部署以及使用方式
Hive的安装部署以及使用方式 安装部署 Derby版hive直接使用 cd /export/softwares 将上传的hive软件包解压:tar -zxvf hive-1.1.0-cdh5.14. ...
- Hive的安装部署
1.环境准备 1.1软件版本 hive-0.14 下载地址 2.配置 安装hive的前提,必需安装好hadoop环境,可以参考我之前Hadoop社区版搭建,先搭建好hadoop环境:接下来我们开始配置 ...
- Hive学习之路(二)—— Linux环境下Hive的安装部署
一.安装Hive 1.1 下载并解压 下载所需版本的Hive,这里我下载版本为cdh5.15.2.下载地址:http://archive.cloudera.com/cdh5/cdh/5/ # 下载后进 ...
- Hive 系列(二)—— Linux 环境下 Hive 的安装部署
一.安装Hive 1.1 下载并解压 下载所需版本的 Hive,这里我下载版本为 cdh5.15.2.下载地址:http://archive.cloudera.com/cdh5/cdh/5/ # 下载 ...
- hive+postgres安装部署过程
master节点安装元数据库,采用postgres:#useradd postgres#password postgressu - postgreswget https://ftp.postgresq ...
- Hive基础概念、安装部署与基本使用
1. Hive简介 1.1 什么是Hive Hives是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能. 1.2 为什么使用Hive ① 直接使用 ...
- hive的本地安装部署,元数据存储到mysql中
要想使用Hive先要有hadoop集群的支持,使用本地把元数据存储在mysql中. mysql要可以远程连接: 可以设置user表,把localhost改为%,所有可连接.记住删除root其他用户,不 ...
- Hive 系列(一)安装部署
Hive 系列(一)安装部署 Hive 官网:http://hive.apache.org.参考手册 一.环境准备 JDK 1.8 :从 Oracle 官网下载,设置环境变量(JAVA_HOME.PA ...
- Hive环境的安装部署(完美安装)(集群内或集群外都适用)(含卸载自带mysql安装指定版本)
Hive环境的安装部署(完美安装)(集群内或集群外都适用)(含卸载自带mysql安装指定版本) Hive 安装依赖 Hadoop 的集群,它是运行在 Hadoop 的基础上. 所以在安装 Hive 之 ...
- Hive的安装与部署(MySQL作为元数据库)
Hive的安装与部署(MySQL作为元数据) (开始之前确保Hadoop环境已经启动,确保Linux下的MySQL已经安装好) 1. 安装Hive (1)下载安装包 可从apache上下载hi ...
随机推荐
- 企业IT基础资源管理的“帮帮团”上线啦——源启云原生基础设施管理平台
为助力企业提升基础资源一体化管理和交付效率,以更先进的基础设施管理方式来满足现代企业业务持续扩展和复杂化的需要,中电金信运用基础设施即代码(Infrastructure as Code,简称IaC)技 ...
- Xshell无法连接22端口问题解决办法汇总
Xshell软件在进行远程连接过程中,会出现端口连接报错的问题,提示:"该IP地址的22端口连接失败",这是怎么回事?今天小编就xshell软件无法连接22端口的问题,整理相关情形 ...
- 【Mybatis-Plus进阶学习(八)】SQL注入器
使用SQL注入器就可以自定义例如selectById的默认方法. 实现步骤Step1:创建定义方法的类:Step2:创建注入器:Step3:在Mapper中加入自定义方法. 自定义注入器的简单使用 第 ...
- Ubuntu22.04 LTS 安装nvidia显卡驱动
准备跑老师给定的Github上的多模态源码,但是用了这么久ubuntu还没有尝试过安装nvidia驱动,好在也是一次成功,于是记录下来. 借鉴的是https://blog.csdn.net/Eric_ ...
- jQuery ajax - serializeArray() 方法 实例表单提交
serializeArray()在ajax表单提交时候非常方便获取元素 定义和用法 serializeArray() 方法通过序列化表单值来创建对象数组(名称和值). 您可以选择一个或多个表单元素(比 ...
- Qt开源作品20-PNG图片警告去除工具
一.前言 在新版的Qt5中,我们之前在Qt4中使用的png图片,到了这里经常会报一个警告,libpng warning: iCCP: known incorrect sRGB profile,尽管这种 ...
- spark (四) RDD概念
目录 1. RDD基本概念 1.1 弹性 1.2 分布式 1.3 数据集 1.4 数据抽象 1.5 不可变 1.6 可分区.并行计算 2. WordCount为例,看RDD特性 3. RDD的五大属性 ...
- 神仙打架的一期「GitHub 热点速览」
由于上周出月刊「GitHub 热点速览」断更了一期,本期攒了两周的热门开源项目,真可谓是神仙打架! 这两天开源的大模型 DeepSeek-V3 凭借极低的训练成本和出色的评测表现,迅速出圈.开源仅 5 ...
- 2022 年数据科学研究综述:重点介绍 ML、DL、NLP 等
2022 年数据科学研究综述:重点介绍 ML.DL.NLP 等 当我们在 2022 年底临近时,我对许多著名研究小组完成的所有惊人工作感到振奋,他们将 AI.机器学习.深度学习和 NLP 的状态扩展到 ...
- 记一次cannot access its superinterface问题的的排查 → 强如Spring也一样写Bug
开心一刻 昨天在幼儿园,领着儿子在办公室跟他班主任聊他的情况 班主任:皓瑟,你跟我聊天是不是紧张呀 儿子:是的,老师 班主任:不用紧张,我虽然是你的班主任,但我也才22岁,你就把我当成班上的女同学 班 ...