参考来源如下。
https://github.com/brownsys/zookeeper-benchmark
打包
使用开源工具进行 ZooKeeper 的性能测试,参考官方文档,通过 mvn -DZooKeeperVersion=<version> package
进行打包。但是为了使用方便,我把所有的依赖包都打成一个大的 jar 包了,所以在 pom.xml 文件加上下面的插件,然后再执行命令 mvn assembly:assembly
即可。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.1</version>
<configuration>
<archive>
<manifest>
<!--运行jar包时运行的主类,要求类全名-->
<mainClass>edu.brown.cs.zkbenchmark.ZooKeeperBenchmark</mainClass>
<!-- 是否指定项目classpath下的依赖 -->
<addClasspath>true</addClasspath>
<!-- 指定依赖的时候声明前缀 -->
<classpathPrefix>./lib/</classpathPrefix>
<!--依赖是否使用带有时间戳的唯一版本号,如:xxx-1.3.0-20121225.012733.jar-->
<useUniqueVersions>false</useUniqueVersions>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.5.5</version>
<configuration>
<archive>
<manifest>
<mainClass>edu.brown.cs.zkbenchmark.ZooKeeperBenchmark</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
镜像
打完包之后,制作一个简单的镜像。
FROM openjdk:oraclelinux7
WORKDIR /zk-benchmark
COPY Centos-7.repo /etc/yum.repos.d/CentOS-Base.repo
RUN yum install vim-minimal
COPY ./target/zkbenchmark-0.1-SNAPSHOT-jar-with-dependencies.jar .
COPY benchmark.conf .
执行
java -jar zkbenchmark-0.1-SNAPSHOT-jar-with-dependencies.jar --conf /path/to/benchmark.conf