redis-cluster集群搭建

redis单机集群

准备一台虚拟机rhel6.5
官网上下载redis-4.0.8.tar.gz

tar zxf redis-4.0.8.tar.gz
mkdir cluster
mkdir 7001  # 创建各自的主目录
mkdir 7002
mkdir 7003
mkdir 7004
mkdir 7005
mkdir 7006
cd redis-4.0.8
cd src
cp redis-trib.rb /usr/local/bin/
cd /usr/local/bin
cdedis-trib.rb  执行命令,会报错**
**解决其需要的依赖性**
yum install libyaml-0.1.3-4.el6_6.x86_64.rpm ruby-2.2.3-1.el6.x86_64.rpm -y
gem install --local redis-4.0.1.gem 
gem list --local  ###做完上述步骤,列出本地gem,发现会有东西

这里写图片描述

cd /usr/local/cluster/7001/
vim redis.conf
port 7001
cluster-enabled yes  # 打开集群设置
cluster-config-file nodes.conf
cluster-node-timeout 5000  # 延长时间
appendonly yes
daemonize yes
pidfile /usr/local/cluster/7001/redis.pid # pid文件路径
logfile /usr/local/cluster/7001/redis.log  # 日志文件路径
redis-server redis.conf  ###打开集群服务
cat redis.log # 查看日志,会有警告

这里写图片描述
cat /proc/sys/net/core/somaxconn # 查看这个文件数字,按照提示修改
按照日志中的提示信息:

echo 511 > /proc/sys/net/core/somaxconn
sysctl -w vm.overcommit_memory=1
vim /etc/sysctl.conf  ##编辑配置文件
写入:vm.overcommit_memory=1
echo never > /sys/kernel/mm/transparent_hugepage/enabled
redis-server redis.conf ###打开集群
cat redis.log ###再次查看日志,警告也没有了

这里写图片描述
将之前配置好的配置文件复制到其他节点

cp redis.conf ../7002/
cp redis.conf ../7003/
cp redis.conf ../7004/
cp redis.conf ../7005
cp redis.conf ../7006
cd ..
cd 7002/
vim redis.conf   ###将文件中的端口号改为7002和存放目录的更改
redis-server redis.conf    ###打开集群的redis
cd ..
cd 7003/
vim redis.conf  ###将文件中的端口号改为7003和存放目录的更改
redis-server redis.conf   ###打开集群的redis
cd ..
cd 7004/
vim redis.conf   ###将文件中的端口号改为7004和存放目录的更改
redis-server redis.conf    ###打开集群的redis
cd ..
cd 7005/
vim redis.conf   ###将文件中的端口号改为7005和存放目录的更改
redis-server redis.conf   ###打开集群的redis
cd ..
cd 7006/
vim redis.conf   ###将文件中的端口号改为7006和存放目录的更改
redis-server redis.conf    ###打开集群的redis
ps ax ##查看进程是否都打开了
netstat -antlp ##查看端口号是否开启

这里写图片描述

redis-trib.rb createreplicas 1 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 127.0.0.1:7006 ###创建集群

这里写图片描述

redis-trib.rb check 127.0.0.1:7001 # 查看集群

这里写图片描述

[root@server5 7006]# redis-cli -c -p 7001
127.0.0.1:7001> set name wdd
-> Redirected to slot [5798] located at 127.0.0.1:7002  # 写入的内容在7002上
OK
redis-cli -c -p 7002
127.0.0.1:7002> info  # 7002的master是7005
127.0.0.1:7002> get name  # 查找成功
"wdd"

这里写图片描述

这里写图片描述

kill -9 1120
redis-cli -c -p 7006  ##登陆redis后,get还能看见之前存入的内容

这里写图片描述

ps ax
kill -9 4579   ##再杀掉slave
redis-cli -c -p 7001   ###登陆redis后,get就会显示cluster is down

这里写图片描述

关闭掉一半以上的master后,集群的功能也会破坏

这里写图片描述
这里写图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值