大数据之 Hive 快速搭建的详细步骤

本文详细介绍了Hive在内嵌、本地和远程模式下的搭建步骤,包括与Hadoop整合、安装MySQL、配置Hive-site.xml、处理常见错误、使用Beeline客户端。在本地模式下,强调了安装MySQL8、配置Hive与MySQL的连接,并提供了修改日志等级的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Hive

hive 搭建三种模式:

  • 内嵌模式
  • 本地模式
  • 远程模式

内嵌模式

Hadoop 和 Hive 整合

修改 hadoop/etc/下的 core-site.xml:

<property>
	<name>hadoop.proxyuser.root.hosts</name>
    <value>*</value>
</property>
<property>
	<name>hadoop.proxyuser.root.groups</name>
    <value>*</value>
</property>
#上传并解压安装包
cd /opt/
tar zxvf apache-hive-3.1.3-bin.tar -C apps
# 修改简化名字
mv apache-hive-3.1.3-bin hive3.1
#解决hadoop、hive之间guawa版本差异
cd /opt/apps/hive
rm -rf lib/guava-19.0.jar
# 拷贝 hadoop 下的jar 到hive下
cp /opt/apps/hadoop-3.2.4/share/hadoop/common/lib/guava-27.0-jre.jar .

#修改hive环境变量文件 添加HADOOP_HOME
cd /opt/apps/hive3.1/conf/
# 修改文件名
mv hive-env.sh.template hive-env.sh
# 编辑文件
vim hive-env.sh
# 添加如下内容
export HADOOP_HOME=/opt/apps/hadoop-3.2.4
export HIVE_CONF_DIR=/opt/apps/hive3.1/conf
export HIVE_AUX_JARS_PATH=/opt/apps/hive3.1/lib

#初始化 metadata
cd /opt/apps/hive3.1
# 初始化 使用内嵌数据库 derby 注意:如果先配置了环境变量时,这里不用写bin/
bin/schematool -dbType derby -initSchema
#启动hive服务
bin/hive

为了方便任何目录下可以通过 hive 启动 Hive 服务,可以配置环境变量

[zhang@node1 hivetest]$ vim ~/.bashrc 

# 添加如下配置
HIVE_HOME=/opt/apps/hive3.1
PATH=~/mybin:$JAVA_HOME/bin:$HIVE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

添加完成后,就可以在任意位置启动了,但是注意!!!!!

注意:

使用内嵌模式时,任何目录启动时,都需要进行初始化操作,否则启动会抛出异常

Caused by: MetaException(message:Version information not found in metastore.)

常见错误

错误1
Caused by: java.net.ConnectException: Call From node1/192.168.184.11 to node1:9000 failed on connection exception: java.net.ConnectException: Connection refused; For more details see:  http://wiki.apache.org/hadoop/ConnectionRefused
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)

原因:没有启动 Hadoop 集群

错误2
Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)V
	at org.apache.hadoop.conf.Configuration.set(Configuration.java:1357)

原因:hadoop 和 Hive 的 jar 包版本冲突

解决办法:

删除 hive 目录下的: sudo rm guava-19.0.jar

拷贝 hadoop/share/hadoop/common/lib/ 下的 jar 包到 hive 下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zp8126

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值