跳到主要内容

版本升级(TGZ)

本文档主要介绍 TGZ 部署方式,更新升级 CloudCanal 版本。

前置条件

已通过 TGZ 方式部署 CloudCanal 控制台。

如还未安装, 请先按 全新安装(TGZ Linux) 文档进行安装。

步骤

获取新安装包

  1. 官网 获取新安装包下载链接。

  2. 部署机器切换到 clougence 用户。

sudo su - clougence
  1. 将安装包下载到待更新的服务器 tar_gz 目录。
cd tar_gz

cat wgettgz.sh

wgettgz.sh 脚本内容:

#!/bin/bash
echo "Begin to download cc.tgz"
cd ~/tar_gz
rm -rf ~/tar_gz/cloudcanal*
wget "$1" -O cc.tgz
if [ $? -eq 0 ];then
echo "Download successful"
tar xaf cc.tgz
else
echo "Download fail, please check."
fi

sh wgettgz.sh "{the CloudCanal download url from www.clougence.com}"

更新控制台 (Console)

  1. tar_gz 目录新建 upgrade_console.sh 脚本并编辑。
cat upgrade_console.sh

upgrade_console.sh 脚本内容:

#!/bin/bash

# check the user clougence
if [ "$(whoami)" != "clougence" ]; then
echo "Error: as 'clougence' user to execute this script."
exit 1
fi

cd /home/clougence/tar_gz
if [ ! -f "/home/clougence/tar_gz/cloudcanal-console.tar.gz" ];then
echo "File not exist, extract package first."
exit
else
tar xavf cloudcanal-console.tar.gz
fi

# stop current console
cd /home/clougence/cloudcanal/console/bin && sh stopConsole.sh

# backup directory check and build
BACKUP_DIR="/home/clougence/backup"

if [ ! -d "$BACKUP_DIR" ]; then
mkdir -p "$BACKUP_DIR"
echo "Directory $BACKUP_DIR is been created successfully."
else
echo "Directory $BACKUP_DIR is exist."
fi

# backup the old deployment
TODAY=$(date +%F)
TARGET_DIR="$BACKUP_DIR/console_$TODAY"
SOURCE_DIR="/home/clougence/cloudcanal/console"

if [ -d "$TARGET_DIR" ]; then
rm -rf "$TARGET_DIR"
echo "Same date backup is been deleted: $TARGET_DIR"
else
echo "$TARGET_DIR have no same date backup,continue."
fi

mv "$SOURCE_DIR" "$TARGET_DIR"

# update console
cp -r /home/clougence/tar_gz/cloudcanal/console /home/clougence/cloudcanal

ORIGIN_CONF="$TARGET_DIR/conf/business-output.properties"
cp "$ORIGIN_CONF" /home/clougence/cloudcanal/console/conf/

# start console
cd /home/clougence/cloudcanal/console/bin && sh startConsoleAndUpdDb.sh
  1. 执行脚本。
sh upgrade_console.sh
  1. 可选)如果升级出现错误且无法提供正常服务,可进行如下 回滚 操作。
cd /home/clougence/cloudcanal/

mv console console_error_`date +%F`

mv /home/clougence/backup/console_`date +%F` ./console

cd console/bin && sh startConsole.sh

更新任务运行机器 (Sidecar)

自动升级

  1. 打通 控制台 (Console)任务运行机器 (Sidecar)SSH 访问权限。

  2. 登录控制台,点击 同步设置 > 同步机器 > 机器列表 > 更多 > 升级客户端

  3. 输入节点的 用户名密码密钥地址 即可进行升级。

  4. 可选)如果升级出现错误且无法提供正常服务,可进行 回滚 操作:点击 同步设置 > 同步机器 > 机器列表 > 更多 > 回滚客户端

手动升级

  1. tar_gz 目录新建 upgrade_sidecar.sh 脚本。
cat upgrade_sidecar.sh 

#!/bin/bash
cd /home/clougence/tar_gz
rm -rf cloudcanal cloudcanal-*
if [ ! -f "/home/clougence/tar_gz/cloudcanal.tgz" ];then
echo "file not exist,please check!!!!!!!"
exit
else
tar xavf cloudcanal.tgz
tar xaf cloudcanal-core.tar.gz && tar xaf cloudcanal-sidecar.tar.gz && tar xaf cloudcanal-ds.tar.gz
fi

source /etc/profile
cd /home/clougence/cloudcanal

mkdir /home/clougence/backup/cloudcanal_`date +%F`

mv /home/clougence/cloudcanal/{cloudcanal,ds_lib,release_info,sidecar} /home/clougence/backup/cloudcanal_`date +%F`
cp -r /home/clougence/tar_gz/cloudcanal/{cloudcanal,ds_lib,release_info,sidecar} /home/clougence/cloudcanal

jps -l|grep -E 'task|SidecarApplication'|awk '{print $1}'|xargs kill -9

cd /home/clougence/cloudcanal/sidecar/bin && sh startSidecar.sh
  1. 执行脚本。
sh upgrade_sidecar.sh
  1. 可选)如果升级出现错误且无法提供正常服务,可进行如下 回滚 操作。
mkdir /home/clougence/cloudcanal/cloudcanal_error_`date +%F`

mv /home/clougence/cloudcanal/{cloudcanal,ds_lib,release_info,sidecar} /home/clougence/cloudcanal/cloudcanal_error_`date +%F`

mv /home/clougence/cloudcanal/cloudcanal_`date +%F`/{cloudcanal,ds_lib,release_info,sidecar} /home/clougence/cloudcanal

jps -l|grep -E 'task|SidecarApplication'|awk '{print $1}'|xargs kill -9

cd /home/clougence/cloudcanal/sidecar/bin && sh startSidecar.sh