如果是配置了mysql作为元数据的同学就不用往下看了

1.  HIVE1

原因-后台启动了一个HIVE。

如果你发现产生了这个文件,那么证明你的hive是被启动过

 

由于默认模式是derby,这种模式情况下,元数据存储在上面的metastore_db.

如果是存在这个文件上,多用户进行增删改查,相当于多个用户操作一个文件进行读写,后果可想而知。

为了避免破坏元数据的情况,hive给出了限制,如果是默认模式下(没有配置元数据的存储位置-如mysql等)。那么只能启动一个hive程序。

 

我之前启动后,按了ctrl+c。退出的模式。其实只是将程序保留在了后台。所以当启动第二个程序会报错。

于是通过

ps -ef|grep hive

kill -9 进程id

解决了我的问题

 

2.HIVE2

hive2启动需要首先初始化表结构(在hive的bin目录下)

进入hive2的bin目录下

./schematool -dbType derby -initSchema

derby(是默认本地-如果是mysql就改成mysql)

然后在启动

启动必须用./hive 启动(为什么呢?hive初始化表结构后-元数据是以相对路径的形式进行查询,而查询的目录结构是bin目录下的metasotre)

参考博客:https://www.cnblogs.com/cxhfuujust/p/7784308.html

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐