redis集群搭建

1.安装相关依赖包

yum -y install make cmake gcc gcc-c++ libstdc libstdc++-devel glibc glibc-devel zlib zlib-devel tcl tcl-devel openssl*

2.官网下载redis,ruby,rubygems的tar包。

redis:http://download.redis.io/releases/    下载自己需要的安装包

ruby:http://www.ruby-lang.org/en/downloads/   下载自己需要的安装包

rubygems:https://rubygems.org/pages/download  下载自己需要的安装包

3.将redis解压到自己需要安装在的目录下,make安装

[root@redis001 ruby-2.2.2]# cd redis-3.2.4/
[root@redis001 ruby-2.2.2]# make&&make test

4.将ruby解压,并安装

cd ruby-2.2.2
[root@redis001 ruby-2.2.2]# rpm -qa |grep ruby |xargs rpm -e --nodeps
[root@redis001 ruby-2.2.2]# ./configure --prefix=/usr/local/ruby
[root@redis001 ruby-2.2.2]# make && make install

[root@redis001 ruby-2.2.2]# cp ruby /usr/local/bin

测试
[root@redis001 ruby-2.2.2]# ruby -v
ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux]

5.解压并安装rubygems

[root@redis001 rubygems-2.4.7]# ruby setup.rb
[root@redis001 rubygems-2.4.7]# cp bin/gem /usr/local/bin

测试
[root@redis001 rubygems-2.4.7]#gem -v
2.4.7

[root@redis001 rubygems-2.4.7]# gem install redis

6.修改redis配置文件,并创建集群

[root@redis001 redis-3.2.4]# 
vim redis
daemonize yes
bind 172.19.163.71
cluster-enabled yes

#启动redis
[root@redis001 redis-3.2.4]# ./src/redis-server redis.conf
[root@redis001 redis-3.2.4]# cp /src/redis-trib.rb /usr/local/bin/
[root@redis001 redis-3.2.4]# redis-trib.rb create 172.19.163.72:6379 172.19.163.71:6379 172.19.163.70:6379
>>> Creating cluster
>>> Performing hash slots allocation on 3 nodes...
Using 3 masters:
172.19.163.72:6379
172.19.163.71:6379
172.19.163.70:6379
M: 684ade677d6277da903ed0af78b92a38bfa300a1 172.19.163.72:6379
   slots:0-5460 (5461 slots) master
M: 03c7dff6addeb4ca803f29ba7bcbc1badacea57a 172.19.163.71:6379
   slots:5461-10922 (5462 slots) master
M: db08d6b9ec443bd0399e6ac1a4d738b914b1bd83 172.19.163.70:6379
   slots:10923-16383 (5461 slots) master
Can I set the above configuration? (type 'yes' to accept): yes
>>> Nodes configuration updated
>>> Assign a different config epoch to each node
>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join.
>>> Performing Cluster Check (using node 172.19.163.72:6379)
M: 684ade677d6277da903ed0af78b92a38bfa300a1 172.19.163.72:6379
   slots:0-5460 (5461 slots) master
   0 additional replica(s)
M: db08d6b9ec443bd0399e6ac1a4d738b914b1bd83 172.19.163.70:6379
   slots:10923-16383 (5461 slots) master
   0 additional replica(s)
M: 03c7dff6addeb4ca803f29ba7bcbc1badacea57a 172.19.163.71:6379
   slots:5461-10922 (5462 slots) master
   0 additional replica(s)
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

7.检查并测试

[root@redis001 redis-3.2.4]# redis-trib.rb check 172.19.163.72:6379>>> Performing Cluster Check (using node 172.19.163.72:6379)
M: 684ade677d6277da903ed0af78b92a38bfa300a1 172.19.163.72:6379
   slots:0-5460 (5461 slots) master
   0 additional replica(s)
M: db08d6b9ec443bd0399e6ac1a4d738b914b1bd83 172.19.163.70:6379
   slots:10923-16383 (5461 slots) master
   0 additional replica(s)
M: 03c7dff6addeb4ca803f29ba7bcbc1badacea57a 172.19.163.71:6379
   slots:5461-10922 (5462 slots) master
   0 additional replica(s)
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.

这代表没问题

测试
1.随便找一台进入集群,并添加一个key值
[root@redis003 src]# ./redis-cli -h 172.19.163.70 -p 6379 -c
172.19.163.70:6379> set a 1000
OK
172.19.163.70:6379> get a
"1000"
2.计入另一台查看是否能找到这个key值
[root@redis002 ruby-2.2.2]# /app/redis-3.2.4/src/redis-cli -h 172.19.163.72 -p 6379 -c
172.19.163.72:6379> get a
-> Redirected to slot [15495] located at 172.19.163.70:6379
"1000"
172.19.163.70:6379>

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

在最新版的redis5.0时可以使用redis-cli进行集群的安装,不用安装ruby。

3主3从集群搭建

将配置文件复制进不同的目录中,将端口根据目录的不同进行修改,并且根据持久化的区别指定相应的备份文件目录,如下创建不同的目录。其他配置文件如上所示。

mkdir -p /usr/local/redis/redis_cluster/7000
mkdir -p /usr/local/redis/redis_cluster/7001
mkdir -p /usr/local/redis/redis_cluster/7002
mkdir -p /usr/local/redis/redis_cluster/7003
mkdir -p /usr/local/redis/redis_cluster/7004
mkdir -p /usr/local/redis/redis_cluster/7005

启动每一个端口的redis
创建集群命令
./redis-cli  --cluster  create   172.19.163.70:7000 172.19.163.70:7002 172.19.163.70:7003 172.19.163.70:7004 172.19.163.70:7005 172.19.163.70:7001 --cluster-replicas 1 
执行之后redis会随机指定master和slave。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值