基于Docker Compose
在单机上通过docker-compose
方式启动TIS集群。集群包含两个服务组件,分别是负责增量实时同步的Standalone Flink
服务和负责TIS控制台与批量同步的tis-console
服务。
配置文件介绍
以下是docker-compose配置文件:
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/web-start/conf/tis-web-config/config.properties
- ${PWD}/data:/opt/data
以上flink和tis-console服务对应的docker image的替换符${version}
需要分别替换成:
flink Docker Image
: registry.cn-hangzhou.aliyuncs.com/tis/flink:4.0.1tis-console Docker Image
:registry.cn-hangzhou.aliyuncs.com/tis/tis-console:4.0.1
docker-compose 文件信息,用户可自行Checkout到本地执行:
- 所在Github项目:https://github.com/datavane/tis/blob/v4.0.1
- Github项目文件路径:https://github.com/datavane/tis/blob/v4.0.1/docker-compose/docker-compose.yaml
启动服务
环境要求
执行脚本
首先,将TIS项目克隆到本地:
git clone git@github.com:datavane/tis.git -b v4.0.1
然后,启动服务:
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启动之后需要执行初始化过。
初始化过程需要用户的本地网络环境可以访问公网,不然无法完成初始化过程
点击开始初始化
按钮,触发初始化流程,稍等片刻就可完成,重新刷新页面便可进入TIS。
自定义元数据库
TIS默认使用Apache Derby内嵌数据库作为TIS内部元数据持久化存储组件,用户如希望高可用不丢失数据可以切换到MySQL上,MySQL数据库依赖的版本为5.7
TIS MySQL数据库脚本: https://github.com/qlangtech/tis-ansible/blob/v4.0.1/tis_console_mysql.sql
初始化完成后,修改配置文件 docker-compose/config/config.properties
,将元数据持久化存储组件切换为MySQL。
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和Standalone模式的Flink,如需要为数据通道开启实时增量同步功能,这里为TIS与Flink的连接方式特别说明以下,由于这两个组件同在docker compose 创建的本地网络中,TIS访问Flink组件可以使用docker compose的service名作为hostname进行访问。
开始创建实时增量通道,点击添加按钮开始创建Standalone模式Flink集群配置 | |
打开创建Flink集群配置对话框
|
进一步详细了解增量实时同步通道操作流程,请查看例子: