启动hive的metastore或者启动hive后执行命令报错如下:
FAILED: HiveException java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.me
原因分析:
是由于没有初始化数据库导致,执行名称初始化数据库即可。
解决办法:
执行命令:schematool -dbType mysql -initSchema
注意:我这里hive的metastore数据库为MySQL
[oldlu@bigdata-training hadoop-2.6.0-cdh5.7.6]$ schematool -dbType mysql -initSchema SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/opt/modules/hive-3.1.1/lib/log4j-slf4j-impl-2.10.0.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/opt/cdh-5.7.6/hadoop-2.6.0-cdh5.7.6/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory] Metastore connection URL: jdbc:mysql://bigdata-training.fuyun.com/hive3metastore?createDatabaseIfNotExist=true&characterEncoding=UTF-8 Metastore Connection Driver : com.mysql.jdbc.Driver Metastore connection User: root Starting metastore schema initialization to 3.1.0 Initialization script hive-schema-3.1.0.mysql.sql Initialization script completed schemaTool completed