标签:原生 127.0 cli 0.1 Redis redis cluster 集群 7000
Redis Cluster 原生命令搭建
1.节点配置文件
vim redis-cluster-7000.conf
port 7000
daemonize yes
dir "/usr/local/redis-4.0.11/db"
logfile /usr/local/redis-4.0.11/log/log-redis-cluster-7000.log
dbfilename dump-cluster-node-7000.rdb
#指定本地数据库路径
dir /usr/local/redis-4.0.11/db/
cluster-enabled yes
cluster-config-file nodes-7000.conf
cluster-require-full-coverage no
以端口号作为区分在本地配置6个节点
可使用sed 全局替换端口号即可
sed 's/7000/7001' redis-cluster-7000.conf > redis-cluster-7001.conf
2.开启节点
redis-server redis-7000.conf
redis-server redis-7001.conf
redis-server redis-7002.conf
redis-server redis-7003.conf
redis-server redis-7004.conf
redis-server redis-7005.conf
3.meet (让节点之间组成全连通)
client-port> cluster meet ip port
例如:
redis-cli -h 127.0.0.1 -p 7000 cluster meet 127.0.0.1 7001(即让7000节点和7001组成无向强连通图)
再加入其他4个节点
redis-cli -h 127.0.0.1 -p 7000 cluster meet 127.0.0.1 7002
redis-cli -h 127.0.0.1 -p 7000 cluster meet 127.0.0.1 7003
redis-cli -h 127.0.0.1 -p 7000 cluster meet 127.0.0.1 7004
redis-cli -h 127.0.0.1 -p 7000 cluster meet 127.0.0.1 7005
4.分配槽
cluster addslots slot [slot.... ]
例如:给7000节点分配 0 号槽
redis-cli -h 127.0.0.1 -p 7000 cluster addslots 0
为了更加方便的分配槽写一个shell -- vim addslots.sh
start=$1
end=$2
port=$3
for slot in `seq ${start} ${end}`
do
echo "slot: ${slot}"
redis-cli -p ${port} cluster addslots ${slot}
done
执行 addslots.sh 即可给7000节点添加101个槽
sh addslots.sh 0 100 7000
依此给7001 7002 添加槽
sh addslots.sh 5462 10922
sh addslots.sh 10923 16383
5.设置主从
client > cluster replicate node-id
其中node-id通过 client> cluster nodes 查看
例如127.0.0.1:7000 : cluster nodes
2dd8bd28414c1ea1a8579f419fdbc9efb9320cd3 127.0.0.1:7000@17000 myself,master - 0 1590715527000 1 connected 0-5461
4d66669a30b37b848b74427495ba3b2a54245c37 127.0.0.1:7005@17005 slave 71215b7b9c9ccb133cd10c4349b41dc228746df9 0 1590715529000 5 connected
71215b7b9c9ccb133cd10c4349b41dc228746df9 127.0.0.1:7002@17002 master - 0 1590715530614 4 connected 10923-16383
d82ac478758b7ed8b6feb14c37c78372a6308929 127.0.0.1:7004@17004 slave 67f63146d974477594c1cab97ead0e29d2ccac22 0 1590715527581 2 connected
630edf075aa5ba191e5d48a97b72e412562ab013 127.0.0.1:7003@17003 slave 2dd8bd28414c1ea1a8579f419fdbc9efb9320cd3 0 1590715529602 3 connected
67f63146d974477594c1cab97ead0e29d2ccac22 127.0.0.1:7001@17001 master - 0 1590715529000 2 connected 5462-10922
一行中第一个为node-id
设置7003为7000节点的slave、7004为7001节点的slave、7005为7002节点的slave
redis-cli -h 127.0.0.1 -p 7003 cluster replicate ${node-id-7000}
redis-cli -h 127.0.0.1 -p 7004 cluster replicate ${node-id-7001}
redis-cli -h 127.0.0.1 -p 7005 cluster replicate ${node-id-7002}
Client > cluster info 可以查看当前的集群信息
在7000节点中set hello world
Client-7000> set hello world
可在其他节点查看
标签:原生,127.0,cli,0.1,Redis,redis,cluster,集群,7000 来源: https://www.cnblogs.com/outxiao/p/12985688.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。