./bin/codis-admin --dashboard=127.0.0.1:18080 --create-proxy -x 127.0.0.1:11080
其中 `127.0.0.1:18080` 以及 `127.0.0.1:11080` 分别为 dashboard 和 proxy 的 `admin_addr` 地址; 添加过程中,dashboard 会完成如下一系列动作: - 获取 proxy 信息,对集群 name 以及 auth 进行验证,并将其信息写入到外部存储中; - 同步 slots 状态; - 标记 proxy 状态为 `online`,此后 proxy 开始 `accept` 连接并开始提供服务; 3. 详细说明( 摘自官方文档,详见 : [GitHub](https://github.com/CodisLabs/codis) ) - 启动参数说明:$ ./bin/codis-proxy -h
Usage:
codis-proxy [--ncpu=N] [--config=CONF] [--log=FILE] [--log-level=LEVEL] [--host-admin=ADDR] [--host-proxy=ADDR] [--ulimit=NLIMIT]
codis-proxy --default-config
codis-proxy --version
Options:
--ncpu=N 最大使用 CPU 个数
-c CONF, --config=CONF 指定启动配置文件
-l FILE, --log=FILE 设置 log 输出文件
--log-level=LEVEL 设置 log 输出等级:INFO,WARN,DEBUG,ERROR;默认INFO,推荐WARN
--ulimit=NLIMIT 检查 ulimit -n 的结果,确保运行时最大文件描述不少于 NLIMIT
$ ./bin/codis-proxy --default-config | tee proxy.toml
Codis-Proxy Set Codis Product {Name/Auth}.product_name = "codis-demo"
product_auth = ""
admin_addr = "0.0.0.0:11080"
Set bind address for proxy, proto_type can be "tcp", "tcp4", "tcp6", "unix" or "unixpacket".proto_type = "tcp4"
proxy_addr = "0.0.0.0:19000"
jodis_addr = ""
jodis_timeout = 10
jodis_compatible = false
backend_ping_period = 5
If there is no request from client for a long time, the connection will be droped. Set 0 to disable.session_max_timeout = 1800
Buffer size for each client connection.session_max_bufsize = 131072
Number of buffered requests for each client connection. Make sure this is higher than the max number of requests for each pipeline request, or your client may be blocked.session_max_pipeline = 1024
Set period between keep alives. Set 0 to disable.session_keepalive_period = 60
参数 | 说明 --- | --- product_name|集群名称,参考 dashboard 参数说明 product_auth | 集群密码,默认为空 admin_addr | RESTful API 端口 proto_type | Redis 端口类型,接受 tcp/tcp4/tcp6/unix/unixpacket proxy_addr | Redis 端口地址或者路径 jodis_addr | Jodis 注册 zookeeper 地址 jodis_timeout | Jodis 注册 session timeout 时间,单位 second jodis_compatible | Jodis 注册 zookeeper 的路径 backend_ping_period | 与 codis-server 探活周期,单位 second,0 表示禁止 session_max_timeout | 与 client 连接最大读超时,单位 second,0 表示禁止 session_max_bufsize | 与 client 连接读写缓冲区大小,单位 byte session_max_pipeline | 与 client 连接最大的 pipeline 大小 session_keepalive_period | 与 client 的 tcp keepalive 周期,仅 tcp 有效,0 表示禁止 **注:Codis3 会将 jodis 节点注册在 `/jodis/{PRODUCT_NAME}` 下,这点与 Codis2 不太兼容,所以为了兼容性,可以考虑将 `jodis_compatible` 设置成 `true`。** 4. 停止命令./bin/codis-admin --proxy=192.168.30.128:11080 --auth="" --shutdown
5. 启动第二个Codis Proxy - 将`config`目录下`proxy.toml`配置文件复制一份为`proxy19001.toml`(原文件默认端口为19000)[root@localhost codis]# pwd
/usr/local/codis/src/github.com/CodisLabs/codis
[root@localhost codis]# cp config/proxy.toml config/proxy19001.toml
admin_addr = "0.0.0.0:11081"
Set bind address for proxy, proto_type can be "tcp", "tcp4", "tcp6", "unix" or "unixpacket".proto_type = "tcp4"
proxy_addr = "0.0.0.0:19001"
nohup ./bin/codis-proxy --ncpu=1 --config=config/proxy19001.toml --log=log/proxy19001.log --log-level=WARN &
- 将代理添加入集群(也可在Fe操作,见下方 9.3 页面配置章节)./bin/codis-admin --dashboard=127.0.0.1:18080 --create-proxy -x 127.0.0.1:11081
##### 八、启动Codis Server 1. 启动命令nohup ./bin/codis-server config/redis.conf &
> 默认日志/tmp/redis_6379.log
2. 停止命令./bin/redis-cli shutdown
3. 启动多个Codis Server - 将`config`目录下`redis.conf`配置文件复制3份,总共4份,做两个server各配一个从服务 主 | 从 --- | --- localhost:6379 | localhost:7379 localhost:6380 | localhost:7380[root@localhost codis]# pwd
/usr/local/codis/src/github.com/CodisLabs/codis
[root@localhost codis]# cp config/redis.conf config/redis7379.conf
[root@localhost codis]# cp config/redis.conf config/redis6380.conf
[root@localhost codis]# cp config/redis.conf config/redis7380.conf
port 6380
pidfile /tmp/redis_6380.pid
logfile "/tmp/redis_6380.log"
dbfilename dump6380.rdb
dir /tmp/redis_6380