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,发现会有东西

redis-cluster集群搭建_第1张图片

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 # 查看日志,会有警告

redis-cluster集群搭建_第2张图片
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 ###再次查看日志,警告也没有了

redis-cluster集群搭建_第3张图片
将之前配置好的配置文件复制到其他节点

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-cluster集群搭建_第4张图片

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-cluster集群搭建_第5张图片

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

redis-cluster集群搭建_第6张图片

[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"

redis-cluster集群搭建_第7张图片

redis-cluster集群搭建_第8张图片

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

redis-cluster集群搭建_第9张图片

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

redis-cluster集群搭建_第10张图片

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

redis-cluster集群搭建_第11张图片
redis-cluster集群搭建_第12张图片

你可能感兴趣的:(redis,redis,集群)