网站建设的行业新闻,网站seo知识,全球网站域名后缀,旅游景点推广软文优质博文#xff1a;IT-BLOG-CN
一、背景
随着公司的发展#xff0c;订单库的数据目前已达到千万级别#xff0c;需要进行分表分库#xff0c;就需要对数据进行迁移#xff0c;我们使用了otter#xff0c;这里简单整理下#xff0c;otter 的安装过程#xff0c;希望对…优质博文IT-BLOG-CN
一、背景
随着公司的发展订单库的数据目前已达到千万级别需要进行分表分库就需要对数据进行迁移我们使用了otter这里简单整理下otter 的安装过程希望对你有所帮助。
二、环境准备
otter manager依赖于mysql进行配置信息的存储所以需要预先安装mysql并初始化otter manager的系统表结构
初始化otter manager系统表
下载
wget https://raw.github.com/alibaba/otter/master/manager/deployer/src/main/resources/sql/otter-manager-schema.sql 载入
source otter-manager-schema.sqlotter-manager-schema.sql 脚本说明了解是Otter数据同步工具的管理数据库的SQL脚本文件用于创建和初始化Otter的管理数据库表结构。这个文件包含了Otter管理系统所需的各种表和索引的定义。这些表用于存储同步任务的配置信息、任务状态、日志等。
以下是一个简化的示例展示了otter-manager-schema.sql中可能包含的内容
-- 创建用于存储同步任务配置信息的表
CREATE TABLE otter_channel (id BIGINT(20) NOT NULL AUTO_INCREMENT,name VARCHAR(100) NOT NULL,description VARCHAR(255) DEFAULT NULL,status VARCHAR(20) DEFAULT NULL,gmt_create DATETIME NOT NULL,gmt_modified DATETIME NOT NULL,PRIMARY KEY (id)
) ENGINEInnoDB DEFAULT CHARSETutf8;-- 创建用于存储同步任务状态的表
CREATE TABLE otter_pipeline (id BIGINT(20) NOT NULL AUTO_INCREMENT,channel_id BIGINT(20) NOT NULL,name VARCHAR(100) NOT NULL,description VARCHAR(255) DEFAULT NULL,status VARCHAR(20) DEFAULT NULL,gmt_create DATETIME NOT NULL,gmt_modified DATETIME NOT NULL,PRIMARY KEY (id),KEY idx_channel_id (channel_id)
) ENGINEInnoDB DEFAULT CHARSETutf8;-- 创建用于存储节点信息的表
CREATE TABLE otter_node (id BIGINT(20) NOT NULL AUTO_INCREMENT,name VARCHAR(100) NOT NULL,ip VARCHAR(20) NOT NULL,port INT(11) NOT NULL,status VARCHAR(20) DEFAULT NULL,gmt_create DATETIME NOT NULL,gmt_modified DATETIME NOT NULL,PRIMARY KEY (id)
) ENGINEInnoDB DEFAULT CHARSETutf8;-- 创建用于存储同步任务日志的表
CREATE TABLE otter_log (id BIGINT(20) NOT NULL AUTO_INCREMENT,pipeline_id BIGINT(20) NOT NULL,message TEXT NOT NULL,log_time DATETIME NOT NULL,PRIMARY KEY (id),KEY idx_pipeline_id (pipeline_id)
) ENGINEInnoDB DEFAULT CHARSETutf8;-- 创建用于存储数据变更事件的表
CREATE TABLE otter_event (id BIGINT(20) NOT NULL AUTO_INCREMENT,pipeline_id BIGINT(20) NOT NULL,event_type VARCHAR(20) NOT NULL,data TEXT NOT NULL,event_time DATETIME NOT NULL,PRIMARY KEY (id),KEY idx_pipeline_id (pipeline_id)
) ENGINEInnoDB DEFAULT CHARSETutf8;整个otter架构依赖了zookeeper进行多节点调度所以需要预先安装zookeeper不需要初始化节点otter程序启动后会自检。manager需要在otter.properties中指定一个就近的zookeeper集群机器
三、启动步骤
下载otter manager
直接下载 可访问https://github.com/alibaba/otter/releases 会列出所有历史的发布版本包下载方式比如以x.y.z版本为例子
wget https://github.com/alibaba/otter/releases/download/otter-x.y.z/manager.deployer-x.y.z.tar.gz或者自己编译
git clone gitgithub.com:alibaba/otter.git
cd otter;
mvn clean install -Dmaven.test.skip -Denvrelease编译完成后会在根目录下产生target/manager.deployer-$version.tar.gz
解压缩
mkdir /tmp/manager
tar zxvf manager.deployer-$version.tar.gz -C /tmp/manager配置修改
## otter manager domain name #修改为正确访问ip生成URL使用
otter.domainName 127.0.0.1
## otter manager http port
otter.port 8080
## jetty web config xml
otter.jetty jetty.xml## otter manager database config 修改为正确数据库信息
otter.database.driver.class.name com.mysql.jdbc.Driver
otter.database.driver.url jdbc:mysql://127.0.01:3306/ottermanager
otter.database.driver.username root
otter.database.driver.password hello## otter communication port
otter.communication.manager.port 1099## otter communication pool size
otter.communication.pool.size 10## default zookeeper address修改为正确的地址手动选择一个地域就近的zookeeper集群列表
otter.zookeeper.cluster.default 127.0.0.1:2181
## default zookeeper session timeout 90s
otter.zookeeper.sessionTimeout 90000## otter arbitrate connect manager config
otter.manager.address ${otter.domainName}:${otter.communication.manager.port}准备启动
sh startup.sh查看日志
vi logs/manager.log出现类似日志代表启动成功
2024-11-14 13:19:45.911 [] WARN com.alibaba.otter.manager.deployer.JettyEmbedServer - ##Jetty Embed Server is startup!
2024-11-14 13:19:45.911 [] WARN com.alibaba.otter.manager.deployer.OtterManagerLauncher - ## the manager server is running now ......验证
访问 http://127.0.0.1:8080/出现otter的页面即代表启动成功
访问http://127.0.0.1:8080/login.htm初始密码为admin/admin即可完成登录. 目前匿名用户只有只读查看的权限登录为管理员才可以有操作权限
关闭
sh stop.sh