Codis
配置依赖于zookeeper
,可以独立部署一套zookeeper
集群。
服务可以使用supervisor进行管理
下载软件jdk可以使用jdk1.8:jdk1.8下载地址
zookeeper使用3.4.14版本:华为云镜像zookeeper下载地址
Codis最新版本:codis3.2.2-go1.9.2-linux.tar.gz
主机名配置dashboard
在添加proxy
的时候会识别主机名,可以利用dns
解析,但是最快的就是直接添加到/etc/hosts
,集群内的所有机器都添加上,防止之后如果dashboard
迁移,忘记配置,导致启动失败。
10.100.1.10 server10
10.100.1.11 server11
10.100.1.12 server12
zookeeper集群
修改配置文件
zookeeper/conf/zoo.cfg
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/codis/zookeeper
clientPort=2181
autopurge.snapRetainCount=3
autopurge.purgeInterval=1
server.1=10.100.1.10:12888:13888
server.2=10.100.1.11:12888:13888
server.3=10.100.1.12:12888:13888
记得在对应主机上设置myid
,id
跟server.
后面的数字一样就可以了。
echo 1 > /data/codis/zookeeper/myid
Codis配置
使用命令生成dashboard
、proxy
默认配置文件
mkdir -p config
./codis-dashboard --default-config | tee config/dashboard.toml
./codis-proxy --default-config | tee config/proxy.toml
记得设置product_auth
,这个密码要跟codis-server
的密码一样。
proxy
上还有一个session_auth
,这个是连接时候的验证密码,可以跟product_auth
不一样。
codis-server
配置 , 我这里使用supervisor
管理,所以就不用daemon
模式了
daemonize no
protected-mode no
pidfile "/data/codis/pids/redis_7001.pid"
port 7001
timeout 60
loglevel warning
logfile "/data/codis/logs/codis-server-7001.log"
databases 16
rdbcompression yes
dbfilename "dump-7001.rdb"
dir "/data/codis/data"
maxmemory 5gb
maxmemory-policy volatile-lru
appendonly yes
appendfilename "appendonly7001.aof"
appendfsync everysec
no-appendfsync-on-rewrite yes
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
slowlog-log-slower-than 100000
slowlog-max-len 1024
hz 50
aof-rewrite-incremental-fsync yes
masterauth "xxxxxxxxxxxxxxxxxxxx"
requirepass "xxxxxxxxxxxxxxxxxxxx"
可以根据上面的模板,生成多个节点的配置。
生成哨兵配置
port 26379
protected-mode no
daemonize no
配置supervisor
安装supervisor
yum -y install supervisor
由于systemd
的句柄和进程数都有限制,不能满足我们的需求,需要修改/usr/lib/systemd/system/supervisord.service
文件。
vim /usr/lib/systemd/system/supervisord.service
[Unit]
Description=Process Monitoring and Control Daemon
After=rc-local.service nss-user-lookup.target
[Service]
Type=forking
LimitNOFILE=40960
LimitNPROC=40960
ExecStart=/usr/bin/supervisord -c /etc/supervisord.conf
[Install]
WantedBy=multi-user.target
需要重载配置,才能生效。
systemctl daemon-reload
配置supervisor
dashboard.ini
[program:codis-dashboard]
command=/opt/codis/codis-dashboard --ncpu=6 --config=/opt/codis/config/dashboard.toml --log=/data/codis/logs/dashboard.log --log-level=WARN
stdout_logfile=/data/codis/logs/codis-dashboard-supervisor_out.log
stderr_logfile=/data/codis/logs/codis-dashboard-supervisor_err.log
proxy.ini
[program:codis-proxy]
command=/opt/codis/codis-proxy --ncpu=8 --config=/opt/codis/config/proxy.toml --log=/data/codis/logs/proxy.log --log-level=WARN
stdout_logfile=/data/codis/logs/codis-proxy-supervisor_out.log
stderr_logfile=/data/codis/logs/codis-proxy-supervisor_err.log
zookeeper.ini
[program:zookeeper]
command=/opt/zookeeper/bin/zkServer.sh start-foreground
stdout_logfile=/data/codis/zookeeper/zookeeper-supervisor_out.log
stderr_logfile=/data/codis/zookeeper/zookeeper-supervisor_err.log
codis-server-7001.ini
[program:codis-server-7001]
command=/opt/codis/codis-server /opt/codis/config/7001.conf
stdout_logfile=/data/codis/logs/codis-server-7001-supervisor_out.log
stderr_logfile=/data/codis/logs/codis-server-7001-supervisor_err.log
codis-server
多个就生成多个配置文件
sentinel.ini
[program:redis-sentinel1]
command=/opt/codis/redis-sentinel /opt/codis/config/sentinel1.conf
stdout_logfile=/data/codis/logs/redis-sentinel1-supervisor_out.log
stderr_logfile=/data/codis/logs/redis-sentinel1-supervisor_err.log
codis-fe.ini
这里需要配置zookeeper
地址
[program:codis-fe]
command=/opt/codis/codis-fe --ncpu=5 --log=/data/codis/logs/fe.log --log-level=DEBUG --zookeeper=10.100.1.10:2181,10.100.1.11:2181,10.100.1.12:2181 --listen=0.0.0.0:8080
stdout_logfile=/data/codis/logs/codis-fe-supervisor_out.log
stderr_logfile=/data/codis/logs/codis-fe-supervisor_err.log
supervisor加载配置
vim /etc/supervisord.conf
在最后一行追加配置所在目录
....
files = /etc/supervisord.d/*.ini /opt/codis/supervisor/*.ini
然后启动服务
systemctl enable supervisord --now
开始部署
dashboard
只能有一个进程,codis-fe
也只开一个就可以了。
codis-server
根据实际需要配置多个,proxy
每台开一个也够用了。
所有进程启动之后,可以通过浏览器访问codis-fe
端口,然后在web
页面进行 *** 作。
- 添加
proxy
:New Proxy
输入:ip:11080
,回车添加,多个proxy
就添加多次 - 新建
group
:New Group
,输入数字:1,回车添加,多个就依次增加 - 添加
codis-server
到对应分组:"Add Server
,Data Center
可以不用设置,设置server地址,然后对应组就可以了(注意主从的分散) - 添加完所有的分组和主从之后记得点击
SLAVEOF
按钮(绿色小扳手按钮),然后在Add Server
下,设置rs:点击ENABLE ALL
,再点击SYNC ALL
Reebalance All Slots
自动分配slot,然后就可以开始用了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)