Hive 3.x的安装部署 - Ubuntu

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: Hive 3.x的安装部署 - Ubuntu

一、Hive简介

1. 什么是Hive

Hive是一个基于Hadoop的数据仓库解决方案,用于存储和处理大规模数据。它提供了类似SQL的查询语言(HiveQL)以便于分析和查询数据。

2. Hive的特性

  • Hive特点
  • HiveQL【SQL-like查询语言】
  • 存储和计算分离
  • 可扩展性和容错性
  • 数据仓库功能
  • 自定义函数和自定义聚合函数
  • Hive3新特性
  • 事务支持
  • 性能优化
  • 安全性增强
  • 添加数据湖功能
  • 更多数据类型和函数

二、Hive安装

1. 前置环境

  • Hive本身的运行需要JDK环境
  • Hive需要将数据存储在HDFS
  • Hive需要将元数据存储在关系型数据库

2. 下载安装

  • 选择版本

点击选择需要的版本,可以使用wget直接下载到Linux系统。

3. 软件配置

  • 解压安装
tar -zvxf apache-hive-3.1.3-bin.tar.gz
  • 环境变量配置

编辑.bashrc文件,修改并保存

export HIVE_HOME=/home/hadoop/apache-hive-3.1.3-bin
export PATH=$PATH:$HIVE_HOME/bin

退出后使用source命令刷新

source ~/.bashrc

三、启动验证

1. 元数据初始化

Hive在使用前需要将元数据保存在关系型数据库中,将表数据保存在HDFS,需要保证对应服务开启。

这里以MySQL为例,如果使用该数据库作为元数据存储位置,需要使得Hive能够连接到数据库,因此需要在lib目录下放入驱动jar包:

cd $HIVE_HOME/lib
wget https://repo1.maven.org/maven2/com/mysql/mysql-connector-j/8.0.32/mysql-connector-j-8.0.32.jar
  • 编辑配置文件

在Hive的配置文件中需要指定MySQL的连接信息,包括连接地址、用户名以及密码等:

cd $HIVE_HOME/conf
# 创建一个新的hive-site.xml
vi hive-site.xml
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://localhost:3306/hive_metastore?createDatabaseIfNotExist=true&amp;useSSL=false&amp;serverTimezone=UTC</value>
    <description>Metadata store connection URL</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.cj.jdbc.Driver</value>
    <description>Metadata store JDBC driver</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>root</value>
    <description>Metadata store username</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>root</value>
    <description>Metadata store password</description>
  </property>
</configuration>
  • 执行初始化脚本
schematool -initSchema -dbType mysql

结尾会出现Initialization script completedschemaTool completed证明成功。

2. 启动测试

在Hive安装完成后,可以使用hive命令直接开启一个连接,默认会出现一个default数据库:

3. HiveServer2与Beeline

完成以上步骤后,已经可以随时通过客户端命令对Hive进行访问,但是很多时候我们需要基于Hive进行开发或在代码中进行访问。此时,需要开启hiveserver2服务,能够方便的处理客户端发起的连接。

  • HiveServer2主要作用

处理来自客户端的连接和请求;执行客户端提交的查询;支持多用户并发操作和认证;提供 JDBC/ODBC 接口,使外部应用程序和工具能够访问 Hive 数据仓库。

  • Beeline介绍

Beeline 是一个基于 JDBC 的 Hive 客户端工具,用于连接到 HiveServer2 并执行查询。它采用命令行界面,用户可以在命令行中输入 SQL 查询并查看结果。通常我们会使用Beeline来测试HiveServer2服务是否正常工作。

  • 开启远程连接

可以使用以下命令开启一个HiveServer2服务,监听10000端口,允许来自任意地址的机器进行远程连接。

nohup hive --service hiveserver2 --hiveconf hive.server2.thrift.bind.host=0.0.0.0 --hiveconf hive.server2.thrift.port=10000 &

也可以将以上命令中出现的两个配置写入到hive-site.xml文件中,在启动时即可省略。

  • 开启代理权限

开启远程连接后,需要在Hadoop中配置代理用户,或是允许所有用户都可以连接,修改core-site.xml文件:

<property>
  <name>hadoop.proxyuser.hadoop.hosts</name>
  <value>*</value>
</property>
<property>
  <name>hadoop.proxyuser.hadoop.groups</name>
  <value>*</value>
</property>

其中proxyuser后面的名称需要实际替换为启动Hadoop进程的用户,如:hadoop。

修改配置文件后要重启Hadoop服务,如果是分布式集群,需要同步配置文件。

  • Beeline测试

开启HiveServer2服务后,使用以下命令进行连接测试

beeline -u jdbc:hive2://hadoop:10000

退出时使用 !quit

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
4月前
|
XML Ubuntu Linux
部署08---扩展-Win10配置WSL(Ubuntu)环境,WSL系统是什么意思,是Windows系统上的一个子系统, xml的一大特点是直链系统,直接链接你的CPU,硬盘和内存,如何用 WSL部署
部署08---扩展-Win10配置WSL(Ubuntu)环境,WSL系统是什么意思,是Windows系统上的一个子系统, xml的一大特点是直链系统,直接链接你的CPU,硬盘和内存,如何用 WSL部署
|
1月前
|
Ubuntu 测试技术 网络安全
Ubuntu系统下部署flatpress轻量级博客系统
【10月更文挑战第3天】Ubuntu系统下部署flatpress轻量级博客系统
47 3
Ubuntu系统下部署flatpress轻量级博客系统
|
1月前
|
Ubuntu API Python
Chat-TTS chat-tts-ui 实机部署上手测试!Ubuntu服务器实机 2070Super*2 8GB部署全流程
Chat-TTS chat-tts-ui 实机部署上手测试!Ubuntu服务器实机 2070Super*2 8GB部署全流程
65 1
|
1月前
|
Kubernetes 网络安全 容器
基于Ubuntu-22.04安装K8s-v1.28.2实验(一)部署K8s
基于Ubuntu-22.04安装K8s-v1.28.2实验(一)部署K8s
206 2
|
2月前
|
存储 关系型数据库 文件存储
Ubuntu22.04LTS基于cephadm快速部署Ceph Reef(18.2.X)集群
这篇文章是关于如何在Ubuntu 22.04LTS上使用cephadm工具快速部署Ceph Reef(18.2.X)存储集群的详细教程,包括ceph的基本概念、集群的搭建步骤、集群管理以及测试集群可用性等内容。
450 8
Ubuntu22.04LTS基于cephadm快速部署Ceph Reef(18.2.X)集群
|
2月前
|
Ubuntu 数据安全/隐私保护
Ubuntu22.04LTS环境部署实战
这篇文章提供了Ubuntu 22.04 LTS操作系统的详细安装步骤,包括选择语言、键盘布局、网络配置、软件源设置、磁盘分区、安装OpenSSH服务以及完成安装和首次登录系统的过程。
214 6
Ubuntu22.04LTS环境部署实战
|
2月前
|
存储 Kubernetes Ubuntu
Ubuntu 22.04LTS版本二进制部署K8S 1.30+版本
这篇文章详细介绍了在Ubuntu 22.04 LTS系统上使用VMware Fusion虚拟化软件部署Kubernetes 1.30+版本的完整过程,包括环境准备、安装containerd、配置etcd、生成证书、部署高可用组件、启动Kubernetes核心组件以及网络插件的部署和故障排查。
144 4
|
2月前
|
Kubernetes Ubuntu 网络安全
Ubuntu基于kubeadm快速部署K8S实战
关于如何在Ubuntu系统上使用kubeadm工具快速部署Kubernetes集群的详细实战指南。
177 2
|
2月前
|
Ubuntu 开发工具 git
在Ubuntu上部署BOA服务器的步骤
部署BOA服务器是一个涉及多个步骤的过程,包括系统更新、安装依赖、下载和编译源代码、配置服务器以及启动和验证。遵循上述步骤,可以在Ubuntu系统上成功部署BOA服务器,为开发和测试提供一个轻量级的Web服务器环境。
63 0
|
3月前
|
机器学习/深度学习 Ubuntu 数据挖掘
Ubuntu系统部署Anaconda环境及Python语言的详细流程
以上就是在Ubuntu系统中安装Anaconda环境及Python语言的详细流程。Anaconda为Python科学计算提供了便捷的管理方式,帮助用户轻松处理不同项目之间依赖管理的复杂性。通过以上步骤,你现在应该有了一个完全可用的Anaconda环境,可以开始在Ubuntu上进行Python编程和数据科学项目的探索了。
78 5