成都网站建设吧,浏览器下载大全,企业管理考研院校推荐,网站开发技术指标与参数1. 集群配置3主3从由于仅用于测试#xff0c;故我这里只用1台服务器进行模拟redis列表2.编写redis.conf在server上创建一个目录用于存放redis集群部署文件。这里我放的路径为/root/redis-cluster 在/opt/docker/redis-cluster目录下创建redis-1,redis-2,redis-3,redis-4,redis…1. 集群配置3主3从由于仅用于测试故我这里只用1台服务器进行模拟redis列表2.编写redis.conf在server上创建一个目录用于存放redis集群部署文件。这里我放的路径为/root/redis-cluster 在/opt/docker/redis-cluster目录下创建redis-1,redis-2,redis-3,redis-4,redis-5,redis-6文件夹mkdir -p /opt/docker/redis-cluster/{redis-1,redis-2,redis-3,redis-4,redis-5,redis-6}#创建持久化目录
mkdir -p /opt/docker/redis-cluster/redis-1/data
mkdir -p /opt/docker/redis-cluster/redis-2/data
mkdir -p /opt/docker/redis-cluster/redis-3/data
mkdir -p /opt/docker/redis-cluster/redis-4/data
mkdir -p /opt/docker/redis-cluster/redis-5/data
mkdir -p /opt/docker/redis-cluster/redis-6/data3. 在每个redis-*文件夹下创建redis.conf文件并写入如下内容:cluster-enabled yes # 开启集群
cluster-config-file nodes.conf # 集群配置文件
cluster-node-timeout 5000 # 集群节点多少时间未响应视为该节点丢失
appendonly yes
port 6379 # redis监听端口
masterauth passwd123 #设置master节点密码
requirepass passwd123 #设置密码注意port值不能都为6379根据上面redis列表设置的端口号依次给redis-1 ~ redis-6设置6379~6384端口号4.编写docker-compose.yml文件这里直接使用daocloud提供的redis镜像地址daocloud.io/library/redis:6.0.4在/root/redis-cluster文件夹下创建docker-compose.yml文件。docker-compose.yml文件内容如下version: 3.1
services:# redis1配置redis1:image: daocloud.io/library/redis:6.0.4container_name: redis-1restart: alwaysnetwork_mode: hostvolumes:- /opt/docker/redis-cluster/redis-1/data:/data- /opt/docker/redis-cluster/redis-1/redis.conf:/usr/local/etc/redis/redis.confcommand: [redis-server, /usr/local/etc/redis/redis.conf]# redis2配置redis2:image: daocloud.io/library/redis:6.0.4container_name: redis-2restart: alwaysnetwork_mode: hostvolumes:- /opt/docker/redis-cluster/redis-2/data:/data- /opt/docker/redis-cluster/redis-2/redis.conf:/usr/local/etc/redis/redis.confcommand: [redis-server, /usr/local/etc/redis/redis.conf]# redis3配置redis3:image: daocloud.io/library/redis:6.0.4container_name: redis-3restart: alwaysnetwork_mode: hostvolumes:- /opt/docker/redis-cluster/redis-3/data:/data- /opt/docker/redis-cluster/redis-3/redis.conf:/usr/local/etc/redis/redis.confcommand: [redis-server, /usr/local/etc/redis/redis.conf]# redis4配置redis4:image: daocloud.io/library/redis:6.0.4container_name: redis-4restart: alwaysnetwork_mode: hostvolumes:- /opt/docker/redis-cluster/redis-4/data:/data- /opt/docker/redis-cluster/redis-4/redis.conf:/usr/local/etc/redis/redis.confcommand: [redis-server, /usr/local/etc/redis/redis.conf]# redis5配置redis5:image: daocloud.io/library/redis:6.0.4container_name: redis-5restart: alwaysnetwork_mode: hostvolumes:- /opt/docker/redis-cluster/redis-5/data:/data- /opt/docker/redis-cluster/redis-5/redis.conf:/usr/local/etc/redis/redis.confcommand: [redis-server, /usr/local/etc/redis/redis.conf]# redis6配置redis6:image: daocloud.io/library/redis:6.0.4container_name: redis-6restart: alwaysnetwork_mode: hostvolumes:- /opt/docker/redis-cluster/redis-6/data:/data- /opt/docker/redis-cluster/redis-6/redis.conf:/usr/local/etc/redis/redis.confcommand: [redis-server, /usr/local/etc/redis/redis.conf]启动容器,执行命令:#启动容器
docker-compose -f xxx.yaml up -d5.开启集群随便找一个容器进入这里我选择redis-1进入。 在进入容器后输入如下命令开启集群:redis-cli --cluster create 192.168.66.180:6379 \
192.168.66.180:6380 \
192.168.66.180:6381 \
192.168.66.180:6382 \
192.168.66.180:6383 \
192.168.66.180:6384 \
--cluster-replicas 1出现下图即为成功。6.测试使用redis-cli命令连接集群中任意节点。随便找一台能ping通集群所在IP的电脑这里我用的本机进行测试6.1 查看节点属性redis-cli -c -h 192.168.66.180 -p 6379192.168.66.180:6379 cluster info显示为如下图即为集群健康状态6.2 查看节点信息cluster nodes注意看图中的slave,master,myself等关键字。6.3 插入一个值192.168.66.180:6379 set test hello world
- Redirected to slot [6918] located at 192.168.66.180:6380
OK
192.168.66.180:6380 注意这里根据切片自动切换到了该数据分片所在的节点上所以下面可以看到连接的节点变为了192.168.1.4:6380get test168.66.180:6379 set test hello world
- Redirected to slot [6918] located at 192.168.66.180:6380
OK
192.168.66.180:6380 get test
hello world
192.168.66.180:6380 这里因为就是在该数据所在分片上进行的查询所以连接节点没有改变。7.添加密码7.1 编辑redis.conf文件#为redis.conf文件添加如下配置。这里设置密码为123456
masterauth 123456
requirepass 1234567.2 编辑docker-compose.yml文件#为docker-compose.yml中每个容器添加如下配置:
environment:- REDISCLI_AUTH1234567.3 连接集群redis-cli -c -h 192.168.66.180 -p 6379 -a 123456