在启动 Hive 时,您可能会遇到以下两个问题:
SLF4J 多重绑定问题
如果您看到类似以下的警告:
SLF4J: Class path contains multiple SLF4J bindings.
这意味着您的环境中存在多个 SLF4J 绑定。您需要按照以下步骤解决:
选择一个绑定:决定使用 Hive 的 log4j-slf4j-impl-2.17.1.jar 还是 Hadoop 的 slf4j-log4j12-1.7.25.jar。
删除多余的绑定:如果选择使用 Hive 的绑定,请删除 Hadoop 的 slf4j-log4j12-1.7.25.jar 文件;反之亦然。
清理类路径:确保没有多余的 SLF4J 绑定被加载。检查环境变量(如 CLASSPATH)和启动脚本中是否包含了多余的绑定。
Hadoop NameNode 连接拒绝问题
如果您看到类似以下的错误:
java.net.ConnectException: Call From master/11.99.173.16 to master:8020 failed on connection exception: java.net.ConnectException: Connection refused
这表明 Hive 无法连接到 Hadoop NameNode 服务。请按照以下步骤解决:
检查 NameNode 是否运行:
在 Hadoop 的主节点上运行以下命令检查 NameNode 是否运行: