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

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 下

上一篇:【截至2023年底】语言模型的发展