通过CM启动Hive报错

具体报错内容如下: [code]org.apache.hadoop.hive.metastore.HiveMetaException: Failed to load driver[/code]请问如何解决?
已邀请:

koyo - 网站管理 致力做全栈工程师 爱ui 爱前端

赞同来自: Something

2,启动之后报错:org.apache.hadoop.hive.metastore.HiveMeta MetaException(message:Version infomation not found int metastore)

   这个是hive中没有版本信息,是经常碰到的。因为首次使用hive,没有相应的版本信息。

.修改conf/hive-site.xml 中的 “hive.metastore.schema.verification” 值为 false 即可解决  MetaException(message:Version information not found in metastore. )”


当然,如果是cm中,修改通过截面修改一下hive.metastore.schema.verification,然后重启以下即可。

3,Caused by: javax.jdo.JDODataStoreException: Required table missing : "`VERSION`" in Catalog "" Schema "". DataNucleus requires this table to perform its persistence operations. Either your MetaData is incorrect, or you need to enable "datanucleus.autoCreateTables"

在启动hive的时候启动失败,通过日志,发现这个问题。查阅资料,发现修改配置文件中的datanucleus.autoCreateSchema 为true即可。这样会自动进行创建表操作。


4,FAILED: Error in metadata: MetaException(message:javax.jdo.JDODataStoreException: An exception was thrown while adding/validating class(es) : Specified key was too long; max key length is 767 bytes

    这个错误一看就知道,超长了。需要修改mysql的hive数据库的编码。alter database hive character set latin1;   修改完成后就正常了。

koyo - 网站管理 致力做全栈工程师 爱ui 爱前端

这种情况,猜测是缺少jdbc驱动,于是添加jdbc驱动到相应的包下面。报的错中提示了lib路径,添加一下即可。
MySQL-connector-Java-5.1.36-bin.jar添加到hive的lib:
/opt/cloudera/parcels/CDH-5.4.7-1.cdh5.4.7p0.36/lib/hive/lib

要回复问题请先登录注册