hive在mysql中总是不创建元数据库的解决办法
这两天打算好好捣鼓捣鼓hive sql。遂搞了台centos搭环境,搭环境嘛,当然是怎么简单怎么来,怎么快怎么来。好不容易搭完了,发现hive在mysql中总是不创建元数据库。
按照既往掉坑的经验,怀疑框架搭得不对、怀疑服务没启动、怀疑mysql驱动版本不对、怀疑hadoop和hive的guava jar包版本不一致、怀疑mysql服务没启动、怀疑元数据的字符集编码集不对时区不对……都不对。
网上搜到的解决办法是手动执行初始化元数据的工作,问题是我还没走到这一步就出错了。
这下真的要裸奔了。哭死。
遂倒着查看错误日志信息,看到是metastore挂了,查看hive里元数据的配置文件,应该在这里。
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://node03.hadoop.com:3306/hive?createDatabaseIfNotExist=true</value>
</property>
最后找到是FQDN的问题。我把centos的主机名写成node03,在hive的配置文件里写的是FQDN格式的,也就是node03.hadoop.com
FQDN:(Fully Qualified Domain Name)全限定域名:同时带有主机名和域名的名称。(通过符号“.”)
好在我基础知识还算扎实,花了几个小时把以前掉坑的经验刨了刨,黔驴技穷的时候没有继续调查,而是出去兜了一