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 ...
随机推荐
- 【报错解决】【Linux】Name or service not known
# 配置文件位置 /etc/sysconfig/network-scripts/ # nano ifcfg-eth0查看网卡配置,确认dns已配置,且网关已配置 在虚拟机中添加临时路由网关(要与物理主 ...
- shell 下 exec,source,.,bash和sh以及export得区别
exec执行命令时,不会启用新的shell进程. source和 .也不会启用新的shell进程,在当前shell中执行,设定的局部变量在执行完命令后仍然有效. bash或sh执行时,会另起一个子 ...
- mysql命令行创建数据库并设置字符集
CREATE DATABASE test1 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
- Qt/C++最新地图组件发布/历时半年重构/同时支持各种地图内核/包括百度高德腾讯天地图
一.前言说明 最近花了半年时间,专门重构了整个地图组件,之前写的比较粗糙,有点为了完成功能而做的,没有考虑太多拓展性和易用性.这套地图自检这几年大量的实际项目和用户使用下来,反馈了不少很好的建议和意见 ...
- Qt编写可视化大屏电子看板系统27-模块5负荷分布
一.前言 负荷分布模块包括工序计划负荷.当日负荷.负荷百分比三个子模块,工序计划负荷用表格的形式展示不同工序在不同日期的负荷工作时长,比如组装工序在 2022-02-10 运行了88小时,一般表格显示 ...
- vs2017 iisexpress 绑定自定义域名
1.项目根目录找到 项目/.vs/config/applicationhost.config 2.添加绑定域名 <site name="demo" id="2&qu ...
- DateTimeExtensions:一个轻量C#的开源DateTime扩展方法库
推荐一个专门为System.DateTime编写的扩展方法库. 01 项目简介 该项目主要是为System.DateTime和System.DateTimeOffset的编写的扩展方法,包括自然日期差 ...
- linux下服务器稳定性压力测试工具stress安装使用介绍
linux下服务器稳定性压⼒测试⼯具stress安装使⽤介绍 一.简介 1.stress⼯具是Linux下一款压⼒测试⼯具, 可以模拟系统⾼负载运⾏ , 同时可协助我们进⾏软件稳 定性相关测试. ⼆. ...
- 【译】在分析器中使用 Meter Histogram(直方图)解锁见解
您是否正在与应用程序中的性能瓶颈作斗争?不要再观望了!Visual Studio 2022 在其性能分析套件中引入了 Meter Histogram(直方图)功能,为您提供了前所未有的分析和可视化直方 ...
- w3cschool-MyBatis 教程
参考 https://www.w3cschool.cn/mybatis/mybatis-dyr53b5w.html MyBatis 入门 SqlSessionFactoryBuilder用 SqlSe ...