刚装好hive后,启动之后showtables;等正常,退出之后再进入,就发现会报错
Caused by: ERROR XSDB6: Another instance ofDerbymay have already booted the database /opt/apache-hive-0.13.1-bin/metastore_db.
这个原因是因为采用了derby这个内嵌数据库作为数据库,它不支持多用户同时访问,解决办法就是
1.重新换mysql作为元数据库,方法见点击打开链接如果怎么配置都不能成功,就重新解压安装包,重新开始,另外hive-site.xml里的配置不是无关紧要的,之所以把它删了都能正常工作,是因为用了默认配置,hive-env.sh会有效,里面有一项配置hiveconf,说的就是hive-site.xml
2.如果不想重新换数据库,就用pkill–uhadoop,杀死hadoop下所有进程,包括hadoop namenode什么的,或着转到hive-home底下,ls后,如果发现有derby.log和metastore_db文件,就说明这时hive的数据库仍是derby,把它俩删除后,hive就又能正常工作了