redis集群搭建

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

redis集群搭建

现在项目上用redis的话,很少说不用集群的情况,毕竟如果生产上只有一台redis会有极大的风险,比如机器挂掉,或者内存爆掉,就比如我们生产环境曾今也遭遇到这种情况,导致redis内存不够挂掉的情况,当然这些都是我们及其不能容忍的,第一个必须要做到高可靠,其次才是高性能,好了,下面我来逐一搭建一下。

一:Redis集群搭建

1. 下载

首先去官网下载较新的3.2.0版本,下载方式还是非常简单的,比如官网介绍的这样。

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

$ tar xzf redis-3.2.0.tar.gz

$ cd redis-3.2.0

$ make

2. redis配置

由于我们要做集群,而且还要redis自带的redis-trib.rb 能正常运行,我们需要在集群中开启三台master,三台slave,所以这里我需要建立6个文件

夹,而且文件夹的名称就使用端口地址的名字,比如:6389. 6380....6384。

3. config配置。

现在directory的分布情况大致如上图,接下来要做的事情就是配置redis.conf了,在这里需要配置四个选项。。。

<1> port 端口地址,比如6380文件夹下面的port就是6380,

# Accept connections on the specified port, default is6379 (IANA #815344).

# If port 0is specified Redis will not listen on a TCP socket.

port 6379

<2> cluster-enabled 和cluster-config-file

这个顾名思义,首先需要开启redis的cluster模式,然后配置一个cluster-config-file文件,这个文件用于存放redis 的实时信息,redis会动态追加和修改这个conf下面的内容信息,不过要记住,这个nodes-6379.conf 可以根据端口文件夹依次配置,比如6380文件夹可以改成nodes-6380.conf这样。。。

# Normal Redis instances can't be part of a Redis Cluster; only nodes that are

# started as cluster nodes can. In order to start a Redis instance as a

# cluster node enable the cluster support uncommenting the following:

#

cluster-enabled yes

# Every cluster node has a cluster configuration file. This file is not

# intended to be edited by hand. It is created and updated by Redis nodes.

# Every Redis Cluster node requires a different cluster configuration file.

# Make sure that instances running in the same system do not have

# overlapping cluster configuration file names.

#

cluster-config-file nodes-6379.conf

<3> directory

为了方便管理,我这里配置的root目录取决于在哪个文件夹,比如6380下面我的dir就是: dir ./6380/

# Note that you must specify a directory here, not a file name.

dir ./6379/

<4> protected-mode

这个是redis 3.2 才追加的一个功能,从功能注释中,我们就可以发现,这个默认就是不让外界可以访问redis,所以这里我们就改为no,可以远程访问。

# By default protected mode is enabled. You should disable it only if

# you are sure you want clients from other hosts to connect to Redis

# even if no authentication is configured, nor a specific set of interfaces

# are explicitly listed using the "bind" directive.

protected-mode no

ok,到现在为止,我们的config就修改完毕了,其他端口的文件夹也可以依次配置之~

二:开启redis

到现在为止,各个端口文件夹都配置成功了,接下来准备开启了。

接下来我们可以看一下,在6379下面是不是有生成node-6379.conf文件,比如下面:

三:配置redis-trib.rb

因为redis-trib.rb是ruby写的,而我们的电脑肯定是没有ruby和一些配置依赖项,不过没关系,有强大的yum安装,一切都不是问题。

1. 执行replicas命令

[jack@localhost ~]$ cluster/redis-trib.rb create --replicas 1192.168.161.133:6379192.168.161.133:6380

192.168.161.133:6381192.168.161.133:6382192.168.161.133:6383192.168.161.133:6384

/usr/bin/env: ruby: No such file or directory

[jack@localhost ~]$

可以看到ruby是没有安装的,所以下一步我们要安装ruby了。。。

2. 安装ruby 【一定要是管理员权限哦】

相关文档
最新文档