[报错]hive启动错误

报错一

Caused by: java.lang.ClassNotFoundException: org.apache.hadoop.hive.conf.HiveConf

 hadoop-env.sh中HADOOP_CLASSPATH为:

export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HBASE_HOME/lib/*

关掉集群,重启即可

报错二

在启动metastore服务时报错

Caused by: ERROR XJ040: Failed to start database 'metastore_db' with class loader sun.misc.Launcher$AppClassLoader@7cca494b, see the next exception for details.
        at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
        at org.apache.derby.impl.jdbc.SQLExceptionFactory.wrapArgsForTransportAcrossDRDA(Unknown Source)
        ... 61 more
Caused by: ERROR XSDB6: Another instance of Derby may have already booted the database /data/yzw/formal/handle/hive_sql/run_shell/metastore_db.

 原因是因为在开启hive metastore服务前先开启的hiveserver2,生成了derby文件

1、关掉服务

关掉metastore 

关掉hiveserver2 

2、删除文件

删除上面报错指定的文件

/data/yzw/formal/handle/hive_sql/run_shell/metastore_db.

删除hive目录下的这两个文件 

删除运行启动metastore时目录下的(可能有多个)

看一下其他节点的家目录下是否有这两个文件,也删掉

3、开启metastore服务 

hive --service metastore

如果报错误三,就等2分钟就好,有时候反应慢

报错三

Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient

 开启hive metastore服务即可

hive --service metastore &

报错四

如果用以上方法还是报错,每次启动hive服务都会生成derby.log metastore.db

那就是你的hadoop-env.sh 中的HADOOP_CLASSPATH有问题!!

export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HBASE_HOME/lib/*

说明

1、在使用hive的时候,一定要按照如下顺序开启hive服务

【1】hive --service metastore &

【2】hive --service hiveserver2 &

2、metastore记录的是hive元数据和数据的对应关系,默认存derby中,还可以存mysql中

存derby中时,一个目录一份元数据,换个目录你就看不到上个目录的数据库了。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值