From b5621d1ffd8b3a9ce9befd7e6eb2e2c4da0d0049 Mon Sep 17 00:00:00 2001 From: pierrexiong Date: Fri, 22 May 2020 20:14:16 +0800 Subject: [PATCH 1/2] add assembly and operation scripts to simplify deployment xiongyongxin@hotmail --- console/package-lock.json | 57 ++++++++--------------------- pom.xml | 2 +- web/bin/shutdown.sh | 16 ++++++++ web/bin/startup.sh | 46 +++++++++++++++++++++++ web/conf/application.yml | 32 ++++++++++++++++ web/pom.xml | 20 ++++++++++ web/src/main/resources/assembly.xml | 34 +++++++++++++++++ 7 files changed, 165 insertions(+), 42 deletions(-) create mode 100644 web/bin/shutdown.sh create mode 100644 web/bin/startup.sh create mode 100644 web/conf/application.yml create mode 100644 web/src/main/resources/assembly.xml diff --git a/console/package-lock.json b/console/package-lock.json index 1e6cc369..5b64b1b2 100644 --- a/console/package-lock.json +++ b/console/package-lock.json @@ -751,8 +751,7 @@ "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/assert-plus/download/assert-plus-1.0.0.tgz", "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true, - "optional": true + "dev": true }, "assign-symbols": { "version": "1.0.0", @@ -1505,7 +1504,6 @@ "resolved": "http://registry.npm.taobao.org/combined-stream/download/combined-stream-1.0.7.tgz", "integrity": "sha1-LR0kMXr7ir6V1tLAsHtXgTU52Cg=", "dev": true, - "optional": true, "requires": { "delayed-stream": "~1.0.0" } @@ -2222,8 +2220,7 @@ "version": "1.0.0", "resolved": "http://registry.npm.taobao.org/delayed-stream/download/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true, - "optional": true + "dev": true }, "depd": { "version": "1.1.2", @@ -2941,8 +2938,7 @@ "version": "1.3.0", "resolved": "http://registry.npm.taobao.org/extsprintf/download/extsprintf-1.3.0.tgz", "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true, - "optional": true + "dev": true }, "fast-deep-equal": { "version": "2.0.1", @@ -3358,8 +3354,7 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "aproba": { "version": "1.2.0", @@ -3380,14 +3375,12 @@ "balanced-match": { "version": "1.0.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, "dev": true, - "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -3402,20 +3395,17 @@ "code-point-at": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "concat-map": { "version": "0.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "console-control-strings": { "version": "1.1.0", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "core-util-is": { "version": "1.0.2", @@ -3532,8 +3522,7 @@ "inherits": { "version": "2.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "ini": { "version": "1.3.5", @@ -3545,7 +3534,6 @@ "version": "1.0.0", "bundled": true, "dev": true, - "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -3560,7 +3548,6 @@ "version": "3.0.4", "bundled": true, "dev": true, - "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -3568,14 +3555,12 @@ "minimist": { "version": "0.0.8", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "minipass": { "version": "2.3.5", "bundled": true, "dev": true, - "optional": true, "requires": { "safe-buffer": "^5.1.2", "yallist": "^3.0.0" @@ -3594,7 +3579,6 @@ "version": "0.5.1", "bundled": true, "dev": true, - "optional": true, "requires": { "minimist": "0.0.8" } @@ -3675,8 +3659,7 @@ "number-is-nan": { "version": "1.0.1", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "object-assign": { "version": "4.1.1", @@ -3688,7 +3671,6 @@ "version": "1.4.0", "bundled": true, "dev": true, - "optional": true, "requires": { "wrappy": "1" } @@ -3774,8 +3756,7 @@ "safe-buffer": { "version": "5.1.2", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "safer-buffer": { "version": "2.1.2", @@ -3811,7 +3792,6 @@ "version": "1.0.2", "bundled": true, "dev": true, - "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -3831,7 +3811,6 @@ "version": "3.0.1", "bundled": true, "dev": true, - "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -3875,14 +3854,12 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true, - "optional": true + "dev": true }, "yallist": { "version": "3.0.3", "bundled": true, - "dev": true, - "optional": true + "dev": true } } }, @@ -4864,8 +4841,7 @@ "version": "0.1.1", "resolved": "http://registry.npm.taobao.org/jsbn/download/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true, - "optional": true + "dev": true }, "json-parse-better-errors": { "version": "1.0.2", @@ -8883,8 +8859,7 @@ "version": "0.14.5", "resolved": "http://registry.npm.taobao.org/tweetnacl/download/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true, - "optional": true + "dev": true }, "type-is": { "version": "1.6.16", diff --git a/pom.xml b/pom.xml index fa81479b..b55fd74a 100644 --- a/pom.xml +++ b/pom.xml @@ -77,7 +77,7 @@ com.alibaba fastjson - 1.2.58 + 1.2.68 org.apache.zookeeper diff --git a/web/bin/shutdown.sh b/web/bin/shutdown.sh new file mode 100644 index 00000000..4fb29c78 --- /dev/null +++ b/web/bin/shutdown.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash + +cd `dirname $0`/../lib +lib_dir=`pwd` + +pid=`ps ax | grep -i 'kafka-manager-web' | grep ${lib_dir} | grep java | grep -v grep | awk '{print $1}'` +if [ -z "$pid" ] ; then + echo "No kafka-manager-web running." + exit -1; +fi + +echo "The kafka-manager-web(${pid}) is running..." + +kill ${pid} + +echo "Send shutdown request to kafka-manager-web(${pid}) OK" \ No newline at end of file diff --git a/web/bin/startup.sh b/web/bin/startup.sh new file mode 100644 index 00000000..0ccde105 --- /dev/null +++ b/web/bin/startup.sh @@ -0,0 +1,46 @@ +#!/usr/bin/env bash + +error_exit () +{ + echo "ERROR: $1 !!" + exit 1 +} + +if [ -z "$JAVA_HOME" ]; then + error_exit "Please set the JAVA_HOME variable in your environment, We need java(x64)! jdk8 or later is better!" + +fi + +export WEB_SERVER="kafka-manager-web-*" +export JAVA_HOME +export JAVA="$JAVA_HOME/bin/java" +export BASE_DIR=`cd $(dirname $0)/..; pwd` +export DEFAULT_SEARCH_LOCATIONS="classpath:/,classpath:/config/,file:./,file:./config/" +export CUSTOM_SEARCH_LOCATIONS=${DEFAULT_SEARCH_LOCATIONS},file:${BASE_DIR}/conf/ + +#=========================================================================================== +# JVM Configuration +#=========================================================================================== + +JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m" +JAVA_OPT="${JAVA_OPT} -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=${BASE_DIR}/logs/java_heapdump.hprof" +JAVA_OPT="${JAVA_OPT} -Xloggc:${BASE_DIR}/logs/gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M" +JAVA_OPT="${JAVA_OPT} -jar ${BASE_DIR}/lib/${WEB_SERVER}.jar" +JAVA_OPT="${JAVA_OPT} --spring.config.location=${CUSTOM_SEARCH_LOCATIONS}" +JAVA_OPT="${JAVA_OPT} --logging.config=${BASE_DIR}/conf/logback-spring.xml" +JAVA_OPT="${JAVA_OPT} --server.max-http-header-size=524288" + +if [ ! -d "${BASE_DIR}/logs" ]; then + mkdir ${BASE_DIR}/logs +fi + +echo "$JAVA ${JAVA_OPT}" + +# check the start.out log output file +if [ ! -f "${BASE_DIR}/logs/start.out" ]; then + touch "${BASE_DIR}/logs/start.out" +fi +# start +echo "$JAVA ${JAVA_OPT}" > ${BASE_DIR}/logs/start.out 2>&1 & +nohup $JAVA ${JAVA_OPT} >> ${BASE_DIR}/logs/start.out 2>&1 & +echo "kafka-manager is starting,you can check the ${BASE_DIR}/logs/start.out" \ No newline at end of file diff --git a/web/conf/application.yml b/web/conf/application.yml new file mode 100644 index 00000000..b0363881 --- /dev/null +++ b/web/conf/application.yml @@ -0,0 +1,32 @@ +server: + port: 8080 + tomcat: + accept-count: 100 + max-connections: 1000 + max-threads: 20 + min-spare-threads: 20 + +spring: + application: + name: kafkamanager + datasource: + kafka-manager: + jdbc-url: jdbc:mysql://localhost:3306/kafka_manager?characterEncoding=UTF-8&serverTimezone=GMT%2B8 + username: admin + password: admin + driver-class-name: org.mariadb.jdbc.Driver + main: + allow-bean-definition-overriding: true + + profiles: + active: dev + +logging: + config: classpath:logback-spring.xml + +# kafka监控 +kafka-monitor: + enabled: true + notify-kafka: + cluster-id: 95 + topic-name: kmo_monitor diff --git a/web/pom.xml b/web/pom.xml index 8865e641..9ddf94f3 100644 --- a/web/pom.xml +++ b/web/pom.xml @@ -110,6 +110,26 @@ + + org.apache.maven.plugins + maven-assembly-plugin + + + make-assembly + package + + single + + + kafka-manager-${project.version} + + ./src/main/resources/assembly.xml + + posix + + + + diff --git a/web/src/main/resources/assembly.xml b/web/src/main/resources/assembly.xml new file mode 100644 index 00000000..a71ba211 --- /dev/null +++ b/web/src/main/resources/assembly.xml @@ -0,0 +1,34 @@ + + bin + + dir + tar.gz + + + + + ./bin/* + + 0755 + + + ./src/main/resources/ + conf + + application.yml + logback-spring.xml + + + + ${project.build.directory} + lib + + *.jar + + + + + \ No newline at end of file From 2397cbf80b877f4e0eb8b4a258aaf4b49bee1e9c Mon Sep 17 00:00:00 2001 From: zengqiao Date: Fri, 25 Sep 2020 11:56:31 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E8=B0=83=E6=95=B4=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E4=B8=BA1.1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 2 +- README.md | 2 +- common/pom.xml | 4 ++-- console/pom.xml | 2 +- dao/pom.xml | 4 ++-- docker/kafka-manager/Dockerfile | 2 +- pom.xml | 4 ++-- service/pom.xml | 6 +++--- web/pom.xml | 4 ++-- 9 files changed, 15 insertions(+), 15 deletions(-) diff --git a/Dockerfile b/Dockerfile index 71f0412f..6bfaadea 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ FROM fabric8/java-alpine-openjdk8-jdk MAINTAINER xuzhengxi ENV LANG=C.UTF-8 LC_ALL=C.UTF-8 -ADD ./web/target/kafka-manager-web-1.0.0-SNAPSHOT.jar kafka-manager-web.jar +ADD ./web/target/kafka-manager-web-1.1.0-SNAPSHOT.jar kafka-manager-web.jar ADD ./docker/kafka-manager/application-standalone.yml application.yml ENTRYPOINT ["java","-jar","/kafka-manager-web.jar","--spring.config.location=./application.yml"] EXPOSE 8080 \ No newline at end of file diff --git a/README.md b/README.md index 02177bdc..e65dc2c0 100644 --- a/README.md +++ b/README.md @@ -95,7 +95,7 @@ create database kafka_manager owner=admin template=template0 encoding='UTF-8' lc ############# application.yml 是配置文件 cp web/src/main/resources/application.yml web/target/ cd web/target/ -nohup java -jar kafka-manager-web-1.0.0-SNAPSHOT.jar --spring.config.location=./application.yml > /dev/null 2>&1 & +nohup java -jar kafka-manager-web-1.1.0-SNAPSHOT.jar --spring.config.location=./application.yml > /dev/null 2>&1 & ``` ### 使用 diff --git a/common/pom.xml b/common/pom.xml index 9284d4ff..a39bcd31 100644 --- a/common/pom.xml +++ b/common/pom.xml @@ -5,13 +5,13 @@ 4.0.0 com.xiaojukeji.kafka kafka-manager-common - 1.0.0-SNAPSHOT + 1.1.0-SNAPSHOT jar kafka-manager com.xiaojukeji.kafka - 1.0.0-SNAPSHOT + 1.1.0-SNAPSHOT diff --git a/console/pom.xml b/console/pom.xml index cbb41991..40a10973 100644 --- a/console/pom.xml +++ b/console/pom.xml @@ -5,7 +5,7 @@ kafka-manager com.xiaojukeji.kafka - 1.0.0-SNAPSHOT + 1.1.0-SNAPSHOT 4.0.0 kafka-manager-console diff --git a/dao/pom.xml b/dao/pom.xml index 0e0cf71f..a50eaa58 100644 --- a/dao/pom.xml +++ b/dao/pom.xml @@ -5,13 +5,13 @@ 4.0.0 com.xiaojukeji.kafka kafka-manager-dao - 1.0.0-SNAPSHOT + 1.1.0-SNAPSHOT jar kafka-manager com.xiaojukeji.kafka - 1.0.0-SNAPSHOT + 1.1.0-SNAPSHOT diff --git a/docker/kafka-manager/Dockerfile b/docker/kafka-manager/Dockerfile index 87647313..de8d2f25 100644 --- a/docker/kafka-manager/Dockerfile +++ b/docker/kafka-manager/Dockerfile @@ -1,7 +1,7 @@ FROM java:8 MAINTAINER xuzhengxi ENV LANG=C.UTF-8 LC_ALL=C.UTF-8 -ADD ../../web/target/kafka-manager-web-1.0.0-SNAPSHOT.jar kafka-manager-web.jar +ADD ../../web/target/kafka-manager-web-1.1.0-SNAPSHOT.jar kafka-manager-web.jar ADD ./application.yml application.yml ENTRYPOINT ["java","-jar","/kafka-manager-web.jar","--spring.config.location=./application.yml"] EXPOSE 8080 \ No newline at end of file diff --git a/pom.xml b/pom.xml index ca8eaf1b..c9a2e9e4 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ com.xiaojukeji.kafka kafka-manager pom - 1.0.0-SNAPSHOT + 1.1.0-SNAPSHOT org.springframework.boot @@ -15,7 +15,7 @@ - 1.0.0-SNAPSHOT + 1.1.0-SNAPSHOT 2.9.0 diff --git a/service/pom.xml b/service/pom.xml index 568ace60..73c1ab93 100644 --- a/service/pom.xml +++ b/service/pom.xml @@ -5,13 +5,13 @@ 4.0.0 com.xiaojukeji.kafka kafka-manager-service - 1.0.0-SNAPSHOT + 1.1.0-SNAPSHOT jar kafka-manager com.xiaojukeji.kafka - 1.0.0-SNAPSHOT + 1.1.0-SNAPSHOT @@ -31,7 +31,7 @@ com.xiaojukeji.kafka kafka-manager-dao - 1.0.0-SNAPSHOT + 1.1.0-SNAPSHOT diff --git a/web/pom.xml b/web/pom.xml index 9ddf94f3..9ef75708 100644 --- a/web/pom.xml +++ b/web/pom.xml @@ -4,13 +4,13 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 kafka-manager-web - 1.0.0-SNAPSHOT + 1.1.0-SNAPSHOT jar kafka-manager com.xiaojukeji.kafka - 1.0.0-SNAPSHOT + 1.1.0-SNAPSHOT