您的位置:首页 > 数据库 > Redis

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

2016-11-02 14:05 549 查看
此文章中需要的安装文件可以从我的网盘下载相同版本的安装文件

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是
4000
安装好的安装文件,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 --loaclgem 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  redis Linux 缓存