Redis3.0.5集群安装

首先,直接访问redis.io官网,下载redis.tar.gz,现在版本3.0.5,我下面已经在虚拟机启动了两个linux来部署redis。

1. 下载和解包

   cd /usr/local/

   wget http://download.redis.io/releases/redis-3.0.5.tar.gz

   tar -zxvf redis-3.0.5.tar.gz

   mv redis-3.0.5 redis

2. 编译安装

   cd redis

   make && make install

3. 创建redis节点

     我们将在两台Server上创建六个节点,每台3个,3主3从。

   1)Server1 

     cd /usr/local/

     mkdir redis_cluster   //创建集群目录

     mkdir 7000 7001 7002   //分别代表三个节点    其对应端口 7000 7001 7002

     创建7000节点为例,

     cd ./7000

     cp /usr/local/redis/redis.conf   ./    //拷贝到当前7000目录

     vi redis.conf    //编辑配置  主要修改一下几个参数

daemonize    yes                          //redis后台运行
pidfile  /var/run/redis_7000.pid        //pidfile文件对应7000
port  7000                                  //端口7000
cluster-enabled  yes                    //开启集群   把注释#去掉
cluster-config-file  nodes.conf      //集群的配置  配置文件首次启动自动生成
cluster-node-timeout   5000       //请求超时  设置5秒够了
appendonly   yes                  //aof日志开启   有需要就开启,它会每次写操作都记录一条日志  (全持久化)
#save 900  1
#save 300  10                    //注释掉这几个,这是写磁盘的配置,我只是做缓存,不需要写磁盘 (半持久化)
#save 60   10000                 //开启的话,在启动节点后,会生成相应的dump.rdb

配置好了,就相应地把这个修改后的配置文件拷贝到 7001  7002目录,注意要修改监听端口port 7001 7002.

    接下来,启动服务,进入节点目录

    依次执行  redis-server   redis.conf

    可以看到生成了appendonly.aof  nodes.conf

ps -ef | grep redis 查看是否启动成功

       root 885 0.8 0.2 129452 2620 ? Ssl 20:10 0:21 redis-server *:7000 [cluster]
       root       887  0.8  0.2 129452  2616 ?        Ssl  20:10   0:21 redis-server *:7001 [cluster]
       root       893  0.8  0.2 128356  2612 ?        Ssl  20:10   0:21 redis-server *:7002 [cluster]

    netstat -tnlp | grep redis 可以看到redis监听端口

       tcp        0      0 0.0.0.0:7000                0.0.0.0:*                   LISTEN      885/redis-server *
       tcp        0      0 0.0.0.0:7001                0.0.0.0:*                   LISTEN      887/redis-server *
       tcp        0      0 0.0.0.0:7002                0.0.0.0:*                   LISTEN      893/redis-server *
       tcp        0      0 0.0.0.0:17000               0.0.0.0:*                   LISTEN      885/redis-server *
       tcp        0      0 0.0.0.0:17001               0.0.0.0:*                   LISTEN      887/redis-server *
       tcp        0      0 0.0.0.0:17002               0.0.0.0:*                   LISTEN      893/redis-server *

    我们除了看到 配置文件中设置的端口700*    还有700*+10000  (1700*), 前者是客户端访问的, 后者是集群内部节点之间访问的.

    注意,在多台Server间搭建集群,如果开了防火墙的,需要设置iptables开放上面所有端口.

103036_QaVr_1175995.png

   2) Server2

    步骤和Server1一样, 设置端口  7003  7004  7005

4. 创建集群

   前面已经准备好了搭建集群的redis节点,接下来我们要把这些节点都串连起来搭建集群。官方提供了一个 工具:redis-trib.rb  (/usr/local/redis/src/redis-trib.rb) 看后缀就知道这鸟东西不能直接执行,它是用ruby写的一个程序,所以我们还得安装ruby.

   yum -y install ruby ruby-devel rubygems rpm-build    //网上不明觉厉,都是这么安装的,就跟着这样玩吧

   再用 gem 这个命令来安装 redis接口     gem貌似是ruby的一个工具包  反正没错就是了。

   gem install redis     //等一会儿就好了

   当然,方便操作,两台Server都要安装。

103338_0cP3_1175995.png  上面的步骤完事了,接下来运行一下redis-trib.rb


/usr/local/src/redis/src/redis-trib.rb  create  --replicas  1 127.0.0.1:7000  127.0.0.1:7001  127.0.0.1:7002  10.99.1.150:7003  10.99.1.150:7004  10.99.1.150:7005  
解释下, --replicas  1  表示 自动为每一个master节点分配一个slave节点    上面有6个节点,程序会按照一定规则生成 3个master(主)3个slave(从)

    前面已经提醒过的 防火墙一定要开放监听的端口,否则会创建失败。

    运行中,提示Can I set the above configuration? (type 'yes' to accept): yes    //输入yes

    接下来 提示   Waiting for the cluster to join..........  安装的时候在这里就一直等等等,没反应,傻傻等半天,看这句提示上面一句,Sending Cluster Meet Message to join the Cluster.

    这下明白了,我刚开始在一台Server上去配,也是不需要等的,这里还需要跑到Server2上做一些这样的操作。

    在Server2, redis-cli -c -p 700*  分别进入redis各节点的客户端命令窗口, 依次输入 cluster meet 192.168.1.197 7000…… 

    回到Server1,已经创建完毕了。

    查看一下 /usr/local/redis/src/redis-trib.rb check 127.0.0.1:7000

    到这里集群已经初步搭建好了。

114048_JV3f_1175995.png


查看集群节点状态

redis-cli -p 7000 cluster nodes

114314_qp4E_1175995.png

这里面就知道哪些是master,哪些是slave


测试数据

114535_r1xV_1175995.png

转载于:https://my.oschina.net/gaowm/blog/535254

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值