准备工作 下载doker和下载redis镜像以及redis配置文件请自行下载 没有版本要求默认最新
- redis 常用配置文件参照
bind 127.0.0.1 #注释掉这部分,添加==》bind 0.0.0.0 ==》使redis可以外部访问 port 6380#端口号 dbfilename dump.rdb #默认rdb持久化名称 appendonly yes#redis持久化aof模式 默认是no appendfilename "appendonly.aof" #默认aof持久化名称 protected-mode no #将本机访问保护模式设置no daemonize no#用守护线程的方式启动 requirepass 你的密码#给redis设置密码 replicaof 192.168.206.102 6379 #如果是从库 需要配置主库的ip masterauth 123456 #主从复制的验证密码 tcp-keepalive 300 #防止出现远程主机强迫关闭了一个现有的连接的错误 默认是300 appendonly yes# aof是否开启, 需要手动设置为yes pidfile /var/run/redis_6380.pid #pid文件 cluster-enabled yes #开启集群 cluster-config-file nodes-6380.conf #配置文件 cluster-node-timeout 15000 #集群超时时间
- 虚拟机配置
| 192.168.206.102:6379 | 192.168.206.102:6380 |
| 192.168.206.103:6379 | 192.168.206.103:6380 |
| 192.168.206.104:6379 | 192.168.206.104:6380 |
1.端口6379的配置文件
#bind 127.0.0.1 #注释掉这部分,添加bind 0.0.0.0 bind 0.0.0.0 #使redis可以外部访问 port 6379#端口号 protected-mode no #将本机访问保护模式设置no appendonly yes #aof持久化 cluster-enabled yes #开启集群 cluster-config-file nodes.conf #配置文件 cluster-node-timeout 15000 #集群超时时间
2. 端口6380的配置文件
#bind 127.0.0.1 #注释掉这部分,添加bind 0.0.0.0 bind 0.0.0.0 #使redis可以外部访问 #端口号 port 6380 pidfile /var/run/redis_6380.pid #启动pid dbfilename dump6380.rdb #rdb持久化保存文件名 appendfilename "appendonly6380.aof" #aof持久化保存文件名 protected-mode no #将本机访问保护模式设置no appendonly yes #aof持久化 cluster-enabled yes #开启集群 cluster-config-file nodes-6380.conf #配置文件 cluster-node-timeout 15000 #集群超时时间
3.创建文件夹将配置文件放入conf下
mkdir /data/docker/redis/{conf,data} -p
cd /data/docker/redis
二.开启redis容器
1.端口6379启动命令
# 创建并运行一个名为 myredis 的容器 docker run -p 6379:6379 -v /data/docker/redis/data:/data -v /data/docker/redis/conf/redis.conf:/etc/redis/redis.conf --privileged=true --net host --name myredis -d redis redis-server /etc/redis/redis.conf # 命令分解 docker run -p 6379:6379 # 端口映射 宿主机:容器 -v $PWD/data:/data # 映射数据目录 -v $PWD/conf/redis.conf:/etc/redis/redis.conf: # 挂载配置文件 --privileged=true # 给与doker权限 不然启动不了 --net host #开启网络不然后面集群访问不到 --name myredis # 给容器起个名字 -d redis redis-server /etc/redis/redis.conf # deamon 运行容器 并使用配置文件启动容器内的 redis-server
2.端口6380启动命令
# 创建并运行一个名为 myredis 的容器 docker run -p 6380:6380 -v /data/docker/redis/data:/data -v /data/docker/redis/conf/redis6380.conf:/etc/redis/redis.conf --privileged=true --net host --name myredis6380 -d redis redis-server /etc/redis/redis.conf
3.确保六个redis全部启动。
开放端口 6379 6380 和redis总线端口(端口加10000) 16379 16380 四个端口
firewall-cmd --permanent --zone=public --add-port=6379/tcp #永久开放端口 firewall-cmd --permanent --zone=public --add-port=6380/tcp firewall-cmd --permanent --zone=public --add-port=16379/tcp firewall-cmd --permanent --zone=public --add-port=16380/tcp firewall-cmd --reload #重启防火墙四.开集群
1.集群 =======》 需要开启所有端口号 6379 6380===》 外加总线集群 ==》
总线端口加10000==》 16379 16380
进入一个容器执行命令 (确保所有redis都是干净的没有多余数据)
如果设置了密码或者用户名可以在 redis-cli 后面加 -u name -a password 没有就不加
注意:中间会让输入yes,不能只输入y
redis-cli --cluster create 192.168.206.102:6379 192.168.206.102:6380 192.168.206.103:6379 192.168.206.103:6380 192.168.206.104:6379 192.168.206.104:6380 --cluster-replicas 1
2.进入任意一个服务查看集群信息
cluster nodes
3. 连接集群数据库
redis-cli -c -h 192.168.0.111 -p 7001
有密码的输入密码没有的直接使用



