Hive3.1.2涉及的Apache Log4j2 jar包
[root@hadoop-node1 hadoop-3.1.3]# ll /opt/module/hive-3.1.2/lib/ | grep log4j
-rw-rw-r-- 1 hadoop hadoop 63835 Apr 15 2020 log4j-1.2-api-2.10.0.jar
-rw-rw-r-- 1 hadoop hadoop 255485 Apr 15 2020 log4j-api-2.10.0.jar
-rw-rw-r-- 1 hadoop hadoop 1597622 Apr 15 2020 log4j-core-2.10.0.jar
-rw-rw-r-- 1 hadoop hadoop 24173 Apr 15 2020 log4j-slf4j-impl-2.10.0.jar.bak
-rw-rw-r-- 1 hadoop hadoop 32060 Apr 15 2020 log4j-web-2.10.0.jar
其中,log4j-api-*.jar、log4j-core-*.jar是需要替换的。
解决步骤
- 下载Log4j 2.17.0版本的jar包,下载地址https://archive.apache.org/dist/logging/log4j/2.17.0/apache-log4j-2.17.0-bin.tar.gz。
- 解压并将所需新的jar包log4j-api-2.17.0.jar和log4j-core-2.17.0.jar复制到Hive安装目录下的lib目录中,并将原有的Log4j jar包备份替换掉。
- 重启Hive metastore和hiveserver2服务。在替换完Log4j jar包之后,你需要重启Hive服务,以使更改生效。参考命令
# 启动metastore nohup hive --service metastore >$HIVE_LOG_DIR/metastore.log 2>&1 & # 启动hiveserver2 nohup hive --service hiveserver2 >$HIVE_LOG_DIR/hiveServer2.log 2>&1 &
- 在重启Hive服务之后,检查Hive的日志,测试hive使用和hive server2的连接,以确保服务正常运行,并查找是否有异常或错误信息。