How to deploy redis cluster


本文介绍如何通过源码部署redis cluster。

Redis Cluster的特点

搭建过程

安装 Redis

Redis Cluster 的搭建有多种方法,这里采用源代码的方式部署,因为 Redis 的源代码中提供了特定的工具来部署,用起来比较方便。

首先到官方网站下载源代码并进行编译。

$ wget http://download.redis.io/releases/redis-4.0.2.tar.gz
$ tar xvf redis-4.0.2.tar.gz
$ cd redis-4.0.2

# 先编译依赖库
$ cd deps
$ make hiredis lua jemalloc linenoise

# 再编译 redis
$ cd ../
$ make

编译完成后,输出部分会提示我们运行make test

Hint: It's a good idea to run 'make test' ;)

make[1]: Leaving directory '/root/download/redis-4.0.2/src'

$ make test

make test 可能会需要一些依赖,如tclrubyredis(ruby library)

$ yum install tcl

安装 ruby ,因为 redis 库要ruby 2.2.2版本之后才支持,而 Centos 的默认 ruby 版本是2.0.0所以我们可能需要通过其他方式安装 ruby 。

# 更新内容请到 rvm 官网查看
$ gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
$ \curl -sSL https://get.rvm.io | bash -s stable
$ rvm install 2.4.2

# 更新 gems 源
$ yum install rubygems
$ gem sources -r https://rubygems.org/
$ gem sources -a https://ruby.taobao.org

通过 ruby 安装 redis 库

$ gem install redis

然后运行make test看有无错误,并进行安装

$ make test
$ make install

部署 Redis Cluster

首先部署 Redis

$ cd utils
$ ./install_server.sh 
Welcome to the redis service installer
This script will help you easily set up a running redis server

Please select the redis port for this instance: [6379] 7788
Please select the redis config file name [/etc/redis/7788.conf] 
Selected default - /etc/redis/7788.conf
Please select the redis log file name [/var/log/redis_7788.log] 
Selected default - /var/log/redis_7788.log
Please select the data directory for this instance [/var/lib/redis/7788] 
Selected default - /var/lib/redis/7788
Please select the redis executable path [/usr/local/bin/redis-server] 
Selected config:
Port           : 7788
Config file    : /etc/redis/7788.conf
Log file       : /var/log/redis_7788.log
Data dir       : /var/lib/redis/7788
Executable     : /usr/local/bin/redis-server
Cli Executable : /usr/local/bin/redis-cli
Is this ok? Then press ENTER to go on or Ctrl-C to abort.

在部署了多个 Redis Server 之后我们需要依次修改/etc/redis/7788.conf使其开启cluster功能。

# 打开 /etc/redis/7788.conf ,去掉 cluster-enabled yes 之前的注释符
cluster-enabled yes

修改完毕后依次通过/etc/init.d/redis_7788等命令启动Redis Server

for i in 88 99 00 ; do /etc/init.d/redis_77${i} start; done

完成之后可以通过redis-cli稍作测试,确定没有问题之后部署Redis Cluster集群

$ yum install redis-trib
$ redis-trib create 127.0.0.1:7788 127.0.0.1:7799 127.0.0.1:7700

搭建完毕

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
comments powered by Disqus