目录
9.命令测试集群,在master主节点设置数据,从节点获取数据
1.在linux服务器下载redis.conf文件
wget http://download.redis.io/redis-stable/redis.conf
2.修改redis.conf的基本配置
部分参数说明:
#如果bind选项为空的话,则允许所有来自于可用网络接口的连接
#bind 127.0.0.1
#保护模式,若为yes,只允许本地客户端连接
protected-mode no
#开启后,Redis会把每次写入的数据在接收后都写入 appendonly.aof 文件,每次启动时Redis都会先把这个文件的数据读入内存里
appendonly yes
3.创建master节点容器:
新建三个文件夹redis8379,redis8380,redis8381,其中8379为主
我们将redis.conf文件拷贝到8379的目录下,并执行以下命令,创建master主节点:
#创建master节点redis8379
docker run --name redis8379 --privileged=true -p 8379:6379
-v /home/dockergz/redis/redis8379:/etc/redis
-d docker.io/redis /etc/redis/redis.conf
参数说明:
# --name redis8379容器别名
# --privileged=true 给容器设置特殊权限
# -p 8379:6379 端口映射 宿主端口8379,容器端口6379
# -v /home/dockergz/redis/redis8379:/etc/redis 路径映射,宿主磁盘路径/home/dockergz/redis/redis8379,对应容器路径/etc/redis
# -d 后台起应用
# docker.io/redis 镜像名字
# /data/redis.conf 以配置文件形式启动,这是容器里的配置文件路径
其中–privileged=true这项命令可能会觉得疑惑,原因是如果以容器启动,容器是不具备映射路径的权限的,需要另外配置,这里通过–privileged=true简化了配置,直接赋予特殊权限。
4.新建slave节点redis.conf配置文件
将之前主节点下的redis.conf文件拷贝到两个从节点redis8380、redis8381文件夹下,然后在文件中再添加一行配置:
replicaof 47.112.153.193 8379
指明主服务器的ip和端口,这里的ip和端口都是宿主机器维度的。
5.创建两个salve节点容器:
#创建slave节点redis8380
docker run --name redis8380 --privileged=true -p 8380:6379
-v /home/dockergz/redis/redis8380:/etc/redis
-d docker.io/redis /etc/redis/redis.conf
#创建slave节点redis8381
docker run --name redis8381 --privileged=true -p 8381:6379
-v /home/dockergz/redis/redis8381:/etc/redis
-d docker.io/redis /etc/redis/redis.conf
查看创建的slave
6.一主两从的集群就搭好了
我们可以通过如下命令查看每个节点的状态:
#查看master节点info
docker exec -it redis8379 redis-cli info replication
#查看slave节点info
docker exec -it redis8380 redis-cli info replication
7.查看日志
# -t 表示显示docker的时间戳,还有一些其他的附加指令,可以百度。
docker logs -t redis8380
8.测试搭建的集群
9.命令测试集群,在master主节点设置数据,从节点获取数据
9.1、redis8379设置数据
9.2、redis8380获取数据
说明主从模式集群搭建成功
附,使用vim命令编辑redis.conf文件时,翻页命令:
向文件尾翻半屏 Ctrl+d,向文件首翻半屏 Ctrl+u
向文件尾翻一屏 Ctrl+f,向文件首翻一屏 Ctrl+b
附,使用vim命令编辑redis.conf文件时,查找字符串:
/+关键字 ,回车即可。此为从文档当前位置向下查找关键字,按n键查找关键字下一个位置;
?+关键字,回车即可。此为从文档挡圈位置向上查找关键字,按n键向上查找关键字;
附,查看容器的ip
docker inspect