Zookeeper的服务器的log4j升级为log4j2的升级方案(忽略配置化兼容问题)
参考在线markdown编辑器:
http://marxi.co/
Zookeeper的服务器的log4j升级为log4j2的升级方案(忽略配置化兼容问题)
目前希望可以升级将Zookeeper中log4j的版本升级到log4j2版本,并且要避开相关的log4j2的安全隐患问题,此时需要考虑的就是针对于如何将无缝衔接log4j2的版本jar包的安装呢?我们接下来观察一下看看问题所在。目前我采用的环境是windows环境,不过也同样对其他操作系统有效,毕竟万变不离其宗嘛。
Zookeeper的服务的基础目录
windows目录

Linux目录

寻找对应的目录
首先我们需要进行替换相关的lib包信息,我们需要将相关的zookeeper中所相关的log4j相关的jar先迁移走,如下图所示:
windows目录

Linux目录

下图为Linux版本的相关的jar包展示
替换的Jar包目录为:
- log4j-1.2.17.jar log4j的本身的jar包服务
- slf4j-api-1.7.30.jar slf4j的api官方抽象接口包
- slf4j-log4j12-1.7.30.jar 主要用于桥接处理包(slf4j与log4j的桥接之用的包)
以上案例主要采用的是针对于log4j和slf4j的jar包进行相关的处理控制。版本制作参考之用。
参考相关的清理相关的jar包指令,可以采用rm / mv指令进行操作处理。
rm -rf slf4j-api-1.7.x.jar log4j-1.2.x.jar slf4j-log4j12-1.7.X.jar
mv slf4j-api-1.7.X.jar log4j-1.2.X.jar slf4j-log4j12-1.7.x.jar /backup 路径也可
注意具体的版本需要,可动态灵活进行调整对应的接口参数。
下载对应的Log4j2的资源包
下载对应slf4j包
wget --no-check-certificate https://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.36/slf4j-api-1.7.36.jar
版本暂时统一为1.7.36,测试了一下目前属于最稳定版本
下载对应log4j2包
wget --no-check-certificate https://dlcdn.apache.org/logging/log4j/2.19.0/apache-log4j-2.19.0-bin.tar.gz
解压对应log4j2包zookeeper的lib包目录下
tar -zxvf apache-log4j-2.19.0-bin.tar.gz
转移jar包到对应的lib下之后。
转移指定的log4j2包到Zookeeper的lib包目录下
mv log4j-core-2.19.0.jar log4j-1.2-api-2.19.0.jar log4j-slf4j-impl-2.19.0.jar log4j-api-2.19.0.jar /{ZK_HOME}/lib
转移指定的slf4j包到Zookeeper的lib包目录下
mv slf4j-api-1.7.36.jar /{ZK_HOME}/lib
展示效果

开始重启Zookeeper服务,进行查看是否启动正常
可以通过:
ps -ef | grep zookeeper
来查看是否正常启动服务

查看是否已经存在加载的对应的jar包服务

如果没有输出目录文件属于正常情况
当然一般情况下也可以执行查看/bin/zookeeper.out文件信息,打印log。
参考案例
- SLF4J与Log4j2的完美配合
- Log4j2官方网站
- 如何将Zookeeper的log4j升级到2.16
- zookeeper-Log4j替换Log4j2
- zookeeper-Log4j替换Log4j2
参考配置(zoo.cfg)
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/tmp/zookeeper
# the port at which the clients will connect
clientPort=2181
# the maximum number of client connections.
# increase this if you need to handle more clients
#maxClientCnxns=60
#
# Be sure to read the maintenance section of the
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1
## Metrics Providers
#
# https://prometheus.io Metrics Exporter
#metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider
#metricsProvider.httpPort=7000
#metricsProvider.exportJvmInfo=true
Zookeeper的服务器的log4j升级为log4j2的升级方案(忽略配置化兼容问题)的更多相关文章
- log4j平稳升级到log4j2
一.前言 公司中的项目虽然已经用了很多的新技术了,但是日志的底层框架还是log4j,个人还是不喜欢用这个的.最近项目再生产环境上由于log4j引起了一场血案,于是决定升级到log4j2. 二.现象 虽 ...
- log4j升级到log4j2
log4j升级到log4j2 1.导入依赖 log4j2应尽量使用同一版本,否则可能出现不兼容的情况 <!-- log4j2 start --> <!-- log4j-1.2-api ...
- 【分布式】Zookeeper的服务器角色
一.前言 前一篇已经详细的讲解了Zookeeper的Leader选举过程,下面接着学习Zookeeper中服务器的各个角色及其细节. 二.服务器角色 2.1 Leader Leader服务器是Zook ...
- Zookeeper(六)服务器
Zookeeper(六)服务器 zkServer.cmd中声明 首先启动QuorumPeerMain set ZOOMAIN=org.apache.zookeeper.server.quorum.Qu ...
- 防止服务器宕机时MySQL数据丢失的几种方案
这篇文章主要介绍了防止服务器宕机时MySQL数据丢失的几种方案,结合实践介绍了Replication和Monitor以及Failover这三个项目的应用,需要的朋友可以参考下. 对于多数应用来说,My ...
- 真分布式SolrCloud+Zookeeper+tomcat搭建、索引Mysql数据库、IK中文分词器配置以及web项目中solr的应用(1)
版权声明:本文为博主原创文章,转载请注明本文地址.http://www.cnblogs.com/o0Iris0o/p/5813856.html 内容介绍: 真分布式SolrCloud+Zookeepe ...
- log4j2单独的配置与使用&log4j2+slf4j的结合的配置与使用
转载自:https://github.com/iamyong 一.log4j2单独的配置与使用 所用jar文件 log4j-api-2.8.2.jar log4j-core-2.8.2.jar 配置文 ...
- Taurus.MVC 微服务框架 入门开发教程:项目部署:3、微服务应用程序版本升级:全站升级和局部模块升级。
系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...
- 在虚拟机上安装红帽Linux.5.5.for.x86.服务器版系统(按针对安装oracle 10g作的配置)
在虚拟机上安装红帽Linux.5.5.for.x86.服务器版系统(按针对安装oracle 10g作的配置) 软件版本: 虚拟机版本:vmwareworkstation 7.11 build-28 ...
- Log4j按级别输出日志到不同文件配置分析 (转:projava)
关于LOG4J 按照级别输出日志,并按照级别输出到不同文件中的说法有很多, 网上贴的最多的log4j.properties的设置是这样的 log4j.rootLogger=info,stdout,in ...
随机推荐
- Jmeter处理响应报文中文乱码
Jmeter在访问发送请求的时候,响应内容如果有中文可能会显示乱码,原因应该是响应页面没有做编码处理,jmeter默认按照ISO-8859-1编码格式进行解析.而我们的响应报文却是utf-8的格式,所 ...
- Windows磁盘容量差异
如果足够细心,你就能发现计算机管理里面显示的容量和我的电脑里面磁盘容量的显示有差异.我的电脑中显示的总会少一点. https://www.cnblogs.com/qishine/p/12125329. ...
- 聊聊计算机之Intel CPU的MESI协议
1.on-chip概念 on-chip:每个CPU有好几个物理核,它们分布在CPU上,称为on-chip on-chip first cache:每个核内的一级缓存 on chip branch ta ...
- fastapi快速入门
fastapi是高性能的web框架.他的主要特点是: 快速编码 减少人为bug 直观 简易 具有交互式文档 基于API的开放标准(并与之完全兼容):OpenAPI(以前称为Swagger)和JSON ...
- Kibana管理
这里是用来管理您的 kibana 运行时配置的地方,包括初始化配置和后续的索引模式配置.高级设置等.您可以调整 kibana 自身的行为,也可以编辑您通过 kibana 保存的查询.视图.仪表板等各种 ...
- 原生js如果将string类型的数进行值
原生的tring类型比较会进行隐式转换,如'100'>90 为true
- 知识图谱实体对齐1:基于平移(translation)的方法
1 导引 在知识图谱领域,最重要的任务之一就是实体对齐 [1](entity alignment, EA).实体对齐旨在从不同的知识图谱中识别出表示同一个现实对象的实体.如下图所示,知识图谱\(\ma ...
- 浅谈 Golang 插件机制
我们知道类似 Java 等半编译半解释型语言编译生成的都是类似中间态的字节码,所以在 Java 里面我们想要实现程序工作的动态扩展,可以通过 Java 的字节码编辑技术([[动态代理#ASM]]/[[ ...
- 华为云ubunbu部署.NetCore3.1项目(DDD商城)
提前项目打包发布,文件传输工具Filezilla,注意是选择sftp协议,将publish文件传到/home文件夹下 第一步 .NetCoreSDK安装 微软官方的文档https://docs.mi ...
- 计算机网络(Learning Records)
背景:没想到本专业并不开设这门课程,感觉过于逆天,之前开发的时候了解过相关知识 但是从来没有系统地学过,就自己看了书,总结一下 参考:<TCP/IP详解 卷1:协议> 概述 大多数网络应用 ...