RedisCluster集群搭建

原创
2017/08/01 18:40
阅读数 349

一、单例redis安装,集群也必须先安装好单例。

1.下载redis,目前redis已经升级到4.版本了,但是我们知道国外的软件发布习惯,所以我选择3.2.0 这个版本。
命令:wget http://download.redis.io/releases/redis-3.2.0.tar.gz

2.解压文件:
命令:tar -zxvf redis-3.2.0.tar.gz
3.进入到 redis-3.2.0 
命令: cd redis-3.2.0
4.编译
命令:make
可能有些机器会出现编译错误,因为编译需要gcc环境,安装gcc环境命令: yum install -y gcc g++ gcc-c++ make 

5.安装
命令:make install PREFIX=/usr/local/redis
6.将 redis-3.2.0 目录下的redis.conf 复制到 /usr/local/redis/bin 目录下这样单例的redis就安装完成 。启动redis服务:

这样就表示单例的redis搭建完成,但是是这时的redis 还需要改成后台运行,修改redis.conf文件中:

daemonize yes 即可。

二集群安装

集群安装分为多机器集群,和单机伪集群,但是不管是多机集群还是单机伪集群,redis的实例都必须在6台以上,因为集群的原理是半数以上的机器连接不通认为宕机,所以最少必须3台*2(主从)。单机伪集群,我这里就不写了,网上例子很多。

多机器集群安装我这里以三台机器(192.168.1.33,192.168.1.34,192.168.1.35),每台集群2个实例为例子:

1.在 192.168.1.33 机器/usr/local/ 下新建目录:redis-cluster1
   在 192.168.1.34 机器/usr/local/ 下新建目录:redis-cluster2
   在 192.168.1.35 机器/usr/local/ 下新建目录:redis-cluster3

2.将上一步安装的redis复制到redis-cluster 目录下,分别为: 
    redis-cluster1/ redis 1 redis 2
    redis-cluster2/ redis 3 redis 4
    redis-cluster3/ redis 5 redis 6

3.将redis的解压文件的 src目录下 cp redis-trib.rb 文件到 redis-cluster1,redis-cluster2,redis-cluster3任意一目录下。

4.修改redis1,redis2,redis3,redis4,redis5,redis6,目录下的redis.conf的属性:
port 6371
cluster-enabled yes  
cluster-config-file nodes-6371.conf  
cluster-node-timeout 5000  
appendonly yes
bind 127.0.0.1
端口号自己设定,但是每个redis.conf中的 port 和 cluster-config-file nodes-6371.conf  保持一致,没有强制要求保持一致,但是我默认是一种约定。

5.启动所有redis服务: ./redis-server redis.conf

6.将所有的redis服务用命令:./redis-cli  -p 6371 shutdown 停掉,然后将redis.conf 中的 bind 127.0.0.1 注释掉,
给所有的redis服务设置主密码,从密码:
config set masterauth  !@1234567890qaz  
config set requirepass  !@1234567890qaz
auth   !@1234567890qaz
config rewrite

7.重启所有服务

8.在创建集群之前需要安装ruby 环境
命令:
yum -y install ruby ruby-devel rubygems rpm-build
gem install redis

9.修改 vi  /usr/lib/ruby/gems/1.8/gems/redis-3.3.3/lib/redis/client.rb 修改password 和之前设定的密码一致

class Redis
  class Client
    DEFAULTS = {
      :url => lambda { ENV["REDIS_URL"] },
      :scheme => "redis",
      :host => "127.0.0.1",
      :port => 6379,
      :path => nil,
      :timeout => 5.0,
      :password => "!@1234567890qaz",
      :db => 0,
      :driver => nil,
      :id => nil,
      :tcp_keepalive => 0,
      :reconnect_attempts => 1,
      :inherit_socket => false
    }

10. 创建集群:./redis-trib.rb  create --replicas 1 192.168.1.33:6371 192.168.1.34:6373 192.168.1.35:6375 192.168.1.33:6374 192.168.1.34:6376 192.168.1.35:6372
11.检查集群:./redis-trib.rb check 192.138.1.33:6371 。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部