os: centos 7.4
db: postgresql 9.6

BenchmarkSQL 有一些依赖,先处理好依赖

参考了德哥的 https://github.com/digoal/blog/blob/master/201701/20170125_01.md

配置 epel 源

# wget -P /etc/yum.repos.d/ http://mirrors.aliyun.com/repo/epel-7.repo
# yum clean all  
# yum makecache  

安装 ant、R

# yum install ant R R-devel

ant 是编译打包时用到
R 语言在后面生成报告和图形时时用到。

安装 oracle JDK

默认的是 OpenJDK,替换为 oracle JDK

# /usr/bin/java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-b12)
OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)

# which java
/usr/bin/java
# ls -l /usr/bin/java
lrwxrwxrwx. 1 root root 22 Sep 29 14:36 /usr/bin/java -> /etc/alternatives/java
# ls -l /etc/alternatives/java
lrwxrwxrwx. 1 root root 72 Sep 29 14:36 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64/jre/bin/java
# ls -l /usr/lib/jvm
total 0
drwxr-xr-x. 3 root root 17 Sep 29 14:36 java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64
lrwxrwxrwx. 1 root root 21 Sep 29 14:36 jre -> /etc/alternatives/jre
lrwxrwxrwx. 1 root root 27 Sep 29 14:36 jre-1.8.0 -> /etc/alternatives/jre_1.8.0
lrwxrwxrwx. 1 root root 35 Sep 29 14:36 jre-1.8.0-openjdk -> /etc/alternatives/jre_1.8.0_openjdk
lrwxrwxrwx. 1 root root 50 Sep 29 14:36 jre-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64 -> java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64/jre
lrwxrwxrwx. 1 root root 29 Sep 29 14:36 jre-openjdk -> /etc/alternatives/jre_openjdk

卸载 OpenJDK

# rpm -qa |grep -i -E 'java|jdk'
tzdata-java-2017b-1.el7.noarch
python-javapackages-3.4.1-11.el7.noarch
java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64
java-1.8.0-openjdk-headless-1.8.0.131-11.b12.el7.x86_64
javapackages-tools-3.4.1-11.el7.noarch
copy-jdk-configs-2.2-3.el7.noarch

# rpm -e --nodeps tzdata-java-2017b-1.el7.noarch
# rpm -e --nodeps java-1.8.0-openjdk-1.8.0.131-11.b12.el7.x86_64
# rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.131-11.b12.el7.x86_64

下载oracle jdk 页面
https://www.oracle.com/technetwork/java/javase/downloads/index.html
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
https://download.oracle.com/otn-pub/java/jdk/8u192-b12/750e1c8617c5452694857ad95c3ee230/jdk-8u192-linux-x64.rpm

Linux x64 167.99 MB jdk-8u192-linux-x64.rpm

有160多MB,下载好后使用 rz 上传

# rz
# ls -l
-rw-r--r--  1 root root 176154290 Dec  6 10:06 jdk-8u192-linux-x64.rpm

# rpm -ivh ./jdk-8u192-linux-x64.rpm 
warning: ./jdk-8u192-linux-x64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
Preparing...                          ################################# [100%]
Updating / installing...
   1:jdk1.8-2000:1.8.0_192-fcs        ################################# [100%]
Unpacking JAR files...
	tools.jar...
	plugin.jar...
	javaws.jar...
	deploy.jar...
	rt.jar...
	jsse.jar...
	charsets.jar...
	localedata.jar...

# java -version
java version "1.8.0_192"
Java(TM) SE Runtime Environment (build 1.8.0_192-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.192-b12, mixed mode)	
	
# rpm -qa |grep -i -E 'java|jdk'
python-javapackages-3.4.1-11.el7.noarch
javapackages-tools-3.4.1-11.el7.noarch
jdk1.8-1.8.0_192-fcs.x86_64
copy-jdk-configs-2.2-3.el7.noarch

# vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_192-amd64
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar:${CLASSPATH}
export PATH=${JAVA_HOME}/bin:$PATH

下载 benchmarksql-5.0

https://sourceforge.net/projects/benchmarksql/ 下载 benchmarksql-5.0.zip
然后上传到 服务器

# su - postgres
$ rz benchmarksql-5.0.zip
$ unzip benchmarksql-5.0.zip
$ ls -l 
drwx------  4 postgres postgres      70 Dec  3 14:26 9.6
drwxr-xr-x  6 postgres postgres     124 May 26  2016 benchmarksql-5.0
-rw-r--r--  1 postgres postgres 2263539 Dec  5 19:59 benchmarksql-5.0.zip

编译打包 benchmarksql

$ export CLASSPATH=.:/usr/share/java/ant-launcher.jar:${CLASSPATH}    
$ cd benchmarksql-5.0    
$ ls -l
total 24
-rwxr-xr-x 1 postgres postgres 1130 May 26  2016 build.xml
drwxr-xr-x 3 postgres postgres   17 May 26  2016 doc
-rwxr-xr-x 1 postgres postgres 6376 May 26  2016 HOW-TO-RUN.txt
drwxr-xr-x 5 postgres postgres  129 May 26  2016 lib
-rwxr-xr-x 1 postgres postgres 5318 May 26  2016 README.md
drwxr-xr-x 7 postgres postgres 4096 May 26  2016 run
drwxr-xr-x 6 postgres postgres   67 May 26  2016 src

$ ant -buildfile ./build.xml  
Buildfile: /var/lib/pgsql/benchmarksql-5.0/build.xml

init:
    [mkdir] Created dir: /var/lib/pgsql/benchmarksql-5.0/build

compile:
    [javac] Compiling 11 source files to /var/lib/pgsql/benchmarksql-5.0/build

dist:
    [mkdir] Created dir: /var/lib/pgsql/benchmarksql-5.0/dist
      [jar] Building jar: /var/lib/pgsql/benchmarksql-5.0/dist/BenchmarkSQL-5.0.jar

BUILD SUCCESSFUL
Total time: 3 seconds

下载 postgresql jdbc驱动

下载最新java版本对应的 postgresql jdbc jar,替换旧版本
https://jdbc.postgresql.org/download.html

$ cd ./lib/postgres/
$ mv ./postgresql-9.3-1102.jdbc41.jar /tmp
$ wget https://jdbc.postgresql.org/download/postgresql-42.2.5.jar
$ ls -l
total 808
-rw-r--r-- 1 postgres postgres 825943 Aug 27 23:43 postgresql-42.2.5.jar

配置log4j

修改log4j,减少日志打印量。priority改成info,只输出最终结果,不输出产生订单的日志。

$ find ./ -name log4j.properties
./run/log4j.properties

$ vi ./run/log4j.properties  
  
log4j.rootLogger=INFO, CONSOLE  
  
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender  
log4j.appender.CONSOLE.Threshold=INFO  
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout  
log4j.appender.CONSOLE.layout.ConversionPattern= %d{HH:mm:ss,SSS} [%t] %-5p %x %C{1} : %m%n  

至此,benchmarksql 已经安装好了。

参考:
https://sourceforge.net/projects/benchmarksql/
https://github.com/digoal/blog/blob/master/201701/20170125_01.md

Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐