本文主要是介绍RedisCluster非ruby搭建,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
独立启动各个redis节点
#杀redis进程
pkill redis
#删除AOF RDB文件
rm -rf /home/hadoopmanage/rediscluster/conf/*/nodes.conf
rm -rf /home/hadoopmanage/rediscluster/conf/*/dump.rdb
rm -rf /home/hadoopmanage/rediscluster/conf/*/appendonly.aof
————————————————
#独立启动各个redis节点
cd /home/hadoopmanage/rediscluster/conf/7000/
/opt/redis-4.0.10/src/redis-server redis.conf
cd /home/hadoopmanage/rediscluster/conf/7001/
/opt/redis-4.0.10/src/redis-server redis.conf
cd /home/hadoopmanage/rediscluster/conf/7002/
/opt/redis-4.0.10/src/redis-server redis.conf
cd /home/hadoopmanage/rediscluster/conf/7003/
/opt/redis-4.0.10/src/redis-server redis.conf
cd /home/hadoopmanage/rediscluster/conf/7004/
/opt/redis-4.0.10/src/redis-server redis.conf
cd /home/hadoopmanage/rediscluster/conf/7005/
/opt/redis-4.0.10/src/redis-server redis.conf
————————————————
集群节点握手
cd /opt/redis-4.0.10/src/
redis-cli -h 192.168.10.11 -p 7000
CLUSTER MEET 192.168.10.11 7000
CLUSTER MEET 192.168.10.11 7001
CLUSTER MEET 192.168.10.11 7002
CLUSTER MEET 192.168.10.11 7003
CLUSTER MEET 192.168.10.11 7004
CLUSTER MEET 192.168.10.11 7005
————————————————
集群节点槽位分配
#设置好主从关系之后,就可以用cluster addslots命令指派16384个槽的位置了。有点恶心的是,
#ADDSLOTS命令需要在参数中一个个指明槽的ID,而不能指定范围。
#这里用Bash 3.0的特性简化了,不然就得用Bash的循环来完成了:
redis-cli -h 192.168.10.11 -p 7000 cluster addslots {0..5461}
redis-cli -h 192.168.10.11 -p 7001 cluster addslots {5462..10922}
redis-cli -h 192.168.10.11 -p 7002 cluster addslots {10923..16383}
————————————————
查看集群节点ID,目的是后面分配主从会用到
cd /opt/redis-4.0.10/src/
redis-cli -h 192.168.10.11 -p 7000
cluster nodes
#查看的信息如下:
0ba73a42688039745f71adc4eb9bd33d96ec6067 192.168.10.11:7002 master - 0 1465648931751 2 connected 10923-16383
6815d0291ec49f0a96c5ab6bf9f8dd622c16a9e5 192.168.10.11:7000 myself,master - 0 0 5 connected 0-5461
12352c839c530280a41da265ac821bc1014e8162 192.168.10.11:7001 master - 0 1465648929712 1 connected 5462-10922
3b7c9618bf909f88247f171184ba24841d5a87f4 192.168.10.11:7004 master - 0 1465648927677 4 connected
081afc3f41c603e6364d77a9ec63840cdf90f4f3 192.168.10.11:7003 master - 0 1465648926652 3 connected
7250093127bc8bce64a5f47b2dd13b4ac8c3fa4c 192.168.10.11:7005 master - 0 1465648930733 0 connected
————————————————
分配主从关系
#将节点192.168.10.11:7003设置为192.168.10.11:7000的从节点,6815d0291ec49f0a96c5ab6bf9f8dd622c16a9e5是192.168.10.11:7000的标识
cd /opt/redis-4.0.10/src/
redis-cli -h 192.168.10.11 -p 7003
cluster replicate 6815d0291ec49f0a96c5ab6bf9f8dd622c16a9e5
quit
#将节点192.168.10.11:7004设置为192.168.10.11:7001的从节点,12352c839c530280a41da265ac821bc1014e8162 是192.168.10.11:7001的标识
cd /opt/redis-4.0.10/src/
redis-cli -h 192.168.10.11 -p 7004
cluster replicate 12352c839c530280a41da265ac821bc1014e8162
quit
#将节点192.168.10.11:7005设置为192.168.10.11:7002的从节点,0ba73a42688039745f71adc4eb9bd33d96ec6067 是192.168.10.11:7002的标识
cd /opt/redis-4.0.10/src/
redis-cli -h 192.168.10.11 -p 7005
cluster replicate 0ba73a42688039745f71adc4eb9bd33d96ec6067
quit
————————————————
redis常见命令
集群
CLUSTER INFO 打印集群的信息
CLUSTER NODES 列出集群当前已知的所有节点(node),以及这些节点的相关信息。
节点
CLUSTER MEET <ip> <port> 将 ip 和 port 所指定的节点添加到集群当中,让它成为集群的一份子。
CLUSTER FORGET <node_id> 从集群中移除 node_id 指定的节点。
CLUSTER REPLICATE <node_id> 将当前节点设置为 node_id 指定的节点的从节点。
CLUSTER SAVECONFIG 将节点的配置文件保存到硬盘里面。
槽(slot)
CLUSTER ADDSLOTS <slot> [slot ...] 将一个或多个槽(slot)指派(assign)给当前节点。
CLUSTER DELSLOTS <slot> [slot ...] 移除一个或多个槽对当前节点的指派。
CLUSTER FLUSHSLOTS 移除指派给当前节点的所有槽,让当前节点变成一个没有指派任何槽的节点。
CLUSTER SETSLOT <slot> NODE <node_id> 将槽 slot 指派给 node_id 指定的节点,如果槽已经指派给另一个节点,那么先让另一个节点删除该槽>,然后再进行指派。
CLUSTER SETSLOT <slot> MIGRATING <node_id> 将本节点的槽 slot 迁移到 node_id 指定的节点中。
CLUSTER SETSLOT <slot> IMPORTING <node_id> 从 node_id 指定的节点中导入槽 slot 到本节点。
CLUSTER SETSLOT <slot> STABLE 取消对槽 slot 的导入(import)或者迁移(migrate)。
127.0.0.1:16399> cluster nodes
afc1b251151003a099388c26e0dd3fc90f84e413 10.10.200.30:17389@27389 slave 486112f7a7d8f52cb2143732a802b49421d0efe0 0 1595404602639 2 connected
486112f7a7d8f52cb2143732a802b49421d0efe0 10.10.200.30:16389@26389 master - 0 1595404600637 2 connected 8192-16383
36ddadb3dbc4a981fe5415c9996754add0f18710 10.10.200.30:17379@27379 slave 7fe58c6947d0dedd04d1d280bacfcb1006388fcd 0 1595404602000 1 connected
7fe58c6947d0dedd04d1d280bacfcb1006388fcd 10.10.200.30:16379@26379 master - 0 1595404601000 1 connected 0-8191
56cc69c7907df10eed9fd1d6c98417b0b02f4dce 10.10.200.30:17399@27399 master - 0 1595404601638 4 connected
673544021eb267db20eab5a27ca9d3cd60e6b2fe 10.10.200.30:16399@26399 myself,master - 0 1595404600000 0 connected [16383-<-486112f7a7d8f52cb2143732a802b49421d0efe0]
127.0.0.1:16399> cluster setslot 16383 importing 486112f7a7d8f52cb2143732a802b49421d0efe0
OK
键
CLUSTER KEYSLOT <key> 计算键 key 应该被放置在哪个槽上。
CLUSTER COUNTKEYSINSLOT <slot> 返回槽 slot 目前包含的键值对数量。
CLUSTER GETKEYSINSLOT <slot> <count> 返回 count 个 slot 槽中的键。
————————————————
这篇关于RedisCluster非ruby搭建的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!