快捷搜索:  手机  明星

codis实战讲解(Codis集群部署)

codis实战讲解(Codis集群部署)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.后面的数字一样就可以了。zookeeper/conf/zoo.cfgCodis可以直接从github上下载最新版本即可。dashboard在添加proxy的时候会识别主机名,可以利用dns解析,但是最快的就是直接添加到/etc/hosts 集群内的所有机器都添加上,防止之后

简介

Codis配置依赖于zookeeper,可以独立部署一套zookeeper集群。

服务可以使用supervisor进行管理。

codis实战讲解(Codis集群部署)(1)

下载软件

jdk可以使用jdk1.8

zookeeper使用3.4.14版本

Codis可以直接从github上下载最新版本即可。

主机名配置

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"

可以根据上面的模板,生成多个节点的配置。

codis实战讲解(Codis集群部署)(2)

生成哨兵配置

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页面进行操作。

  1. 添加proxy:New Proxy输入:ip:11080,回车添加,多个proxy就添加多次
  2. 新建group:New Group,输入数字:1,回车添加,多个就依次增加
  3. 添加codis-server到对应分组:"Add Server,Data Center 可以不用设置,设置server地址,然后对应组就可以了(注意主从的分散)
  4. 添加完所有的分组和主从之后记得点击SLAVEOF按钮(绿色小扳手按钮),然后在Add Server下,设置rs:点击ENABLE ALL ,再点击SYNC ALL
  5. Reebalance All Slots自动分配slot,然后就可以开始用了。

codis实战讲解(Codis集群部署)(3)

猜您喜欢: