安装过程
创建用户
使用root用户,创建用户:
useradd -d /data/mtk -m mtk
passwd mtk
安装程序包
MTK分为单机和高可用两种部署方式。
单机部署启动
执行
tar xf antdb-mtk-release-8.3.x86_64.tar.gz
cd ~/rel/mtk
sh install.sh
注意: <version> 为对应的版本号 , 安装包根据操作系统的和CPU架构进行选择。
集群部署启动
下面以一台主机为例,如果需要每台主机进行调整的过程,会做特殊说明。
步骤1 解压安装文件
tar -zxvf antdb-mtk-release-8.3.x86_64.tar.gz
步骤2 检查Java 运行时
MTK自带了一个JDK版本,推荐使用内置的JDK版本。
cd ~/rel/mtk
jdk/bin/java –version
进行查看
步骤3 修改环境变量,并使之生效
如需调整,打开Shell环境变量配置文件
vi ~/.bashrc
修改这个环境变量:
export JAVA_HOME=/data/mtk/rel/mtk/jdk
export PATH=C:UsersJeanRiver.jdksazul-17.0.5/bin:C:/DevTools/dbeaver/jre/bin/server;C:/DevTools/dbeaver/jre/bin;C:WINDOWSsystem32;C:WINDOWS;C:WINDOWSSystem32Wbem;C:WINDOWSSystem32WindowsPowerShellv1.0;C:WINDOWSSystem32OpenSSH;C:Program FilesGitcmd;C:UsersJeanRiver.jdksazul-17.0.5\bin;C:UsersJeanRiver.jdksazul-17.0.5\jrein;D:apache-maven-3.9.5in;C:DevToolsBandizip;C:Program FilesTortoiseSVNin;C:ProgramDatachocolateyin;C:Program FilesAsiainfo SecurityAisEsmAgentatom_pluginsase_plugin;D:
odeJs;C:UsersJeanRiverAppDataLocalProgramsPythonPython311Scripts;C:UsersJeanRiverAppDataLocalProgramsPythonPython311;C:UsersJeanRiverAppDataLocalProgramsPythonPython311Scripts;C:UsersJeanRiverAppDataLocalProgramsPythonPython311;C:UsersJeanRiverAppDataLocalMicrosoftWindowsApps;;C:DevToolsMicrosoft VS Codein;C:Program FilesJetBrainsIntelliJ IDEA 2023.2in;;C:UsersJeanRiverAppDataRoaming
pm;C:DevToolsdbeaver;
保存退出。
重新加载环境变量生效
source ~/.bashrc
步骤4 从配置样例实例化一份配置文件出来
cd ~/rel/mtk
cp -r config.example config
步骤5 修改zookeeper的配置文件
vi ~/rel/mtk/config/zookeeper.properties
按照实际情况进行配置:
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/tmp/zookeeper
server.1=10.21.10.1:3188:3288
server.2=10.21.10.2:3188:3288
server.3=10.21.10.3:3188:3288
增加zookeeper的myid文件:
创建ZooKeeper的数据存储目录。要创建目录需要zookeeper.properties 中配置的dataDir要保持一致。 每台主机根据配置文件中的id加入myid文件,必须与配置文件中"server"后面的序号一一对应
mkdir /tmp/zookeeper
echo 1 > /tmp/zookeeper/myid
步骤6 启动zookeeper
编辑ZK 配置文件
cd ~/rel/mtk
./bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
步骤7 修改kafka的配置文件
编辑kafka配置文件。
vi ~/rel/mtk/config/server.properties
按照实际情况进行配置:
broker.id=0
listeners=PLAINTEXT://:9092
advertised.listeners=PLAINTEXT://10.21.10.1:9092
log.dirs=kafka-logs
num.partitions=6
zookeeper.connect=10.21.10.1:2181,10.21.10.2:2181,10.21.10.3:2181
offsets.topic.replication.factor=3
replication.factor=3
transaction.state.log.replication.factor=3
transaction.state.log.min.isr=3
上述的配置项中 broker.id=0
配置项,必须每台主机保持不同。 log.dirs=kafka-logs
为kafka中topic中的数据存放目录, 建议配置在容量较大的磁盘上。 zookeeper.connect
配置项,需要根据Zookeeper的监听地址进行配置。
步骤8 启动kafka
使用以下的shell命令启动kafka, 每台主机都需要启动。
cd ~/rel/mtk
./bin/kafka-server-start.sh -daemon config/server.properties
步骤9 启动kafkasql
此步骤 非必启中间件,只需选择集群中的某一台主机启动一个服务即可 如果只需要在kafka中存储JSON格式的数据,可以跳过此步骤。
启动KafkaSQL
cd ~/rel/mtk
nohup $JAVA\_HOME/bin/java -Dregistry.kafka.common.bootstrap.servers=10.21.10.1:9092,10.21.10.2:9092,10.21.10.3:9092 -Dquarkus.http.port=8080 -jar apicurio-registry-storage-kafkasql-2.2.5.Final-runner.jar \>/dev/null&
上述registry.kafka.common.bootstrap.servers
参数为前述步骤中的Kafka的地址。quarkus.http.port
为对外暴露的端口。
步骤10 修改kafka connect的配置文件
发开配置文件编辑配置
vi ~/rel/mtk/config/connect-distributed.properties
按照实际情况进行配置:
bootstrap.servers=10.21.10.1:9092,10.21.10.2:9092,10.21.10.3:9092
listeners=HTTP://10.21.10.1:8083
offset.storage.replication.factor=3
config.storage.replication.factor=3
status.storage.replication.factor=3
rest.extension.classes=com.ai.dbsync.metric.ext.DbSyncMetricRestExtension
plugin.path=dbsync-lib
其中bootstrap.servers
为前述步骤安装Kafka的步骤。 listeners
为此进程监听端口和监听IP的配置,填写0.0.0.0IP则监听所有端口。
步骤11 启动kafka Connect
使用以下的指令启动kafka Connect
cd ~/rel/mtk
./bin/connect-distributed.sh -daemon config/connect-distributed.properties
步骤12 修改管理工具的配置文件
修改下述的配置文件
vi ~/rel/mtk/config/application.properties
按照实际情况进行配置: kafka.connector.url
【对应步骤11启动的所有kafka connect服务节点】 kafka.bootstrap.servers
【对应步骤8启动的所有kafka服务节点】 schema.register.url
【对应步骤9启动的kafkasql服务节点】
logging.level.root=error
kafka.connector.url=HTTP://192.168.10.146:8083,HTTP://192.168.10.148:8083,HTTP://192.168.10.149:8083
kafka.bootstrap.servers=192.168.10.146:9092,192.168.10.148:9092,192.168.10.149:9092
spring.datasource.web.jdbc-url = jdbc:h2:file:~/.h2/webdb;AUTO_SERVER=TRUE
spring.datasource.web.username = xxx
spring.datasource.web.password = xxx
spring.flyway.locations=classpath:db/h2/migration
server.port = 8000
spring.datasource.web.max-active=20
spring.datasource.web.max-idle=8
spring.datasource.web.min-idle=8
spring.datasource.web.initial-size=10
log.mining.thread.num=4
schema.register.url=http://192.168.10.149:8080/apis/registry/v2
es.statistics.interval=5000
flow.statistics.interval=30000
步骤13 调整JVM内存分配
打开内存配置文件:
vi ~/rel/mtk/config/mem-env
对于需要修改默认内存分配大小的,解除注释标志"#",并按照实际情况进行配置:
# ZOOKEEPER_JVM_HEAP="-Xms1G -Xmx1G"
# KAFKA_JVM_HEAP="-Xms1G -Xmx1G"
# CONNECTOR_JVM_HEAP="-Xms1G -Xmx1G"
# WEB_HEAP_OPTS="-Xms1G -Xmx1G"
ZOOKEEPER_JVM_HEAP
为Zookeeper的内存参数配置。KAFKA_JVM_HEAP
为Kafka的内存配置。CONNECTOR_JVM_HEAP
为Connector 的内存配置。WEB_HEAP_OPTS
为Web的内存配置。