ip代理提取网站源码,百度搜索推广官网,wordpress 安装 重定向循环,网站编辑怎么样文章目录 前言一、Hive部署#xff08;手动部署#xff09;下载Hive1. 上传安装包2. 解压Hive安装包2.1 解压2.2 重命名2.3 解决冲突2.3.1 解决guava冲突2.3.2 解决SLF4J冲突 3. 配置Hive3.1 配置Hive环境变量3.2 修改 hive-site.xml 配置文件3.3 配置MySQL驱动包3.3.1 下在M… 文章目录 前言一、Hive部署手动部署下载Hive1. 上传安装包2. 解压Hive安装包2.1 解压2.2 重命名2.3 解决冲突2.3.1 解决guava冲突2.3.2 解决SLF4J冲突 3. 配置Hive3.1 配置Hive环境变量3.2 修改 hive-site.xml 配置文件3.3 配置MySQL驱动包3.3.1 下在MySQL驱动包3.3.2 上传MySQL驱动包3.3.3 配置MySQL驱动包 4. 初始化MySQL上的存储hive元数据的数据库5. 进入Hive客户端6. 设置远程连接6.1 启动MetaStore服务6.2 启动HiveServer2服务6.3 进入Hive客户端 二、Hive HA高可用实现1. 在hadoop2部署hive1.1 安装配置hive1.2 设置环境变量1.3 设置远程连接 2. 在hadoop3部署hive2.1 安装配置hive2.2 设置环境变量2.3 设置远程连接 3. 测试远程连接 注意 前言
在大数据处理领域Hive 是一个强大的数据仓库工具能够提供数据的查询、分析和管理功能。它基于 Hadoop 构建允许用户使用类似 SQL 的查询语言HiveQL来操作存储在 Hadoop 分布式文件系统HDFS中的数据。本文将详细介绍如何手动部署 Hive 3.1.3包括从下载、安装到配置的每一个步骤。此外我们还将探讨如何在多台虚拟机上实现 Hive 的高可用性HA确保在集群环境中能够稳定高效地运行 Hive 服务。
通过本教程您将能够掌握 Hive 的基本部署和配置流程并了解如何在多个节点上设置 Hive以实现负载均衡和故障转移。 一、Hive部署手动部署
下载Hive
点击在华为镜像站下载Hvie3.1.3安装包https://repo.huaweicloud.com/apache/hive/hive-3.1.3/apache-hive-3.1.3-bin.tar.gz
1. 上传安装包
通过拖移的方式将下载的Hive安装包apache-hive-3.1.3-bin.tar.gz上传至虚拟机hadoop1的/export/software目录。 2. 解压Hive安装包
2.1 解压
在虚拟机hadoop1上传完成后将Hive安装包通过解压方式安装至/export/servers目录。
tar -zxvf /export/software/apache-hive-3.1.3-bin.tar.gz -C /export/servers/解压完成如下图所示。 2.2 重命名
在虚拟机hadoop1执行如下命令将apache-hive-3.1.3-bin重命名为hive-3.1.3。
mv /export/servers/apache-hive-3.1.3-bin /export/servers/hive-3.1.32.3 解决冲突
2.3.1 解决guava冲突
如下图所示hadoop中的guava与hive中的guava版本不一致会产生冲突需要把hive的guava更换为hadoop的guava高版本。 在虚拟机hadoop1执行如下命令解决guava冲突问题。
rm -f /export/servers/hive-3.1.3/lib/guava-19.0.jar
cp /export/servers/hadoop-3.3.0/share/hadoop/common/lib/guava-27.0-jre.jar /export/servers/hive-3.1.3/lib2.3.2 解决SLF4J冲突
在虚拟机hadoop1执行如下命令解决slf4j冲突问题。
rm -f /export/servers/hive-3.1.3/lib/log4j-slf4j-impl-2.17.1.jar3. 配置Hive
3.1 配置Hive环境变量
在虚拟机hadoop1执行如下命令设置Hive环境变量加载系统环境变量配置文件并查看环境变量是否配置成功。
echo /etc/profile
echo export HIVE_HOME/export/servers/hive-3.1.3 /etc/profile
echo export PATH$PATH:$HIVE_HOME/bin /etc/profile
source /etc/profile
echo $HIVE_HOME3.2 修改 hive-site.xml 配置文件
在虚拟机hadoop1使用cat命令把配置内容重定向并写入到 /export/servers/hive-3.1.3/conf/hive-site.xml 文件。
cat /export/servers/hive-3.1.3/conf/hive-site.xml EOF
?xml version1.0 encodingUTF-8 standaloneno?
?xml-stylesheet typetext/xsl hrefconfiguration.xsl?
configuration!-- 配置JDOJava Data Objects选项指定Hive元数据存储的数据库连接URL。这里使用的是MySQL数据库并且如果数据库不存在则自动创建。 --propertynamejavax.jdo.option.ConnectionURL/namevaluejdbc:mysql://hadoop1:3306/hive?createDatabaseIfNotExisttrue/value/property!-- 指定用于连接数据库的JDBC驱动类名 --propertynamejavax.jdo.option.ConnectionDriverName/namevaluecom.mysql.cj.jdbc.Driver/value/property!-- 数据库连接用户名 --propertynamejavax.jdo.option.ConnectionUserName/namevalueroot/value/property!-- 数据库连接密码 --propertynamejavax.jdo.option.ConnectionPassword/namevalue123456/value/property!-- 指定Hive元数据仓库在HDFS上目录的位置 --propertynamehive.metastore.warehouse.dir/namevalue/user/hive_local/warehouse/value/property
/configuration
EOF3.3 配置MySQL驱动包
3.3.1 下在MySQL驱动包
点击下载MySQL驱动jar包https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.30/mysql-connector-java-8.0.30.jar
3.3.2 上传MySQL驱动包
通过拖移的方式将下载的MySQL驱动包上传至虚拟机hadoop1的/export/software目录。 3.3.3 配置MySQL驱动包
在虚拟机hadoop1执行如下命令复制MySQL驱动包到/export/servers/hive-3.1.3/lib目录下。
cp /export/software/mysql-connector-java-8.0.30.jar /export/servers/hive-3.1.3/lib/4. 初始化MySQL上的存储hive元数据的数据库
在虚拟机hadoop1执行如下命令初始化MySQL上的存储hive元数据的数据库。
schematool -initSchema -dbType mysql初始化完成如下图所示。 5. 进入Hive客户端
在访问Hive客户端之前由于Hive完全依赖于Hadoop集群因此需要先启动Hadoop集群。
start-all.sh在虚拟机hadoop1执行如下命令在本地进入Hive客户端。
hive退出Hive客户端。可以使用exit;命令或者按快捷键Ctrlc退出。
exit;6. 设置远程连接
Hive 提供了两种服务以支持用户的远程连接 MetaStore 服务MetaStore 服务负责管理 Hive 的元数据并通过与关系型数据库的连接来存储和检索这些元数据。 HiveServer2 服务HiveServer2 服务基于 Thrift 协议实现提供了通过 JDBC 和 ODBC 连接到 Hive 的功能。它依赖于 MetaStore 服务来获取元数据信息。用户在通过 HiveServer2 服务远程连接到 Hive 之前需要确保 MetaStore 服务已经启动并运行。
6.1 启动MetaStore服务
在虚拟机hadoop1执行如下命令后台启动MetaStore服务并指定日志输出位置。
mkdir -p /export/servers/hive-3.1.3/logs
nohup hive --service metastore /export/servers/hive-3.1.3/logs/metastore.log 21 可以使用如下命令查看启动后的MetaStore服务进程此时如果要停止MetaStore服务需要使用kill命令杀死对应进程。
ps -ef | grep hive6.2 启动HiveServer2服务
在虚拟机hadoop1执行如下命令后台启动HiveServer2服务并指定日志输出位置。
nohup hive --service hiveserver2 /export/servers/hive-3.1.3/logs/hiveserver2.log 21 可以使用如下命令查看启动后的HiveServer2服务进程此时如果要停止HiveServer2服务需要使用kill命令杀死对应进程。
ps -ef | grep hive6.3 进入Hive客户端
在虚拟机hadoop1执行如下命令远程进入Hive客户端。
beeline -u jdbc:hive2://hadoop1:10000 -n root参数 -u指定HiveServer2服务的JDBC URL。 jdbc:hive2://hadoop3:10000 中 hadoop3 是运行HiveServer2服务的服务器主机名。10000 是HiveServer2服务默认使用的端口号。 参数 -n指定连接HiveServer2服务时使用的用户名。 root 是用户名该用户必须具有操作HDFS的适当权限。 可以使用按快捷键Ctrlc退出客户端。 二、Hive HA高可用实现
1. 在hadoop2部署hive
1.1 安装配置hive
在虚拟机hadoop1上执行以下命令将配置好的 Hive 复制到虚拟机hadoop2。由于共享同一个元数据数据库和 HDFS 目录因此在 hadoop2 上无需初始化 Hive即可直接操作。
scp -r roothadoop1:/export/servers/hive-3.1.3 roothadoop2:/export/servers/1.2 设置环境变量
在虚拟机hadoop2执行如下命令设置Hive环境变量加载系统环境变量配置文件并查看环境变量是否配置成功。
echo /etc/profile
echo export HIVE_HOME/export/servers/hive-3.1.3 /etc/profile
echo export PATH$PATH:$HIVE_HOME/bin /etc/profile
source /etc/profile
echo $HIVE_HOME1.3 设置远程连接
在虚拟机hadoop2执行如下命令后台启动MetaStore服务和HiveServer2服务开启远程连接并指定日志输出位置。
mkdir -p /export/servers/hive-3.1.3/logs
nohup hive --service metastore /export/servers/hive-3.1.3/logs/metastore.log 21
nohup hive --service hiveserver2 /export/servers/hive-3.1.3/logs/hiveserver2.log 21 2. 在hadoop3部署hive
2.1 安装配置hive
在虚拟机hadoop1上执行以下命令将配置好的 Hive 复制到虚拟机hadoop3。由于共享同一个元数据数据库和 HDFS 目录因此在 hadoop3 上无需初始化 Hive即可直接操作。
scp -r roothadoop1:/export/servers/hive-3.1.3 roothadoop3:/export/servers/2.2 设置环境变量
在虚拟机hadoop3执行如下命令设置Hive环境变量加载系统环境变量配置文件并查看环境变量是否配置成功。
echo /etc/profile
echo export HIVE_HOME/export/servers/hive-3.1.3 /etc/profile
echo export PATH$PATH:$HIVE_HOME/bin /etc/profile
source /etc/profile
echo $HIVE_HOME2.3 设置远程连接
在虚拟机hadoop3执行如下命令后台启动MetaStore服务和HiveServer2服务开启远程连接并指定日志输出位置。
mkdir -p /export/servers/hive-3.1.3/logs
nohup hive --service metastore /export/servers/hive-3.1.3/logs/metastore.log 21
nohup hive --service hiveserver2 /export/servers/hive-3.1.3/logs/hiveserver2.log 21 3. 测试远程连接
在虚拟机hadoop1执行如下命令远程进入hadoop2的Hive客户端。
beeline -u jdbc:hive2://hadoop2:10000 -n root在虚拟机hadoop1执行如下命令远程进入hadoop3的Hive客户端。
beeline -u jdbc:hive2://hadoop3:10000 -n root注意
在Hive HA安装并配置完成后每当系统重启后为了确保Hive能够正常工作首先需要在虚拟机hadoop1执行如下命令启动Hadoop集群。
start-all.sh如果还需要支持远程连接功能则必须在虚拟机hadoop1、hadoop2和hadoop3执行如下命令启动Hive的MetaStore服务和HiveServer2服务。
mkdir -p /export/servers/hive-3.1.3/logs
nohup hive --service metastore /export/servers/hive-3.1.3/logs/metastore.log 21
nohup hive --service hiveserver2 /export/servers/hive-3.1.3/logs/hiveserver2.log 21