From 67e85d201c3a1473b3d99fa2a41f7019d0ed08df Mon Sep 17 00:00:00 2001 From: "jianghang.loujh" Date: Fri, 13 May 2022 12:46:12 +0800 Subject: [PATCH] remove client adapter Docker --- client-adapter/docker/Dockerfile | 22 ------ client-adapter/docker/build.sh | 20 ----- client-adapter/docker/startup.sh | 79 ------------------- .../es/core/service/ESSyncService.java | 18 ++--- 4 files changed, 7 insertions(+), 132 deletions(-) delete mode 100644 client-adapter/docker/Dockerfile delete mode 100644 client-adapter/docker/build.sh delete mode 100644 client-adapter/docker/startup.sh diff --git a/client-adapter/docker/Dockerfile b/client-adapter/docker/Dockerfile deleted file mode 100644 index abe472c6..00000000 --- a/client-adapter/docker/Dockerfile +++ /dev/null @@ -1,22 +0,0 @@ -# 本脚本参考slpcat的docker镜像生成脚本 -# 链接:https://github.com/slpcat/docker-images/tree/master/bigdata/canal/debian10-canal-adapter-jdk8 -FROM slpcat/openjdk:8 - -MAINTAINER 若虚 - -# install canal-adapter -COPY canal.adapter-*.tar.gz /tmp/ - -RUN \ - mkdir -p /opt/canal-adapter && \ - tar -zxf /tmp/canal.adapter-*.tar.gz -C /opt/canal-adapter && \ - rm -r /tmp/canal.adapter-*.tar.gz - -COPY startup.sh /opt/canal-adapter/bin/startup.sh - -# 8081 exporter -EXPOSE 8081 - -WORKDIR /opt/canal-adapter - -CMD ["sh", "-c", "./bin/startup.sh"] \ No newline at end of file diff --git a/client-adapter/docker/build.sh b/client-adapter/docker/build.sh deleted file mode 100644 index 87741110..00000000 --- a/client-adapter/docker/build.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash - -current_path=`pwd` -case "`uname`" in - Darwin) - bin_abs_path=`cd $(dirname $0); pwd` - ;; - Linux) - bin_abs_path=$(readlink -f $(dirname $0)) - ;; - *) - bin_abs_path=`cd $(dirname $0); pwd` - ;; -esac -BASE=${bin_abs_path} - -rm -rf $BASE/canal.*.tar.gz ; -cd $BASE/../../ && mvn clean package -DskipTests -Denv=release && cd $current_path ; -cp $BASE/../../target/canal.adapter-*.tar.gz $BASE/ -docker build --no-cache -t canal/canal-adapter:v1.1.6 $BASE/ diff --git a/client-adapter/docker/startup.sh b/client-adapter/docker/startup.sh deleted file mode 100644 index adbc8884..00000000 --- a/client-adapter/docker/startup.sh +++ /dev/null @@ -1,79 +0,0 @@ -#!/bin/bash - -current_path=`pwd` -case "`uname`" in - Linux) - bin_abs_path=$(readlink -f $(dirname $0)) - ;; - *) - bin_abs_path=`cd $(dirname $0); pwd` - ;; -esac -base=${bin_abs_path}/.. -export LANG=en_US.UTF-8 -export BASE=$base - -if [ -f $base/bin/adapter.pid ] ; then - echo "found adapter.pid , Please run stop.sh first ,then startup.sh" 2>&2 - exit 1 -fi - -if [ ! -d $base/logs ] ; then - mkdir -p $base/logs -fi - -## set java path -if [ -z "$JAVA" ] ; then - JAVA=$(which java) -fi - -ALIBABA_JAVA="/usr/alibaba/java/bin/java" -TAOBAO_JAVA="/opt/taobao/java/bin/java" -if [ -z "$JAVA" ]; then - if [ -f $ALIBABA_JAVA ] ; then - JAVA=$ALIBABA_JAVA - elif [ -f $TAOBAO_JAVA ] ; then - JAVA=$TAOBAO_JAVA - else - echo "Cannot find a Java JDK. Please set either set JAVA or put java (>=1.5) in your PATH." 2>&2 - exit 1 - fi -fi - -case "$#" -in -0 ) - ;; -2 ) - if [ "$1" = "debug" ]; then - DEBUG_PORT=$2 - DEBUG_SUSPEND="n" - JAVA_DEBUG_OPT="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=$DEBUG_PORT,server=y,suspend=$DEBUG_SUSPEND" - fi - ;; -* ) - echo "THE PARAMETERS MUST BE TWO OR LESS.PLEASE CHECK AGAIN." - exit;; -esac - -str=`file -L $JAVA | grep 64-bit` -if [ -n "$str" ]; then - JAVA_OPTS="-server -Xms2048m -Xmx3072m -Xmn1024m -XX:SurvivorRatio=2 -Xss256k -XX:+DisableExplicitGC -XX:+HeapDumpOnOutOfMemoryError" -else - JAVA_OPTS="-server -Xms1024m -Xmx1024m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:MaxPermSize=128m " -fi - -JAVA_OPTS=" $JAVA_OPTS -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Dfile.encoding=UTF-8" -ADAPTER_OPTS="-DappName=canal-adapter" - -for i in $base/lib/*; - do CLASSPATH=$i:"$CLASSPATH"; -done - -CLASSPATH="$base/conf:$CLASSPATH"; - -echo "cd to $bin_abs_path for workaround relative path" -cd $bin_abs_path - -echo CLASSPATH :$CLASSPATH -exec $JAVA $JAVA_OPTS $JAVA_DEBUG_OPT $ADAPTER_OPTS -classpath .:$CLASSPATH com.alibaba.otter.canal.adapter.launcher.CanalAdapterApplication diff --git a/client-adapter/escore/src/main/java/com/alibaba/otter/canal/client/adapter/es/core/service/ESSyncService.java b/client-adapter/escore/src/main/java/com/alibaba/otter/canal/client/adapter/es/core/service/ESSyncService.java index 3d75aa20..e261ec76 100644 --- a/client-adapter/escore/src/main/java/com/alibaba/otter/canal/client/adapter/es/core/service/ESSyncService.java +++ b/client-adapter/escore/src/main/java/com/alibaba/otter/canal/client/adapter/es/core/service/ESSyncService.java @@ -1,19 +1,15 @@ package com.alibaba.otter.canal.client.adapter.es.core.service; -import java.util.ArrayList; -import java.util.Collection; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; +import java.util.*; import javax.sql.DataSource; -import com.alibaba.fastjson2.JSONWriter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.alibaba.fastjson2.JSON; import com.alibaba.druid.sql.dialect.mysql.ast.statement.MySqlSelectQueryBlock; +import com.alibaba.fastjson2.JSON; +import com.alibaba.fastjson2.JSONWriter; import com.alibaba.otter.canal.client.adapter.es.core.config.ESSyncConfig; import com.alibaba.otter.canal.client.adapter.es.core.config.ESSyncConfig.ESMapping; import com.alibaba.otter.canal.client.adapter.es.core.config.SchemaItem; @@ -209,7 +205,7 @@ public class ESSyncService { if (schemaItem.getAliasTableItems().size() == 1 && schemaItem.isAllFieldsSimple()) { // ------单表 & 所有字段都为简单字段------ - singleTableSimpleFiledUpdate(config,schemaItem.getMainTable().getAlias(), dml, data, old); + singleTableSimpleFiledUpdate(config, schemaItem.getMainTable().getAlias(), dml, data, old); } else { // ------主表 查询sql来更新------ if (schemaItem.getMainTable().getTableName().equalsIgnoreCase(dml.getTable())) { @@ -263,7 +259,7 @@ public class ESSyncService { // 判断主键和所更新的字段是否全为简单字段 if (idFieldSimple && allUpdateFieldSimple && !fkChanged) { - singleTableSimpleFiledUpdate(config,schemaItem.getMainTable().getAlias(), dml, data, old); + singleTableSimpleFiledUpdate(config, schemaItem.getMainTable().getAlias(), dml, data, old); } else { mainTableUpdate(config, dml, data, old); } @@ -810,12 +806,12 @@ public class ESSyncService { * @param data 单行data数据 * @param old 单行old数据 */ - private void singleTableSimpleFiledUpdate(ESSyncConfig config,String owner, Dml dml, Map data, + private void singleTableSimpleFiledUpdate(ESSyncConfig config, String owner, Dml dml, Map data, Map old) { ESMapping mapping = config.getEsMapping(); Map esFieldData = new LinkedHashMap<>(); - Object idVal = esTemplate.getESDataFromDmlData(mapping,owner, data, old, esFieldData); + Object idVal = esTemplate.getESDataFromDmlData(mapping, owner, data, old, esFieldData); if (logger.isTraceEnabled()) { logger.trace("Main table update to es index, destination:{}, table: {}, index: {}, id: {}",