hive启动出错 org.apache.hadoop.hive.ql.metadata.HiveException

刚设置好hive的配置文件, 元数据存储使用的是mysql, 然后进行hive进入命令行模式, 使用show databases发现报异常

看报错信息是元数据异常. 那么一定是与mysql的连接,或者元数据的存储出现了问题.

上网百度找了一些答案,说是需要进行元数据格式化, 于是尝试了下, 发现还是报错.

# 格式化元数据
schematool -dbType mysql -initSchema

 

在这呢我收集到了2种解决方案:

1. 在hive的配置文件hive-site.xml添加如下配置:


    datanucleus.schema.autoCreateAll
    true
  

然后将数据库中的创建的元数据表删除,然后重新创建, 然后再进行格式化. 如果成功了恭喜你

hive启动出错 org.apache.hadoop.hive.ql.metadata.HiveException_第1张图片

格式化成功的

2. 修改mysql连接用户, 在hive使用另一个mysql用户不使用root (我自己的是这个问题)

在mysql中

修改权限
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' IDENTIFIED BY 'hive' WITH GRANT OPTION;
刷新
flush privileges;

然后再将hive/conf中 hive-site.xml中的连接用户修改为hive, 密码修改为hive即可. 然后再进行初始化

schematool -dbType mysql -initSchema

做到这一般都可以成功. 然后再进入hive 就可以正常使用了

你可能感兴趣的:(hive,hive启动报错)