SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/home/zjy2112034146/servers/hive/lib/log4j-slf4j-impl-2.6.2.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/home/zjy2112034146/servers/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.10.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:derby:;databaseName=metastore_db;create=true Metastore Connection Driver : org.apache.derby.jdbc.EmbeddedDriver Metastore connection User: APP Starting metastore schema initialization to 2.3.0 Initialization script hive-schema-2.3.0.mysql.sql Error: Syntax error: Encountered "<EOF>" at line 1, column 64. (state=42X01,code=30000) org.apache.hadoop.hive.metastore.HiveMetaException: Schema initialization FAILED! Metastore state would be inconsistent !! Underlying cause: java.io.IOException : Schema script failed, errorcode 2 Use --verbose for detailed stacktrace. *** schemaTool failed ***
时间: 2023-07-16 07:13:03 浏览: 114
这个错误提示表明你的类路径中存在多个 SLF4J 绑定,导致冲突。你可以尝试去掉其中一个绑定,或者将其中一个绑定的优先级调整为更高。另外,这个错误提示还提到了 Hive 的元数据存储初始化失败,可能是由于语法错误导致的。你可以查看具体的错误信息,尝试修复语法错误,或者尝试使用其他版本的 Hive 元数据存储。同时,你可以使用 --verbose 参数来获取更详细的堆栈跟踪信息,以便更好地定位问题。
相关问题
SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in
SLF4J(Simple Logging Facade for Java)是一个为Java应用程序提供日志记录的简单门面(facade)框架。它允许开发人员在应用程序中使用统一的API进行日志记录,而无需关注具体的日志实现细节。
关于你提到的错误信息"Class path contains multiple SLF4J bindings. SLF4J: Found binding in...",这是由于在应用程序的类路径中存在多个SLF4J绑定引起的。SLF4J只允许存在一个绑定,否则会导致冲突。
解决这个问题的方法是在应用程序的类路径中只保留一个SLF4J绑定。你可以通过以下步骤来解决这个问题:
1. 确定你的应用程序使用了哪些依赖项,并查找它们是否包含了SLF4J绑定。
2. 如果发现多个SLF4J绑定,选择其中一个并将其从依赖项中移除。
3. 如果你无法确定哪个依赖项包含了SLF4J绑定,可以尝试使用Maven或Gradle等构建工具来排除冲突的依赖项。
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Class path contains multiple SLF4J bindings是一个常见的错误信息,它表示在应用程序的类路径中存在多个SLF4J绑定。这通常是由于应用程序中使用了多个库,这些库都包含了SLF4J的实现,导致冲突。为了解决这个问题,可以采取以下几种方法:
1. 确保应用程序只使用一个SLF4J实现,可以通过在pom.xml文件中排除不需要的依赖项来实现。
2. 如果无法避免使用多个SLF4J实现,可以使用SLF4J桥接器来解决冲突。
3. 删除其中一个SLF4J实现,可以通过删除包含冲突实现的jar文件来实现。