cetus/doc/Configuration.md

370 lines
6.0 KiB
Markdown
Raw Normal View History

2018-03-06 14:00:39 +08:00
# 配置文档
## 常规配置
### daemon
Default: false
通过守护进程启动。
> daemon = true
### user
Default: root
启动进程的用户
> user = cetus
### basedir
基础路径,其它配置可以以此为基准配置相对路径。(必须是绝对路径)
> basedir = /usr/lib/cetus
### pid-file
`必要`
PID文件路径
> pid-file = /var/log/cetus.pid
### log-file
`必要`
日志文件路径
> log-file = /var/log/cetus.log
### log-level
可选值: debug | info | message | warning | error | critical(default)
日志级别
> log-level = info
### plugins
`可多项`
加载模块名称。
> plugins = admin,proxy
### plugin-dir
库文件路径
> plugin-dir = /usr/lib/cetus/plugins
## Proxy配置
### proxy-address
Default: :4040
Proxy监听的IP和端口
> proxy-address = 127.0.0.1:4440
### proxy-allow-ip
`可在Admin模块中动态更改`
Proxy允许访问的"用户@IP"
参数未设置时,没有限制;"User@IP"限制特定的用户和IP组合访问"IP"允许该IP的所有用户访问
> proxy-allow-ip = root@127.0.0.1,10.238.7.6
### proxy-backend-addresses
Default: 127.0.0.1:3306
`可多项`
读写后端(主库)的IP和端口
> proxy-backend-addresses = 10.120.12.12:3306
若是分库模式需要同时指定group
> proxy-backend-addresses = 10.120.12.12:3306@data1
### proxy-read-only-backend-addresses
`可多项`
只读后端(从库)的IP和端口
> proxy-read-only-backend-addresses = 10.120.12.13:3307
若是分库模式需要同时指定group
> proxy-read-only-backend-addresses = 10.120.12.13:3307@data1
### default-username
默认用户名在Proxy启动时自动创建连接使用的用户名在*user-pwd*中需要有对应的配置
> default-username = default_user
### default-db
默认数据库当连接未指定db时使用的默认数据库名称
> default-db = test
### default-pool-size
Default: 100
当前连接数不足此值时,会自动创建连接
> default-pool-size = 200
### max-pool-size
Default: *default-pool-size * 2*
连接池的最大连接数,超过此数目的连接不会放入连接池
> default-pool-size = 300
### max-resp-size
Default: 10485760 (10MB)
每个后端返回结果集的最大数量
> max-resp-size = 1024
### user-pwd
`可在Admin模块动态更改`
Proxy连接后端时使用的用户名、密码。用户名应与*app-user-pwd*中一一对应
> user-pwd = user1@password1,user2@password2
### app-user-pwd
`可在Admin模块动态更改`
客户端连接Proxy时使用的用户名、密码。用户名应与*user-pwd*中一一对应
> app-user-pwd = user1@apppass1,user2@apppass2
### crypt-pwd
Default: false
使用加密格式保存后端密码(user-pwd)
> crypt-pwd = true
### crypt-app-pwd
Default: false
使用加密格式保存客户端访问Proxy的密码(app-user-pwd)
> crypt-app-pwd = true
### disable-sharding-mode
Default: false
不启用分库功能(默认启用),当只需要读写分离功能时设置为*true*
> disable-sharding-mode = true
### disable-auto-connect
Default: false
禁用自动创建连接,连接将在新请求到来时创建
> disable-auto-connect = false
## Admin配置
### admin-address
Default: :4041
管理模块的IP和端口
> admin-address = 127.0.0.1:4441
### admin-allow-ip
`可在Admin模块中动态更改`
参数未设置时不作限制仅能限制IP不区分用户
> admin-allow-ip = 127.0.0.1,10.238.7.6
### admin-lua-script
`必要`
管理模块对应的lua脚本路径
> admin-lua-script = /usr/lib/cetus/lua/admin.lua
### admin-username
`必要`
管理模块的用户名
> admin-username = admin
### admin-password
`必要`
管理模块的密码明文
> admin-password = admin_pass
## 远端配置中心
目前分库配置仅能通过配置中心获取因此要采用分库模式必须配置远端db
### config-remote
Default: false
是否启用远端配置中心
> config-remote = true
### config-host
Default: 127.0.0.1
配置中心host
> config-host = 127.0.0.1
### config-port
Default: 3306
配置中心端口
> config-port = 3310
### config-user
Default: root
配置中心用户
> config-user = test_user
### config-pass
配置中心密码
> config-pass = password
### config-db
Default: proxy_management
配置中心db名称
> config-db = proxy_management
### config-apply-interval
Default: 0 (seconds)
与配置中心同步配置的时间间隔。
若设置为*0*则配置更新不自动生效仅能手动生效且检测间隔为3秒。
> config-apply-interval = 0
### proxy-id
Proxy的标识在配置中心用来区分不同proxy的配置
> proxy-id = 001
## 辅助线程配置
### disable-threads
Default: false
禁用辅助线程,包括: 配置变更检测、后端存活检测和只读库延迟检测等
> disable-threads = true
### connect-timeout
Default: 2(seconds)
检测线程连接后端mysql时的超时时间(秒)
> connect-timeout = 10
### check-slave-delay
Default: false
是否检查从库延迟,需要配置`proxy-id`选项,否则不会生效
> check-slave-delay = true
### slave-delay-down
Default: 60 (seconds)
从库延迟超过该秒状态将被设置为DOWN
> slave-delay-down = 120
### slave-delay-recover
Default: *slave-delay-down / 2* (seconds)
从库延迟少于该秒数状态将恢复为UP
> slave-delay-recover = 30
## 其它
### verbose-shutdown
Default: false
程序退出时,记录下退出代码。
> verbose-shutdown = true
### keepalive
Default: false
当Proxy进程意外终止会自动启动一个新进程
> keepalive = true
### max-open-files
Default: 根据操作系统
最大打开的文件数目(ulimit -n)
> max-open-files = 10240