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 ...
随机推荐
- aspirate 工具
dotnet tool aspirate https://www.nuget.org/packages/aspirate/0.1.40-preview 作为全局工具安装 dotnet tool ins ...
- GitHub主页3D图表显示
效果如图,项目来源于 yoshi389111/github-profile-3d-contrib: This GitHub Action creates a GitHub contribution c ...
- IntelliJ IDEA 导入项目后出现非法字符解决方法
1.Ctrl+Alt+S进入设置页面如图,更改为UTF-8 2.Ctrl+Alt+S进入设置页面如图,在箭头所指的位置填上 -encoding UTF8 3.清除文件中的BOM特殊不可见字符 选择项目 ...
- 硬件开发笔记(三十二):TPS54331电源设计(五):原理图BOM表导出、元器件封装核对
前言 一个12V转5V.3.3V和4V的电源电路设计好了,下一步导出BOM表,二次核对元器件型号封装,这是可以生产前的最后一步了. 导出BOM表 步骤一:打开原理图 打开项目,双击点开原理 ...
- Qt/C++地图轨迹回放/自定义图标/动态平滑移动/导入轨迹数据/支持各种地图包括天地图
一.前言说明 这个轨迹回放的功能迭代过很多个版本,最初的版本是轨迹点的坐标每次都是删除折线再重新生成折线,后面发现有内存泄漏,地图js中并不会及时的释放没有用的对象,哪怕是用地图提供的clearove ...
- Qt开发经验小技巧221-225
在对表格数据模型操作的时候,经常遇到一种场景就是,删除某条记录后,希望重新选中某一行.QTableView.QTableWidget本身就支持多选全选等操作,比如批量删除可以多选. //拿到表格数据模 ...
- Qt编写地图综合应用52-加载离线地图
一.前言 离线地图的加载其实和在线地图的加载方法几乎一样,唯一的最大区别就是,之前可能一个js文件引入即可,现在需要多个本地的js文件引入,而且网上流传的js文件的版本比较旧,意味着现在新版的支持op ...
- Qt编写的项目作品22-自定义委托全家桶
一.功能特点 可设置多种委托类型,例如复选框/文本框/下拉框/日期框/微调框/进度条等. 可设置是否密文显示,一般用于文本框. 可设置是否允许编辑,一般用于下拉框. 可设置是否禁用,一般用来禁用某列. ...
- FFmpeg命令行示例
1 提取视频流/音频流 // 分离视频流和音频流 ffmpeg -i input_file -vcodec copy -an output_file_video ffmpeg -i input_fil ...
- 这是我见过最通俗易懂的SVD(奇异值分解)算法介绍
线性代数是机器学习领域的基础,其中一个最重要的概念是奇异值分解(SVD),本文尽可能简洁的介绍SVD(奇异值分解)算法的基础理解,以及它在现实世界中的应用. SVD是最广泛使用的无监督学习算法之一,它 ...