hive 启动配置

it2025-10-24  17

mac 通过homebrew安装;安装后目录在/usr/local/Cellar

启动hive需要县启动hadoop,然后hive元数据表也需要初始化;没有关联mysql可以初始化hive自带的Derby

a、启动hive报错:java.lang.NoSuchMethodError:com.google.common.base.Preconditions.checkArgument(…)

查看该jar包在hadoop和hive里的版本信息: hadoop路径:/usr/local/Cellar/hadoop/3.2.1_1/libexec/share/hadoop/common/lib 包名为:guava-27.0-jre.jar(不同版本的hadoop此包版本也不同) hive路径:/usr/local/Cellar/hive/3.1.2/libexec/lib 包名为:guava-14.0.1-jar(不同版本的hive此包版本也不同) 不同版本的hadoop或hive里面的guava包版本都不同,重点是hadoop里的包比hive里的版本高。 解决问题: 删除hive中低版本的guava包,把hadoop里的复制到hive的lib目录下即可 cp guava-27.0-jre.jar /usr/local/Cellar/hive/3.1.2/libexec/lib/

1、启动hadoop

cd /usr/local/Cellar/hadoop/3.2.1_1/sbin # 重新格式化 namenode(测试虚拟环境,生产环境严禁执行此操作) [root@flink sbin]# hadoop namenode -format # 启动 hdfs [root@flink sbin]# ./start-all.sh 访问 hadoop hdf http://localhost:9870/ #3.0版本以上

2 启动hive

FAILED: HiveException java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.me

参考:https://blog.csdn.net/hl17200178/article/details/97259094

因为derby数据库只能允许一个用户登录,hive重启都需要这样操作。;hive启动在哪个目录地址下metastore_db就产生在哪个地址下

原因是用的是hive自带的内存数据库derby,应该先初始化,进入hive目录,里面有一个metestore文件夹(是之前启动hive的derby时自动生成的,这里需要将metastore_db 目录重命名为 metastore_db.tmp,然后再初始化 /usr/local/Cellar/hive/3.1.2/bin 目录下 mv metastore_db metastore_db.tmp bin目录下进行初始化 (base) lonng@localhost bin % schematool -initSchema -dbType derby

hive

show tables;

最新回复(0)