Skip to main content
Version: 4.0.0

基于Docker Compose

在单机上通过docker-compose方式启动TIS集群。集群包含两个服务组件,分别是负责增量实时同步的Standalone Flink服务和负责TIS控制台与批量同步的tis-console服务。

配置文件介绍

以下是docker-compose配置文件:

docker-compose.yaml
version: "1"
services:
flink:
image: registry.cn-hangzhou.aliyuncs.com/tis/flink:${version}
hostname: flink
mem_limit: 2048m
cpus: '1.0'
ports:
- "8081:8081"
command: ["/bin/bash","-c","./bin/start-cluster.sh && tail -f ./log/flink--standalonesession-0-*.log"]
environment:
- TZ=Asia/Shanghai
depends_on:
- tis-console
tis-console:
image: registry.cn-hangzhou.aliyuncs.com/tis/tis-console:${version}
hostname: tis-console
mem_limit: "1.5G"
cpus: '2.5'
environment:
- TZ=Asia/Shanghai
- JAVA_JVM_OPTS=-Xms512m -Xmx1G -XX:MetaspaceSize=100m -XX:MaxMetaspaceSize=300m
ports:
- "8080:8080"
- "56432:56432"
volumes:
- ${PWD}/config/config.properties:/opt/app/tis-uber/tjs/conf/tis-web-config/config.properties
- ${PWD}/config/config.properties:/opt/app/tis-uber/tis-assemble/conf/tis-web-config/config.properties
- ${PWD}/data:/opt/data

以上flink和tis-console服务对应的docker image的替换符${version}需要分别替换成:

  1. flink Docker Image: registry.cn-hangzhou.aliyuncs.com/tis/flink:4.0.0
  2. tis-console Docker Image:registry.cn-hangzhou.aliyuncs.com/tis/tis-console:4.0.0

docker-compose 文件信息,用户可自行Checkout到本地执行:

启动服务

环境要求

  1. 安装docker,安装说明
  2. 安装docker-compose,安装说明

执行脚本

首先,将TIS项目克隆到本地:

git clone git@github.com:datavane/tis.git -b v4.0.0

然后,启动服务:

cd ./docker-compose
docker-compose -f docker-compose.yaml up -d

确认,docker服务是否正常启动:

docker-compose -f docker-compose.yaml ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
docker-compose-flink-1 registry.cn-hangzhou.aliyuncs.com/tis/flink:xxxx "/docker-entrypoint.…" flink About an hour ago Up About an hour 6123/tcp, 0.0.0.0:8081->8081/tcp
docker-compose-tis-console-1 registry.cn-hangzhou.aliyuncs.com/tis/tis-console:xxx "/opt/app/tis-uber/b…" tis-console About an hour ago Up About an hour 0.0.0.0:8080->8080/tcp, 0.0.0.0:56432->56432/tcp

确认无误,就可以打开TIS控制台了:http://localhost:8080/

初始化

由于tis-console服务中设置了data目录卷,而初始的data目录是一个空目录,TIS启动之后需要执行初始化过。

caution

初始化过程需要用户的本地网络环境可以访问公网,不然无法完成初始化过程

点击开始初始化按钮,触发初始化流程,稍等片刻就可完成,重新刷新页面便可进入TIS。

自定义元数据库

TIS默认使用Apache Derby内嵌数据库作为TIS内部元数据持久化存储组件,用户如希望高可用不丢失数据可以切换到MySQL上,MySQL数据库依赖的版本为5.7

TIS MySQL数据库脚本: https://github.com/qlangtech/tis-ansible/blob/v4.0.0/tis_console_mysql.sql

初始化完成后,修改配置文件 docker-compose/config/config.properties,将元数据持久化存储组件切换为MySQL。

docker-compose/config/config.properties
project.name=TIS
runtime=daily

# MySQL 数据库配置,参数根据用户所在环境自行修改
tis.datasource.type=mysql
tis.datasource.url=192.168.28.200
tis.datasource.port=3306
tis.datasource.username=root
tis.datasource.password=123456
tis.datasource.dbname=tis_console

# Derby 数据库配置注释掉
#tis.datasource.type=derby
#tis.datasource.dbname=tis_console_db

assemble.host=tis-console
tis.host=tis-console

启动集群中包含两个组件,分别为TIS和Standalone模式的Flink,如需要为数据通道开启实时增量同步功能,这里为TIS与Flink的连接方式特别说明以下,由于这两个组件同在docker compose 创建的本地网络中,TIS访问Flink组件可以使用docker compose的service名作为hostname进行访问。

开始创建实时增量通道,点击添加按钮开始创建Standalone模式Flink集群配置
打开创建Flink集群配置对话框
  • 在JMAddress输入栏中输入flink:8081,注:host名必须用flink,不然无法正常连接
  • 点击校验按钮,对表单输入是否正确进行确认
  • 确认表单无误,点击保存按钮

进一步详细了解增量实时同步通道操作流程,请查看例子: