Redis Cluster集群配置简述

3台虚拟机,IP分别是server1:192.168.1.1    server2:192.168.1.2     server3:   192.168.1.3

(因redis机器最少要有3主3从,这里就用3台虚拟机来方便区分,实在没机器的可以在1台机上开6个节点)

拿到机器后,首先把环境弄好

yum groupinstall "Development tools" -y yum install wget -y

首先安装redis

cd /usr/local/src/ wget http://download.redis.io/releases/redis-3.0.3.tar.gz tar -zxvf redis-3.0.3.tar.gz

解压出来后要到目录里面编译安装

cd redis-3.0.3 make && make install

在这里,可能会出现如下错误:(如没有,请略过)

make[1]: Entering directory `/redis/src'
CC adlist.o
In file included from adlist.c:34:
zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory
zmalloc.h:55:2: error: #error "Newer version of jemalloc required"
make[1]: *** [adlist.o] Error 1
make[1]: Leaving directory `/redis/src'
make: *** [all] Error 2

原因是没有安装jemalloc内存分配器,可以安装jemalloc 或 直接 输入make MALLOC=libc  && make install

安装好redis后就是要创建节点了,3主3从总共6个

以server1为例

首先创建redis集群的目录

cd /usr/local mkdir redis cd ./redis

然后把刚才已经编译好的redis包复制过来

cp -r /usr/local/src/redis-3.0.3 /usr/local/redis/ && mv /usr/local/redis/redis-3.0.3 7000 #这里以7000 7001 端口为例,为方便管理把文件夹以端口号命名 cp -r /usr/local/src/redis-3.0.3 /usr/local/redis/ && mv /usr/local/redis/redis-3.0.3 7001

此步骤分别在其余的2台机子上重复一遍,那么redis6个节点就算简历完毕。

接下来要做的就是修改各个节点的配置文件

以7000节点为例:

cd /usr/local/redis/7000 vi redis.conf #主要修改一下这几个参数 daemonize    yes                      #后台运行redis pidfile  /var/run/redis_7000.pid    #pidfile文件对应7000 port  7000                            #监听的端口号 cluster-enabled  yes         #开启集群,这个原本有的把注释#去掉就好了 cluster-config-file  nodes.conf  #集群的配置  配置文件首次启动自动生成 cluster-node-timeout  5000      #请求超时的时间 appendonly  yes       #aof日志开启,按需开启,每次写操作都会记录成1条日志 bind 192.168.1.1 #这里要改成server的IP,不改的话后续会报错

其他节点的配置只需把pidfile对应的文件和端口号改下就好了,一般建议7000 7001 7002 这样一直写上去

当所有的节点都配置好后,就启动redis了

cd /usr/local/redis/7000 redis-server ./redis.conf
#这里是先进到7000节点的目录再开启,因为我发现如果直接输入 redis-server /usr/local/redis/7000/redis.conf的话,自动生成的appendonly.aof  nodes.conf文件会在当前目录下,而不是在对应节点的目录下。大家可以试验一下。
启动完成后,循例检查下。
ps aux |grep redis              netstat -an |grep 7000/7001

正常情况下是可以看到7000  7001  17000 17001端口的

7000,7001是用于客户端访问,17000,17001是用于集群内部节点之间的访问的

当所有的节点都配置并启动完之后,我们要做的就是利用这些节点来创建集群

官方提供了一个专门的工具   redis-trib.rb  

配合使用redis-trib.rb还要安装ruby

yum -y install ruby ruby-devel rubygems rpm-build

装好后再用gem命令来安装redis接口,至于这个gem的话我也不大了解,

gem install redis

在3台server上都安装好后,就可以开始创建集群了

/usr/local/redis/7000/src/redis-trib.rb

运行redis-trib.rb后就可以看到redis-trib.rb的具体用法,如下:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/133497dee3d6bba28a40b88bc029b7c6.html