Redis单机安装|集群安装|6台服务器 三主三备

此文章中需要的安装文件可以从我的网盘下载相同版本的安装文件

http://pan.baidu.com/s/1qXMcYfi

1、需要在六台服务器上面都安装上redis,将redis-3.0.2.tar.gz分别上传到六台服务器上面。
   > tar xvf redis-3.0.2.tar.gz
   > cd redis-3.0.2
   > make
   > make install PREFIX=/home/advert/redis
如图则成功

2、启动redis
(1) 前台启动
    > cd redis/bin/
    > ./redis-server
如图则启动成功

(2) 后端启动
redis-3.0.2安装文件夹中将redis.conf文件到redis/bin/文件夹下,修改redis.conf文件 daemonize no为 daemonize yes
    > ./redis-server redis.conf


至此redis单机版安装好了,下面介绍redis集群的6台实施方案和伪分布式 一台安装6个实例的实施方案

1、一台安装6个实例
首先检查reids安装启动是否正确,检查启动进程,redis默认端口是6379
   > ps -ef | grep redis

在服务器的 /home/advert/redis 目录下面有一下两个目录


redis-3.0.2是根据.gz包解压下来的,redis是安装好的安装文件,reids/bin/目录下有如下配置
 默认没有redis.conf,这个文件是为了后台启动reids才从安装目录下复制进去的

接下来正式创建集群

创建一个文件夹redis-cluster,将redis文件复制到redis-cluster文件下,并且重名成redis01复制6个
> cd
> mkdir redis-cluster
> cp -R redis redis-cluster/redis01
> cd redis-cluster
> cp -R redis01 redis02
> cp -R redis01 redis03
> cp -R redis01 redis04
> cp -R redis01 redis05
> cp -R redis01 redis06
修改redis01至redis06六个文件夹中的redis.conf文件,去掉redis.conf文件中 cluster-enable yes前面的注释,并且对于redis01到06将redis.conf的配置文件中的port属性分别改成7001到7006,使redis6个实例使用不同的端口

创建集群需要执行一个ruby脚本,ruby脚本在redis-3.0.2/src文件夹中, redis-trib.rb
复制到redis-cluster文件夹下

安装ruby,在安装ruby之前首先先安装openssl和zlib
> tar xvf openssl-1.0.1c.tar.gz
> cd openssl-1.0.1c
> ./config
> make 
> make install
> tar xvf zlib-1.2.8.tar.gz
> cd  zlib-1.2.8
>  CFLAGS="-O3 -fPIC" ./configure --prefix=/usr/local/zlib/
> make 
> make install
> tar xvf ruby-2.2.2.tar.gz
> cd ruby-2.2.2
> ./configure --with-openssl-dir=/usr/local/ssl
> make
> make install
检查ruby版本和gem的版本

安装redis和ruby的依赖包
 >  gem install redis-3.0.0.gem --loacl gem install redis-3.0.0.gem --loacl

使用redis-trib.rb文件创建集群
./redis-trib.rb create --replicas 1 192.168.2.1:7001 192.168.2.1:7002 192.168.2.1:7003 192.168.2.1:7004 192.168.2.1:7005 192.168.2.1:7006
解释下这个脚本  ./redis-trib.rb 执行脚本
                create --replicas 创建集群
               1  一个备份
                   192.168.2.1:7001 192.168.2.1:7002 192.168.2.1:7003 192.168.2.1:7004 192.168.2.1:7005 192.168.2.1:7006  由于是一台服务器,所以ip都是一样的,他们的端口不同

至此一台六个实例的创建好了

再介绍6台3主3备的, 6台的集群的安装流程和一台也一样
首先,在六台上面都上传redis的压缩包并且解压安装具体安装方式可以参考前面,大致都是make && make install等等
六台服务器都复制redis.conf文件到redis/bin文件夹下,需要两个地方
daemonize no改为 daemonize yes
去掉 cluster-enable yes前面的#注释
注意:端口不用修改,在一台的时候需要不同的端口,现在在六台不需要区别端口

接下来,分别启动六台服务器的redis,接下来的操作都是在第一台服务器上面操作的,不需要再在其他五台服务器有任何操作

按照上面的要求,在第一台服务器上面安装ruby,安装 依赖包redis-3.0.0.gem
之后创建集群
./redis-trib.rb create --replicas 1 192.168.2.1:7001 192.168.2.2:7001 192.168.2.3:7001 192.168.2.4:7001 192.168.2.5:7005 192.168.2.6:7001

这行命令的中六台服务器的ip不同,端口都可以采用7001
执行命令后看到下面提示,即安装成功
advert@ZJHZ-CMREAD-JDBKREDIS01-VBUS-SD:~> ./redis-trib.rb create --replicas 1 192.168.2.1:7001 192.168.2.2:7001 192.168.2.3:7001 192.168.2.4:7001 192.168.2.5:7001 192.168.2.6:7001
>>> Creating cluster
Connecting to node 192.168.2.1:7001: OK
Connecting to node 192.168.2.2:7001: OK
Connecting to node 192.168.2.3:7001: OK
Connecting to node 192.168.2.4:7001: OK
Connecting to node 192.168.2.5:7001: OK
Connecting to node 192.168.2.6:7001: OK
>>> Performing hash slots allocation on 6 nodes...
Using 3 masters:
192.168.2.1:7001
192.168.2.1:7001
192.168.2.1:7001
Adding replica 192.168.2.4:7001 to 192.168.2.1:7001
Adding replica 192.168.2.5:7001 to 192.168.2.2:7001
Adding replica 192.168.2.6:7001 to 192.168.2.3:7001
M: 02b79605ab98aff02205a8abebc1f004c2c0990d 192.168.2.1:7001
   slots:0-5460 (5461 slots) master
M: 7d657993f8afbfe2762c6e5e3a9b5c004f075da2 192.168.2.2:7001
   slots:5461-10922 (5462 slots) master
M: 5f5cd4545895a7b8271c8a7fe62819cabef39bf0 192.168.2.3:7001
   slots:10923-16383 (5461 slots) master
S: 6682374bf5ab841a600c032f0eefb304c4a742ea 192.168.2.4:7001
   replicates 02b79605ab98aff02205a8abebc1f004c2c0990d
S: a4250ce009c5097b1ad2ceb21d78351655a84843 192.168.2.5:7001
   replicates 7d657993f8afbfe2762c6e5e3a9b5c004f075da2
S: 6587cfa79933d1ef7396589b9541af8b75d68fbd 192.168.2.6:7001
   replicates 5f5cd4545895a7b8271c8a7fe62819cabef39bf0
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 192.168.23.208:7001)
M: 02b79605ab98aff02205a8abebc1f004c2c0990d 192.168.2.1:7001
   slots:0-5460 (5461 slots) master
M: 7d657993f8afbfe2762c6e5e3a9b5c004f075da2 192.168.2.2:7001
   slots:5461-10922 (5462 slots) master
M: 5f5cd4545895a7b8271c8a7fe62819cabef39bf0 192.168.2.3:7001
   slots:10923-16383 (5461 slots) master
M: 6682374bf5ab841a600c032f0eefb304c4a742ea 192.168.2.4:7001
   slots: (0 slots) master
   replicates 02b79605ab98aff02205a8abebc1f004c2c0990d
M: a4250ce009c5097b1ad2ceb21d78351655a84843 192.168.2.5:7001
   slots: (0 slots) master
   replicates 7d657993f8afbfe2762c6e5e3a9b5c004f075da2
M: 6587cfa79933d1ef7396589b9541af8b75d68fbd 192.168.2.6:7001
   slots: (0 slots) master
   replicates 5f5cd4545895a7b8271c8a7fe62819cabef39bf0
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
advert@ZJHZ-CMREAD-JDBKREDIS01-VBUS-SD:~> 

问题描述:
在执行gem install redis-3.2.0.gem的时候提示下面错误
ERROR:  While executing gem ... (Gem::Exception)
    Unable to require openssl, install OpenSSL and rebuild ruby (preferred) or use non-HTTPS sources
这个问题,基本配置下gem的源就可以解决,但是如果的服务器是无法访问网络的,可以执行
gem install redis-3.2.0.gem --local

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值