news 2026/4/18 7:54:49

<span class=“js_title_inner“>Apache Hadoop生态组件部署分享-Hive</span>

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
<span class=“js_title_inner“>Apache Hadoop生态组件部署分享-Hive</span>

节点信息请参考:

zookeeper: Apache Hadoop生态组件部署分享-zookeeper

hadoop:Apache Hadoop生态组件部署分享-Hadoop

说明: 本次选择的tez版本为0.10.2 ,hive版本为3.1.3 .如果你后续不需要ranger其实可以提高版本hive4.0.1+tez0.10.4

tez编译

下载地址: https://dlcdn.apache.org/tez/

1、解压到指定路径下

2、修改pom.xml依赖

主要修改内容为: <hadoop.version>3.3.5</hadoop.version>

其次保证:protobuf.version为2.5.0(有点忘记有没有修改了)

3、开始执行命令编译

mvn clean package -DskipTests -Pnoui注: -Pnoui参数是跳过tez ui模块编译(一是编译会遇到非常多问题,二是感觉用不到 目前看cdp产品的tez ui也是打不开的)

4、编译成功后你会在apache-tez-0.10.2-src/tez-dist/target路径下找到tar包后续hive会用到

Hive集群部署

1、 分发解压并修改名称

#将安装包分发到其他两个节点ansible hadoopsrcclustero -m copy -a "src=/opt/softs/apache-hive-3.1.3-bin.tar.gz dest=src=/opt/softs/"#解压到指定路径ansible hadoopsrccluster -m shell -a "tar -xf /opt/softs/apache-hive-3.1.3-bin.tar.gz -C /opt/apache_v00"#为了稍显正式修改其名称ansible hadoopsrccluster -m shell -a "mv /opt/apache_v00/apache-hive-3.1.3-bin /opt/apache_v00/apache-hive-3.1.3"

2、hive集成tez前的准备工作

#在hdfs上创建存放tez安装包的路径hdfs dfs -mkdir -p /user/tez/pkg #将tez安装包上传至指定路径hdfs dfs -put /opt/softs/tez-0.10.2.tar.gz /user/tez/pkg

3、tez-site.xml配置

/opt/apache_v00/hadoop-3.3.5/etc/hadoop/tez-site.xml

<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><configuration><!-- 指定依赖位置 --><property> <name>tez.lib.uris</name> <value>hdfs://nameservice1/user/tez/pkg/tez-0.10.2.tar.gz</value></property><property> <description>控制 Tez 运行时是否使用集群环境中已存在的 Hadoop 库(如 HDFS、YARN、MapReduce 的 JAR 文件),而不是使用 Tez 自带的版本</description> <name>tez.use.cluster.hadoop-libs</name> <value>false</value></property><property> <name>tez.history.logging.service.class</name> <value>org.apache.tez.dag.history.logging.proto.ProtoHistoryLoggingService</value></property></configuration>

然后分发至其他节点以及hive-conf路径下

#分发至其他节点的hadoop conf下ansible hadoopsrcclustero -m copy -a "src=/opt/apache_v00/hadoop-3.3.5/etc/hadoop/tez-site.xml dest=/opt/apache_v00/hadoop-3.3.5/etc/hadoop/" #分发至其他节点的hive conf下ansible hadoopsrccluster -m copy -a "src=/opt/apache_v00/hadoop-3.3.5/etc/hadoop/tez-site.xml dest=/opt/apache_v00/apache-hive-3.1.3/conf"

这里需要重启hadoop集群才会生效,这个我们放在后面重启

4、hive-site.xml配置

/opt/apache_v00/apache-hive-3.1.3/conf/hive-site.xml

<configuration> <property> <description>用于metastore的JDBC连接信息</description> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://192.168.242.230:3306/hive3?allowMultiQueries=true&amp;useSSL=false&amp;verifyServerCertificate=false</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>hive</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>123456</value> </property> <property> <description>仓库的默认数据库位置</description> <name>hive.metastore.warehouse.dir</name> <value>/user/hive/warehouse</value> </property> <property> <description>绑定要运行HiveServer2 Thrift服务的主机。</description> <name>hive.server2.thrift.bind.host</name> <value>apache230.hadoop.com</value> </property> <property> <description>是否应对metastore针对数据库通知相关API(如get_next_notification)执行授权。如果设置为true,则只有代理设置中的超级用户才拥有该权限</description> <name>hive.metastore.event.db.notification.api.auth</name> <value>false</value> </property> <property> <description>远程metastore的Thrift URI。metastore客户端用于连接到远程metastore。</description> <name>hive.metastore.uris</name> <value>thrift://apache230.hadoop.com:9083,thrift://apache231.hadoop.com:9083</value> </property> <property> <description>需要指定 [tez, mr] 中的一种。选择执行引擎。可选项为:'tez'(Tez引擎,默认值),'mr'(MapReduce引擎,已弃用)。 MR是历史遗留引擎,在Hive 2系列中已被弃用,未来可能在没有进一步警告的情况下被移除。</description> <name>hive.execution.engine</name> <value>tez</value> </property> <!--strat hiveserver2高可用--><property><!--HiveServer2 是否支持客户端的动态服务发现。为支持此功能,当前每个 HiveServer2 实例在启动时都会使用 ZooKeeper 进行自我注册。JDBC/ODBC 客户端应在连接字符串中使用 ZooKeeper 集群:hive.zookeeper.quorum--> <name>hive.server2.support.dynamic.service.discovery</name> <value>true</value></property><property><!--在zk中的znode名称--> <name>hive.server2.zookeeper.namespace</name> <value>hiveserver2</value></property><property> <name>hive.zookeeper.quorum</name> <value>apache230.hadoop.com:2181,apache231.hadoop.com:2181,apache232.hadoop.com:2181</value></property><property> <name>hive.zookeeper.client.port</name> <value>2181</value></property><!--end hiveserver2高可用--></configuration>

分发至其他节点

#分发至其他节点的hive conf下ansible hadoopsrcclustero -m copy -a "src=/opt/apache_v00/apache-hive-3.1.3/conf/hive-site.xml dest=/opt/apache_v00/apache-hive-3.1.3/conf/"

此时修改其他两个节点绑定的hive.server2.thrift.bind.host 属性为各自主机名称

/opt/apache_v00/apache-hive-3.1.3/conf/hive-site.xml

5、配置hive环境变量

cat > /etc/profile.d/apache_v00.sh <<'EOF'export ZOOKEEPER_HOME=/opt/apache_v00/apache-zookeeper-3.9.2export HADOOP_HOME=/opt/apache_v00/hadoop-3.3.5export HIVE_HOME=/opt/apache_v00/apache-hive-3.1.3export TEZ_HOME=/opt/apache_v00/tez-0.10.3export PATH=$PATH:$ZOOKEEPER_HOME/bin:$HADOOP_HOME/bin:$HIVE_HOME/binEOFsource /etc/profile.d/apache_v00.sh

6、mysql库及权限准备

create database hive3;grant all privileges on hive3.* to 'hive'@'%' identified by '123456';flush privileges;

7、执行初始化

schematool -initSchema -dbType mysql -verbose

当看到 schemaTool completed 即完成

8、core-site.xml配置

vim /opt/apache_v00/hadoop-3.3.5/etc/hadoop/core-site.xml 新增以下内容

<property><!-- 允许从任何主机来的代理请求 --> <name>hadoop.proxyuser.root.hosts</name> <value>*</value> </property><!-- 允许root用户代理所有用户 --><property> <name>hadoop.proxyuser.root.users</name> <value>*</value> </property>

9、hadoop-env.sh设置

A. 分发并解压tez-0.10.2.tar.gz

ansible hadoopsrcclustero -m copy -a "src=/opt/softs/tez-0.10.2.tar.gz dest=/opt/softs/"ansible hadoopsrccluster -m shell -a "mkdir /opt/apache_v00/tez-0.10.2"ansible hadoopsrccluster -m shell -a "tar -xf /opt/softs/tez-0.10.2.tar.gz -C /opt/apache_v00/tez-0.10.2"

注: hadoopsrcclustero 是ansible定义的主机列表名称,是其他节点,不包含当前机器,hadoopsrccluster 是包含当前机器

B.设置hadoop-env.sh

/opt/apache_v00/hadoop-3.3.5/etc/hadoop/hadoop-env.sh 新增

export TEZ_CONF_DIR=$HADOOP_HOME/etc/hadoopexport TEZ_JARS=/opt/apache/tez-0.10.2export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:${TEZ_CONF_DIR}:${TEZ_JARS}/*:${TEZ_JARS}/lib/*

分发至其他两个节点

10、启动服务

重启hadoop服务sh /root/apachecluster/start_apachev00.sh 赋权权限hdfs dfs -chmod 777 /tmphdfs dfs -chmod 777 /user #在apache230.hadoop.com节点执行(开两个创建,因为是前台执行)hive --service metastorehive --service hiveserver2 #在apache231.hadoop.com节点执行(同上)hive --service metastorehive --service hiveserver2 #在apache232.hadoop.com节点执行hive --service hiveserver2

这里的/root/apachecluster/start_apachev00.sh 脚本内容其实就是hadoop篇章的启停hadoop的命令

然后你可以验证hive功能了

连接方式你可以直接连接也可以走zk方式:

beeline -u "jdbc:hive2://apache230.hadoop.com:2181,apache231.hadoop.com:2181,apache232.hadoop.com:2181/default;serviceDiscoveryMode=zooKeeper;zooKeeperNamespace=hiveserver2"beeline -u "jdbc:hive2://apache230.hadoop.com:10000/default"

验证不同用户去执行需要加-n xxx,(因集群没有启动只发一下之前记录部署4.0.1的截图)

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 5:17:03

Clawdbot代理直连Qwen3-32B:从零开始搭建Chat平台

Clawdbot代理直连Qwen3-32B&#xff1a;从零开始搭建Chat平台 1. 这不是另一个“部署教程”&#xff0c;而是一条可复用的私有AI对话链路 你有没有试过&#xff1a;本地跑着一个大模型&#xff0c;网页端却连不上&#xff1f;API通了&#xff0c;但前端总报502&#xff1f;明明…

作者头像 李华
网站建设 2026/4/18 6:29:39

Qwen3-TTS-Tokenizer-12Hz参数详解:2048码本+16量化层技术解析

Qwen3-TTS-Tokenizer-12Hz参数详解&#xff1a;2048码本16量化层技术解析 1. 什么是Qwen3-TTS-Tokenizer-12Hz&#xff1f; Qwen3-TTS-Tokenizer-12Hz不是传统意义上的语音模型&#xff0c;而是一个专为语音合成系统设计的音频编解码器&#xff08;Audio Tokenizer&#xff0…

作者头像 李华
网站建设 2026/4/18 6:28:25

DeerFlow深度研究助手:5分钟搭建你的AI研究团队

DeerFlow深度研究助手&#xff1a;5分钟搭建你的AI研究团队 各位正在为“用AI做一次像模像样的深度调研&#xff0c;还要自动生成报告、播客、PPT”而反复调试API、拼接工具链、熬夜改提示词的工程师、研究员、内容创作者——今天不用再折腾了。DeerFlow不是又一个LLM聊天框&a…

作者头像 李华
网站建设 2026/4/18 6:07:57

ExifToolGUI元数据批量处理教程:解决设计团队文件管理难题

ExifToolGUI元数据批量处理教程&#xff1a;解决设计团队文件管理难题 【免费下载链接】ExifToolGui A GUI for ExifTool 项目地址: https://gitcode.com/gh_mirrors/ex/ExifToolGui 在设计团队协作中&#xff0c;经常遇到不同设备拍摄的图片元数据格式混乱的问题。市场…

作者头像 李华
网站建设 2026/4/18 6:31:37

小白也能用的AI绘画:Kook Zimage幻想风格图片生成教程

小白也能用的AI绘画&#xff1a;Kook Zimage幻想风格图片生成教程 1. 这不是“又一个”AI画图工具&#xff0c;而是专为幻想爱好者准备的轻快画笔 你有没有试过在其他AI绘图工具里输入“月光下的精灵少女&#xff0c;半透明翅膀泛着虹彩&#xff0c;站在浮空水晶花园里”&…

作者头像 李华
网站建设 2026/4/18 6:31:06

Qwen2.5-VL视觉定位模型在电商场景中的应用:商品自动标注

Qwen2.5-VL视觉定位模型在电商场景中的应用&#xff1a;商品自动标注 1. 为什么电商急需“看得懂图”的AI&#xff1f; 你有没有遇到过这些情况&#xff1f; 运营同事每天要手动给上千张商品图打标&#xff1a;这张是“白色连衣裙”&#xff0c;那张是“带蝴蝶结的帆布包”&…

作者头像 李华