1.配置Metastore到MySql后不能启动hive,报如下的错误:
Exception in thread “main” java.lang.RuntimeException:java.lang.RuntimeException: Unable to instantiateorg.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
2.这是因为mysql的日志记录模式不对,进入mysql执行如下的命令:
set global binlog_format=‘MIXED’;
修改mysql的日志记录模式,就可以正常过执行了。
3.出现这种情况的原因可能是因为,当前虚拟机安装了其他版本的mysql卸载后没有卸载完全,而且修改了mysql的日志记录模式,因此安装了新版本的mysql后修改日志记录模式就可以了。
4.这样做之后可能会出现在have中不能建表的情况。如果出现这种情况,需要把metastore数据库的字符集改为Latin1。
5.尝试建表,如果还不行就完全卸载mysql,并使用find / -name mysql删除所有和mysql有关本地的文件(hive中要用的不要删),然后再重新安装并执行上述操作,即可正常使用hive和mysql。
6.最重要的是,千万不要随意删除mysql数据库,一旦删除会面临各种意想不到的错误。慎重啊!