首页 > 其他分享 >Hive3.1.2搭建文档包含详细步骤及相关截图以及常见问题解决

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

时间:2024-11-08 19:41:27浏览次数:5  
标签:截图 常见问题 mysql hadoop hive Hive3.1 metastore 3.1 log4j

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.bak

hadoop的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 &

标签:截图,常见问题,mysql,hadoop,hive,Hive3.1,metastore,3.1,log4j
From: https://www.cnblogs.com/bjynjj/p/18535805

相关文章

  • 怎么从入门到精通:《IDEA 问题库》常见问题及解决方案
    《IDEA问题库​》是一个非常广泛的话题,涉及到许多不同的问题和解决方案。以下是一些常见问题及解决方案: 报错:unableto establish loopbackconnection。问题:无法建立环回连接。解决方案:关闭防火墙。IDEA看不到编译后的target文件。问题:控制台提示编译成功,但左边......
  • 前端页面性能优化的常见问题与解决方案
    在当今互联网高速发展的时代,前端页面的性能对于用户体验至关重要。一个加载缓慢、交互卡顿的页面很可能会导致用户流失。本文将深入探讨前端页面性能优化中常见的问题以及相应的解决方案。一、常见问题(一)资源加载问题文件体积过大前端项目中,大量的JavaScript、CSS文......
  • 快速上手Docker部署Flask项目 附常见问题解决
    一、准备Flask项目1.项目结构有一个app.py文件作为主应用程序入口,内容示例:fromflaskimportFlaskapp=Flask(__name__)@app.route('/')defhello_world():return'Hello,World!'if__name__=='__main__':app.run(host='0.0.0.0&#......
  • 使用chromedriver抓取网页截图
    前提:1、电脑安装了谷歌浏览器2、下载chromedriver-win64,放到C:\ProgramFiles\Google\Chrome\chromedriver-win64  安装路径chromedriver-win64 下载地址:ChromeforTestingavailability3、importorg.apache.commons.io.FileUtils;importorg.openqa.selenium.Outp......
  • IOR的脚本化、版本兼容性及常见问题解答
    脚本化IOR可以使用-f选项在命令行中使用输入脚本。在-f选项之前设置的命令行选项将被视为运行脚本的默认设置。例如:mpirun./ior-W-fscript将使用隐式-W运行脚本中的所有测试。脚本本身可以覆盖这些设置,并且可以设置为在一次执行下运行许多不同的IOR测试,重要的是要注意在-......
  • Mysql:常见问题
    字段越多,查询越慢吗?为什么字段越多,查询通常会变慢。具体原因涉及数据库内部的一些机制:数据读取:每个查询都需要从硬盘或者内存中读取数据。字段越多,每行的数据量越大,意味着更多的数据需要被读取到内存中进行处理。这增加了IO操作次数和时间。内存使用:字段越多,查询的结果集......
  • redis缓存常见问题及解决方案
    redis缓存常见问题及解决方案1、缓存穿透缓存穿透:是指查询一个不存在的数据,由于缓存无法命中,将去查询数据库,但是数据库也无此记录,并且出于容错考虑,我们没有将这次查询的null写入缓存,这将导致这个不存在的数据每次请求都要到存储层去查询,失去了缓存的意义。在流量大时,可能DB就......
  • AI运动小程序开发常见问题集锦二
    截止到现在写博文时,我们的AI运动识别小程序插件已经迭代了23个版本,成功应用于健身、体育、体测、AR互动等场景;为了让正在集成或者计划进行功能扩展优化的用户,少走弯路、投入更少的开发资源,针对近期的咨询问题,我们又归集了一些常见问题,供大家参考。一、计时、计数计量模式有什么......
  • Apache 配置出错常见问题及解决方法
    Apache配置出错常见问题及解决方法一、端口被占用问题问题描述:在启动Apache时,出现“Addressalreadyinuse”或类似的错误提示,这意味着Apache想要使用的端口已经被其他程序占用,导致Apache无法正常启动。原因分析:系统中已经有其他的应用程序在使用Apache......
  • 安装LaTeX-OCR截图识别转换成LaTeX-Markdown格式
    安装LaTeX-OCR在虚拟环境中,通过pip命令安装LaTeX-OCR。以下是一个示例命令:pipinstallpix2tex[gui]注意:如果你在中国大陆地区,由于网络原因,可能需要设置临时代理或使用国内的镜像源来加速下载。使用LaTeX-OCR命令行使用安装完成后,你可以在命令行中直接使用LaTeX-OCR。首先,你......