命令实现
# 在7001上面设置获取key root@redis1:/data# redis-cli -h 162.14.74.11 -p 7001 -c 162.14.74.11:7001> get name # 会经过认证 (error) NOAUTH Authentication required. 162.14.74.11:7001> auth abcAbc123. OK # 获取 162.14.74.11:7001> get name # 获取时发现在7002上 , 重定向到7002 , 但是开启了认证 所有没有获取到 -> Redirected to slot [5798] located at 162.14.74.11:7002 (error) NOAUTH Authentication required. # 进行认证 162.14.74.11:7002> auth abcAbc123. OK # 重新获取则成功 162.14.74.11:7002> get name "zhangsan"2.3.2、ask重定向在对集群进行扩容和缩容时 , 需要对槽及槽中数据进行迁移
当客户端向某个节点发送命令 , 节点向客户端返回moved异常 , 告诉客户端数据对应的槽的节点信息
如果此时正在进行集群扩展或者缩空操作 , 当客户端向正确的节点发送命令时 , 槽及槽中数据已经被迁移到别的节点了 , 就会返回ask , 这就是ask重定向机制 。
流程图
文章插图
流程说明
- 1、客户端向目标节点发送命令 , 目标节点中的槽已经迁移支别的节点上了 , 此时目标节点会返回ask重定向给客户端 。
- 2、客户端向新的节点发送Asking命令给新的节点 , 然后再次向新节点发送命令
- 3、新节点执行命令 , 把命令执行结果返回给客户端
- 1、moved重定向 , 槽已完成了迁移工作
- 2、ask重定向:槽正在迁移的过程中
Redis时可以实现动态扩缩容的 , Redis扩容就是向Redis中添加节点
防火墙开通端口
firewall-cmd --zone=public --add-port=7007/tcp --permanent firewall-cmd --zone=public --add-port=17007/tcp --permanent systemctl restart firewalld.service处理这个 , 还需要开启云服务器的安全组规则 。能够telnet通才可以 。
[root@VM-0-5-centos docker_redis_cluster]# telnet 162.14.74.11 7007 Trying 162.14.74.11... Connected to 162.14.74.11. Escape character is '^]'.编写增加节点的docker-compose.yml
version: '2' services: redis7: image: redis restart: always hostname: redis7 container_name: redis7 privileged: true network_mode: host environment: TZ: Asia/Shanghai volumes: - ${BASE_DIR}/redis7/data:/data - ${BASE_DIR}/redis7/conf/redis.conf:/etc/redis/redis.conf - ${BASE_DIR}/redis7/logs:/logs command: [ "redis-server","/etc/redis/redis.conf" ]执行文件
docker-compose -f addNode.yml up -d加入集群
在任意一台机器执行如下命令
# 注意 如果设置了密码 加入节点时使用-a指定密码 redis-cli --cluster add-node 162.14.74.11:7007 162.14.74.11:7001 -a abcAbc123.执行结果
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe. >>> Adding node 162.14.74.11:7007 to cluster 162.14.74.11:7001 >>> Performing Cluster Check (using node 162.14.74.11:7001) M: d77367d7830b4503980a14e379cb06a271906787 162.14.74.11:7001 slots:[0-5460] (5461 slots) master 1 additional replica(s) S: ef24f98f9d811539ed3aa7ebd58b42c02ae11c1a 162.14.74.11:7005 slots: (0 slots) slave replicates d77367d7830b4503980a14e379cb06a271906787 M: 5a92ba294e35f1d61e8091216c59c2fa44adfb9d 162.14.74.11:7002 slots:[5461-10922] (5462 slots) master 1 additional replica(s) S: 448b264edf1f697128395d8b6a656129024e2b55 162.14.74.11:7006 slots: (0 slots) slave replicates 5a92ba294e35f1d61e8091216c59c2fa44adfb9d S: 841ea8438a496f02c3866fa71fc9d4271b94e946 162.14.74.11:7004 slots: (0 slots) slave replicates 851c1b20f0616b60f172837e7e4bce792397d8ac M: 851c1b20f0616b60f172837e7e4bce792397d8ac 162.14.74.11:7003 slots:[10923-16383] (5461 slots) master 1 additional replica(s) [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered.
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Redis 的大 Key 对持久化有什么影响?
- 手机防窥膜的原理是什么?真的会影响视力吗?
- 碘酒消毒的原理是什么?
- 三大指纹识别原理 指纹识别技术
- 玄空风水原理和方法 大玄空风水
- 图解涡轮增压器工作原理 涡轮增压器工作原理
- 跳绳减肥原理是什么
- 瘦身舞蹈瘦腿的原理是什么?
- 详解反渗透膜(RO 反渗透膜原理工作原理)
- 精索静脉曲张手术原理
