Hive3.1.2搭建文档包含详细步骤及相关截图以及常见问题解决

news/2024/11/8 19:50:49/文章来源:https://www.cnblogs.com/bjynjj/p/18535805

hive-3.1.2分布式搭建文档

1、下载,上传,解压,配置环境变量

image-20241108192206462

image-20241108192322172

image-20241108192609473

image-20241108192712569

# 1、解压(解压到上级目录)
tar -zxvf apache-hive-3.1.2-bin.tar.gz -C..# 2、重名名
mv apache-hive-3.1.2-bin hive-3.1.2# 3、配置环境变量
vim /etc/profile# 4、在最后增加配置
export HIVE_HOME=/usr/local/soft/hive-3.1.2
export PATH=$PATH:$HIVE_HOME/bin# 5、使环境变量剩下
source /etc/profile

2、修改配置文件

1、进入hive配置文件所在目录

cd /usr/local/soft/hive-3.1.2/conf

2、创建hive-site.xml配置文件(将hive-default.xml.template下载到桌面重命名为hive-site.xml,修改后上传到linux系统)

image-20241108191625088

vim 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.ConnectionDriverName</name><value>com.mysql.cj.jdbc.Driver</value></property><property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://master:3306/hive?useSSL=false&amp;createDatabaseIfNotExist=true&amp;characterEncoding=utf8&amp;useUnicode=true</value></property><property><name>javax.jdo.option.ConnectionUserName</name><value>root</value></property><property><name>javax.jdo.option.ConnectionPassword</name><value>123456</value></property><property><name>hive.metastore.uris</name><value>thrift://master:9083</value></property><property><name>hive.server2.enable.doAs</name><value>false</value></property><property>
<name>hive.querylog.location</name>
<value/>
</property><property>
<name>hive.exec.local.scratchdir</name>
<value/>
</property><property>
<name>hive.downloaded.resources.dir</name>
<value/>
</property>
</configuration>3214行的描述删掉

3、创建log4j.properties配置文件

image-20241108192818203

touch log4j.properties# 将日志级别改成WARN,避免执行sql出现很多日志
log4j.rootLogger=WARN,CA
log4j.appender.CA=org.apache.log4j.ConsoleAppender
log4j.appender.CA.layout=org.apache.log4j.PatternLayout
log4j.appender.CA.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n%

3、上传mysql驱动

# 将nysql驱动包上传到hive的lib目录下
mysql-connector-java-8.0.29.jar

4、初始化hive元数据库

# 2、初始化hive的元数据(表结构)到mysql中
schematool -dbType mysql -initSchema

5、启动hive元数据服务

hive --service metastore# 后台启动元数据服务
nohup hive --service metastore 建议使用这个命令(在哪里启动哪里就会有元数据的日志文件)每次都在固定位置启动,注意自己的路径
可以将命令写成脚本,以后直接运行脚本即可,具体操作如下图
nohup hive --service metastore >> /usr/local/soft/hive-3.1.2/startlogs/metastore-service.log &

image-20241108193744928

#增加执行权限
chmod +x 文件名

image-20241108194026345

6、进入hive命令行

# 进入hive
hive# 测试
# 1、创建表
CREATE EXTERNAL TABLE IF NOT EXISTS student(id string ,`name` string ,age string  ,gender string  ,clazz string 
) 
ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' 
STORED AS INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'  
location '/data/student'; # 2、执行sql查询数据
select clazz,count(1) as num from student group by clazz;

解决 log4j 兼容性问题(使用客户端连接hive时无法访问问题)

警告信息,不影响使用
LF4J: Class path contains multiple SLF4J bindings.

cd /usr/local/soft/hive-3.1.2/lib# hive 与 Hadoop 在运行时会出现 log4j 兼容性问题,这是因为 hive 的 log4j 版本与 Hadoop 的产生了冲突,我们这里将 hive 的 log4j 设置为备份。
mv log4j-slf4j-impl-2.10.0.jar log4j-slf4j-impl-2.10.0.jar.bakhadoop的etc/hadoop/core-site.xml
<property><name>hadoop.proxyuser.root.hosts</name><value>*</value>
</property>
<property><name>hadoop.proxyuser.root.groups</name><value>*</value>
</property>

hive常见问题

1、hadoop未启动,就开始执行hive命令

image-20240408112306610

解决方案:启动hadoop

2、hadoop处于安全模式

解决方案:

1、等着,等hadoop日志和快照数据恢复完毕,自动离开安全模式

2、使用命令强制离开

3、元数据服务没开,操作不了sql语句

image-20240408112344560

解决方案:nohup hive --service metastore &

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/828988.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

dbeaver连接MySQL出现了 Public Key Retrieval is not allowed 错误

问题现象出现这个错误的原因 错误提示“Public Key Retrieval is not allowed”通常出现在尝试使用SSL(Secure Sockets Layer)连接到MySQL数据库时。这可能是由于以下原因之一导致的:MySQL服务器配置:MySQL服务器可能没有正确配置以允许公钥检索。 检查MySQL服务器的my.cnf…

进销存系统是什么?企业如何用好进销存系统?

很多老板都知道,面对激烈的竞争环境,进销存管理已经成为企业运营中不可或缺的一部分。无论是商品的采购、销售,还是库存管理,进销存系统的有效运作都直接影响着企业的资金流动、客户满意度以及市场竞争力。因此,如何高效地应用进销存管理系统,不仅关乎日常运营的顺畅,更…

【linux内核】 BCC Tools命令汇总

什么是BCC Tools 直接通过BPF指令编写BPF 程序是非常繁琐的事情,尤其对于运维人员来说,花70%的时间来编写一个BPF程序来实现一个检查点,不如花70%的时间来熟悉别人已经写好的BPF程序,并且把别人的BPF程序有效的串联起来形成自己分析问题的套路,等有了闲暇时间再去尝试突破…

20222311 2024-2025-1 《网络与系统攻防技术》实验四实验报告

1. 实验内容 1.1恶意代码文件类型标识、脱壳与字符串提取 对提供的rada恶意代码样本,进行文件类型识别,脱壳与字符串提取,以获得rada恶意代码的编写作者,具体操作如下: (1)使用文件格式和类型识别工具,给出rada恶意代码样本的文件格式、运行平台和加壳工具; (2)使用…

进销存系统怎么实施?进销存的实施流程解析

很多老板都知道,企业的日常运营中,进销存管理是至关重要的核心环节之一。它涉及到企业的采购、库存、销售等多个方面,直接影响企业的资金流动、库存控制及客户满意度。因此,如何有效实施进销存管理系统,已成为许多企业提升运营效率、降低成本、优化资源配置的重要任务。 随…

解决centos7.9镜像问题

解决方案 https://wiki.bafangwy.com/doc/719/ 安装chrome(https://www.cnblogs.com/zxqblogrecord/p/13171516.html)时出现以下问题: failure: repodata/repomd.xml from centos7: [Errno 256] No more mirrors to try. http://mirror.centos.org/centos/7/os/x86_64/repodat…

【IDEA】IntelliJ IDEA远程开发:释放本地设备,打破资源与环境的限制

IDEA的远程开发 (Remote Development) 是指在不依赖于本地计算资源的情况下,通过连接远程服务器或虚拟机来进行代码编写、调试和构建的开发模式。这种方式主要通过 JetBrains Gateway 和 JetBrains Projector 提供支持,可以在本地 IDE 界面与远程环境紧密协作,帮助开发者解决…

有哪些免费的轻量级在线 CRM 系统?6款CRM系统盘点

对于许多中小型企业和初创公司而言,如何选择一款既能满足日常需求又具性价比的CRM系统很重要。通常来说,系统的成本是企业选型过程中不可忽视的因素,但在这么多的CRM系统中,各类CRM系统的功能与价格对比真的很容易让人眼花缭乱。 本文将盘6款值得关注的免费轻量级在线CRM系…

[极客大挑战 2019]PHP 1

[极客大挑战 2019]PHP 1 打开文件发现提示信息“备份文件”,查看源码并未发现其他有效信息采用dirsearch爆破目录,找到www.zip文件解压zip,发现是源码泄露提交flag,发现不正确,看到index.php源码中有Get传参,然后反序列化函数unserialize(),判断为反序列化漏洞;查看class…

【IDEA】告别繁琐反编译:IDEA中轻松反编译与修改Jar包

本文带你了解 JarEditor 插件的强大功能,它让你无语再用其他第三方工具,也无需解压 JAR 文件就能直接在IDEA中编辑其中的类和资源文件。还能用它轻松添加、删除或重命名 JAR 包里的文件。即使遇到混淆过的 JAR,JarEditor 也能通过 Javassist 工具搞定。 支持的功能 JarEdito…