博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Redis集群搭建,添加,删除,《实验》
阅读量:6968 次
发布时间:2019-06-27

本文共 4666 字,大约阅读时间需要 15 分钟。

端口号:7000-7005

第一步:

EPEL源安装ruby支持
yum install ruby rubygems -y

第二步:

使用国内源 : 查看 替换 删除 查看 安装
gem sources -l

gem sources -a

gem sources --remove

gem sources -l

gem install redis -v 3.3.3

第三步:

集群节点准备

mkdir /data/700{0..5}

cat > /data/7000/redis.conf <<EOF

port 7000
daemonize yes
pidfile /data/7000/redis.pid
loglevel notice
logfile "/data/7000/redis.log"
dbfilename dump.rdb
dir /data/7000
protected-mode no
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
EOF

cat >> /data/7001/redis.conf <<EOF

port 7001
daemonize yes
pidfile /data/7001/redis.pid
loglevel notice
logfile "/data/7001/redis.log"
dbfilename dump.rdb
dir /data/7001
protected-mode no
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
EOF

cat >> /data/7002/redis.conf <<EOF

port 7002
daemonize yes
pidfile /data/7002/redis.pid
loglevel notice
logfile "/data/7002/redis.log"
dbfilename dump.rdb
dir /data/7002
protected-mode no
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
EOF

cat >> /data/7003/redis.conf <<EOF

port 7003
daemonize yes
pidfile /data/7003/redis.pid
loglevel notice
logfile "/data/7003/redis.log"
dbfilename dump.rdb
dir /data/7003
protected-mode no
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
EOF

cat >> /data/7004/redis.conf <<EOF

port 7004
daemonize yes
pidfile /data/7004/redis.pid
loglevel notice
logfile "/data/7004/redis.log"
dbfilename dump.rdb
dir /data/7004
protected-mode no
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
EOF

cat >> /data/7005/redis.conf <<EOF

port 7005
daemonize yes
pidfile /data/7005/redis.pid
loglevel notice
logfile "/data/7005/redis.log"
dbfilename dump.rdb
dir /data/7005
protected-mode no
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
EOF

====================================================

启动节点:

redis-server /data/7000/redis.conf

redis-server /data/7001/redis.conf
redis-server /data/7002/redis.conf
redis-server /data/7003/redis.conf
redis-server /data/7004/redis.conf
redis-server /data/7005/redis.conf
[root@db01 ~]# ps -ef |grep redis
root 8854 1 0 03:56 ? 00:00:00 redis-server :7000 [cluster]
root 8858 1 0 03:56 ? 00:00:00 redis-server
:7001 [cluster]
root 8860 1 0 03:56 ? 00:00:00 redis-server :7002 [cluster]
root 8864 1 0 03:56 ? 00:00:00 redis-server
:7003 [cluster]
root 8866 1 0 03:56 ? 00:00:00 redis-server :7004 [cluster]
root 8874 1 0 03:56 ? 00:00:00 redis-server
:7005 [cluster]

===============================================================
、将节点加入集群管理:
redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 \
127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005

、集群状态查看

集群主节点状态
redis-cli -p 7000 cluster nodes | grep master
集群从节点状态
redis-cli -p 7000 cluster nodes | grep slave

=================================================

增加新的节点: 一主一从

mkdir /data/7006 主

mkdir /data/7007 从

cat > /data/7006/redis.conf <<EOF

port 7006
daemonize yes
pidfile /data/7006/redis.pid
loglevel notice
logfile "/data/7006/redis.log"
dbfilename dump.rdb
dir /data/7006
protected-mode no
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
EOF

cat > /data/7007/redis.conf <<EOF

port 7007
daemonize yes
pidfile /data/7007/redis.pid
loglevel notice
logfile "/data/7007/redis.log"
dbfilename dump.rdb
dir /data/7007
protected-mode no
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
appendonly yes
EOF

启动6-7
redis-server /data/7006/redis.conf
redis-server /data/7007/redis.conf

添加主节点:6

redis-trib.rb add-node 127.0.0.1:7006 127.0.0.1:7000

#######添加后需要重新分片
redis-trib.rb reshard 127.0.0.1:7000
一共16384,需要分16384/4=4096 给 6 节点
接受节点是 6 节点的ID号 06f368e566e3c039e7c2fb98acead603d1d471e3
发送节点是 全部 all
yes 是接受计划,查看下,是否成功!

添加从节点: 7

##注意:是主节点添加 从节点, 这里就要写主点的 6 的ID号
redis-trib.rb add-node --slave --master-id 06f368e566e3c039e7c2fb98acead603d1d471e3 127.0.0.1:7007 127.0.0.1:7000

这就完事了,主节点和从节点,都添加完成了。

删除主节点6 :

删除一个节点
删除master节点之前首先要使用reshard移除master的全部slot,然后再删除当前节点
注释;节点6 有4096槽位 平均分给 0 1 2 这三个节点
0节点是 1365
1节点是 1366
2节点是 1365


redis-trib.rb reshard 127.0.0.1:7000
第一次是0节点 1365
第一次 接受节点的ID 是0的
发送节点的ID 是6 的
done 完成
yes 执行计划

redis-trib.rb reshard 127.0.0.1:7000
第二次是1节点 1366
第二次 接受节点的ID 是1的
发送节点的ID 是6 的
done 完成
yes 执行计划

redis-trib.rb reshard 127.0.0.1:7000
第三次是2节点 1365
第三次 接受节点的ID 是2的
发送节点的ID 是6 的
done 完成
yes 执行计划

移除完毕,才能删除:

redis-trib.rb del-node 127.0.0.1:7006 06f368e566e3c039e7c2fb98acead603d1d471e3
检查:
redis-cli -p 7000 cluster nodes | grep master
没有6这个主节点了。

转载于:https://blog.51cto.com/13959927/2385622

你可能感兴趣的文章
存preference
查看>>
建立基于虚拟用户的vsftpd服务
查看>>
jQuery Datatable 自定义列
查看>>
化妆品电商与供货商 一个词“暧昧”
查看>>
Raid,不可不知的Raid等级!
查看>>
删除MySQL log bin 日志操作记录
查看>>
在Oracle数据库启动时提示没有权限 ora-01031:insufficient privileges
查看>>
405不允许的方法从StaticFileModule
查看>>
我的友情链接
查看>>
通过eclipse调试MapReduce任务
查看>>
服务器安全检查的基本步骤
查看>>
UESTC 1700 Shaking Your Cellphone 并查集
查看>>
ERP选型过程中常见的三大错误
查看>>
常用正则表达式
查看>>
Oracle Statspack安装使用
查看>>
js中replace的用法(两种常用举例,还有好多用法不一一列举)
查看>>
云计算原来是IT界工资最高的
查看>>
Postfix 安装和配置
查看>>
CentOS7.1 升级openssh到openssh-7.4p1
查看>>
where子句的使用
查看>>