运行部署
部署启动
- 执行以下命令,编译生成 ShardingSphere-Proxy 二进制包:
git clone --depth 1 https://github.com/apache/shardingsphere.git
cd shardingsphere
mvn clean install -Dmaven.javadoc.skip=true -Dcheckstyle.skip=true -Drat.skip=true -Djacoco.skip=true -DskipITs -DskipTests -Prelease
发布包:
- /shardingsphere-distribution/shardingsphere-proxy-distribution/target/apache-shardingsphere-${latest.release.version}-shardingsphere-proxy-bin.tar.gz
或者通过下载页面获取安装包。
Scaling还是实验性质的功能,建议使用master分支最新版本,点击此处下载每日构建版本
目前 mode
必须是 Cluster
,需要提前启动对应的注册中心。
配置示例:
mode:
type: Cluster
repository:
type: ZooKeeper
props:
namespace: governance_ds
server-lists: localhost:2181
retryIntervalMilliseconds: 500
timeToLiveSeconds: 60
maxRetries: 3
operationTimeoutMilliseconds: 500
overwrite: false
- 修改配置文件
conf/config-sharding.yaml
的scalingName
和scaling
部分。
配置项说明:
rules:
- !SHARDING
# 忽略的配置
scalingName: # 启用的弹性伸缩配置名称
scaling:
<scaling-action-config-name> (+):
blockQueueSize: # 数据通道阻塞队列大小
workerThread: # 给全量数据摄取和数据导入使用的工作线程池大小
readBatchSize: # 一次查询操作返回的最大记录数
rateLimiter: # 限流算法
type: # 算法类型。可选项:SOURCE
props: # 算法属性
qps: # QPS属性。适用算法类型:SOURCE
completionDetector: # 作业是否接近完成检测算法。如果不配置,那么系统无法自动进行后续步骤,可以通过 DistSQL 手动操作。
type: # 算法类型。可选项:IDLE
props: # 算法属性
incremental-task-idle-minute-threshold: # 如果增量同步任务不再活动超过一定时间,那么可以认为增量同步任务接近完成。适用算法类型:IDLE
sourceWritingStopper: # 源端停写算法。如果不配置,那么系统会跳过这个步骤。
type: # 算法类型。可选项:DEFAULT
dataConsistencyChecker: # 数据一致性校验算法。如果不配置,那么系统会跳过这个步骤。
type: # 算法类型。可选项:DATA_MATCH, CRC32_MATCH
props: # 算法属性
chunk-size: # 一次查询操作返回的最大记录数
checkoutLocker: # 元数据切换算法。如果不配置,那么系统会跳过这个步骤。
type: # 算法类型。可选项:DEFAULT
配置示例:
rules:
- !SHARDING
# 忽略的配置
scalingName: default_scaling
scaling:
default_scaling:
blockQueueSize: 10000
workerThread: 40
readBatchSize: 1000
rateLimiter:
type: SOURCE
props:
qps: 50
completionDetector:
type: IDLE
props:
incremental-task-idle-minute-threshold: 30
sourceWritingStopper:
type: DEFAULT
dataConsistencyChecker:
type: DATA_MATCH
props:
chunk-size: 1000
checkoutLocker:
type: DEFAULT
以上的 rateLimiter
,completionDetector
,sourceWritingStopper
,dataConsistencyChecker
和 checkoutLocker
都可以通过实现SPI自定义。可以参考现有实现,详情请参见开发者手册#弹性伸缩。
- 启动 ShardingSphere-Proxy:
sh bin/start.sh
- 查看 proxy 日志
logs/stdout.log
,看到日志中出现:
[INFO ] [main] o.a.s.p.frontend.ShardingSphereProxy - ShardingSphere-Proxy start success
确认启动成功。
结束
sh bin/stop.sh
当前内容版权归 ShardingSphere 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 ShardingSphere .