wget http://download.redis.io/releases/redis-⑤0.⑥tar.gz
解压安装包
tar zxf redis-⑤0.⑥tar.gz
进入到解压后的文件夹
ps:编译前,服务器需要安装gcc
yum install gcc-c++
输入make命令即可编译,出现下图提示表示编译成功
也可以指定编译位置
make install PREFIX=path
编译后的文件
使用命令复制
cp -rf 文件夹路径 文件夹路径
效果
修改redis.conf的配置,给复制的每一份redis都修改成不同的端口,后台启动
# 默认
daemonize no
port 6379
# cluster-enabled yes
#修改
daemonize yes
port 7001
cluster-enabled yes
开启每个节点(批量执行)
cd /software/redis/redis6379/bin
./redis-server ./redis.conf
cd /software/redis/redis7000/bin
./redis-server ./redis.conf
cd /software/redis/redis7001/bin
./redis-server ./redis.conf
cd /software/redis/redis7002/bin
./redis-server ./redis.conf
cd /software/redis/redis7003/bin
./redis-server ./redis.conf
cd /software/redis/redis7004/bin
./redis-server ./redis.conf
出现下图表示所有节点开启成功
使用如下命令
redis-cli --cluster create ip:port ip:port ip:port
使用命令
redis-cli --cluster add-node node-ip:node-port master-ip:master-port --cluster-slave --cluster-master-id master节点id
添加完毕后查看节点信息
cluster nodes
连接redis(-c表示是集群模式)
redis-cli -p 6379 -c
使用 ps aux|grep redis查询每个redis节点的端口
这时候主从节点之间是正常的
redis-cli --cluster add-node 12⑦0.0.1:7005 12⑦0.0.1:6379
从7001节点分配1000个哈希槽给7005节点
all表示均匀分配(从每个节点取一点哈希槽出来)
done表示从当前节点取
[root@iz2zeaf5jdjve80rjlsjgnz bin]# redis-cli --cluster reshard 12⑦0.0.1:7001
>>> Performing Cluster Check (using node 12⑦0.0.1:7001)
S: 152f1f15ac36784362e8733a393c9a257f7a8ba2 12⑦0.0.1:7001
slots: (0 slots) slave
replicates f9129fca620934624742e25a31d08c545a9d583e
S: ac613c6d40e0d860662effb7403a67fe9b6029aa 12⑦0.0.1:7000
slots: (0 slots) slave
replicates 77cbdfe644fdc0e50e550cad44a3ed144c8d2499
M: f9129fca620934624742e25a31d08c545a9d583e 12⑦0.0.1:7002
slots:[5962-10922] (4961 slots) master
1 additional replica(s)
S: 09ede6784ccc5a41b82db3fe4c544b5c126f455e 12⑦0.0.1:7004
slots: (0 slots) slave
replicates bd08af40b95169524c27da654302c9f12d8a9e8c
M: bd08af40b95169524c27da654302c9f12d8a9e8c 12⑦0.0.1:7003
slots:[11422-16383] (4962 slots) master
1 additional replica(s)
M: 6c87fc578eec8bd7d588d111347dd7a7bd21dd0b 12⑦0.0.1:7005
slots: (0 slots) master
M: 77cbdfe644fdc0e50e550cad44a3ed144c8d2499 12⑦0.0.1:6379
slots:[0-5961],[10923-11421] (6461 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.
How many slots do you want to move (from 1 to 16384)? 1000
What is the receiving node ID? 6c87fc578eec8bd7d588d111347dd7a7bd21dd0b
Please enter all the source node IDs.
Type 'all' to use all the nodes as source nodes for the hash slots.
Type 'done' once you entered all the source nodes IDs.
Source node #1: all
Ready to move 1000 slots.
redis-cli --cluster add-node 12⑦0.0.1:7006 12⑦0.0.1:7005 --cluster-slave --cluster-master-id 6c87fc578eec8bd7d588d111347dd7a7bd21dd0b
Redis入门(适合新手)
redis集群搭建(非常详细,适合新手)