redis3.2.8集群搭建

本教程共用到两台服务器搭建了6个redis实例
服务器1:192.168.1.111
服务器2:192.168.1.123

安装redis3.2

wget  http://download.redis.io/releases/redis-3.2.8.tar.gz
tar -zxvf redis-3.2.8.tar.gz
cd redis-3.2.8
make PREFIX=/usr/local/redis install
cp redis.conf /usr/local/redis/
cp src/redis-trib.rb /usr/local/redis/

在服务器1创建3个redis实例

# 创建集群目录
mkdir -p /usr/local/redis_cluster
cd /usr/local/redis_cluster
#分别创建三个节点    其对应端口 7000 7001 7002
mkdir 7000 7001 7002
#拷贝配置文件到三个目录
 cp ~/redis-3.2.8/redis.conf ./redis_cluster/7000/   
 cp ~/redis-3.2.8/redis.conf ./redis_cluster/7001/   
 cp ~/redis-3.2.8/redis.conf ./redis_cluster/7002/

分别对7001,7002、7003文件夹中的redis.conf 修改

#绑定本机ip
bind 192.168.1.196 127.0.0.1
#redis后台运行
daemonize    yes                          
pidfile  /var/run/redis_7000.pid
#端口          
port  7000 
#开启集群                               
cluster-enabled  yes                      
#集群的配置  配置文件首次启动自动生成
cluster-config-file  nodes_7000.conf   
请求超时,单位毫秒  
cluster-node-timeout  5000
#aof日志开启  有需要就开启,它会每次写操作都记录一条日志                
appendonly  yes                           

启动redis实例

/usr/local/redis/bin/redis-server /usr/local/redis_cluster/7000/redis.conf
/usr/local/redis/bin/redis-server /usr/local/redis_cluster/7001/redis.conf
/usr/local/redis/bin/redis-server /usr/local/redis_cluster/7002/redis.conf
/usr/local/redis/bin/redis-server /usr/local/redis_cluster/7003/redis.conf
/usr/local/redis/bin/redis-server /usr/local/redis_cluster/7004/redis.conf
/usr/local/redis/bin/redis-server /usr/local/redis_cluster/7005/redis.conf

查看启动没有

ps -ef|grep redis
13034051-1ddf497dd925d078.png
image.png

安装ruby和rubygems

yum -y install ruby ruby-devel rubygems rpm-build

用 gem 这个命令来安装 redis接口

gem install redis

如果报错
Error installing redis:redis requires Ruby version >= 2.2.2
升级Ruby

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
curl -sSL https://get.rvm.io | bash -s stable 
source  /etc/profile.d/rvm.sh

查看rvm库中已知的ruby版本

rvm list known
13034051-f6aff96079f25675.png
image.png

如果没有ruby版本就执行下面语句

rvm get head

安装ruby

rvm install 2.4.1

查看ruby版本号

ruby --version

gem install redis


13034051-7e6746e3e45b69fd.png
image.png

再用 gem 这个命令来安装 redis接口

  gem install redis

创建集群

/usr/local/redis/redis-trib.rb create --replicas 1 192.168.1.111:7000 192.168.1.111:7001 192.168.1.111:7002 192.168.1.123:7003 192.168.1.123:7004 192.168.1.123:7005
13034051-f3560dcaa015318b.png
image.png

输入yes完成创建


13034051-ad06206a80c0f133.png
image.png

到这里集群创建成功

测试集群

在服务器1中存入数据
/usr/local/redis/bin/redis-cli -h 192.168.1.111 -c -p 7000


13034051-d0a85d1c5b57008a.png
image.png

在服务2中取出数据


13034051-796b3b3121347463.png
image.png

查看节点信息

cluster nodes
13034051-89508e59f04a917c.png
image.png

php代码测试

<?php
    $obj_cluster = new RedisCluster(NULL, ['192.168.1.111:7000', '192.168.1.111:7001', '192.168.1.111:7002','192.168.1.123:7003', '192.168.1.123:7004', '192.168.1.123:7005']);
    $obj_cluster->set('name1', '1111');
    $obj_cluster->set('name2', '2222');
    $obj_cluster->set('name3', '3333');
    $name1 = $obj_cluster->get('name1');
    $name2 = $obj_cluster->get('name2');
    $name3 = $obj_cluster->get('name3');
    var_dump($name1);
    var_dump($name2);
    var_dump($name3);

输出


13034051-c17fd6ac69ad56ef.png
image.png

可以保存和获取,测试没问题,最后注意redis版本尽量相同,出现问题可以先flushall 和 cluster reset 清空节点再重试
停止redis实例
/usr/local/redis/bin/redis-cli -h 192.168.1.111 -p 7000 shutdown
/usr/local/redis/bin/redis-cli -h 192.168.1.111 -p 7001 shutdown
/usr/local/redis/bin/redis-cli -h 192.168.1.111 -p 7002 shutdown
/usr/local/redis/bin/redis-cli -h 192.168.1.123 -p 7003 shutdown
/usr/local/redis/bin/redis-cli -h 192.168.1.123 -p 7004 shutdown
/usr/local/redis/bin/redis-cli -h 192.168.1.123 -p 7005 shutdown

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值