在Centos中部署Redis Cluster

一、环境信息

操作系统:Centos

redis:redis 3.2.11

二、redis安装

2.1 redis下载

在redis官网下载安装包,http://download.redis.io/releases/redis-3.2.11.tar.gz

2.2 编译安装redis

cp redis-3.2.11.tar.gz /usr/local

cd /usr/local

tar -zxvf redis-3.2.11.tar.gz

cd redis-3.2.11

make && make install

安装完成后,使用“redis-server --version”检测安装是否正常。

2.3 编译安装ruby及rubygems

为方便使用redis-trib.rb配置redis集群,这里介绍如何编辑安装ruby和rubygems。

在官网下载ruby安装包,https://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.6.tar.gz

下载rubygems安装包,https://rubygems.org/rubygems/rubygems-2.6.8.zip

cp ruby-2.2.6.tar.gz /usr/local

cd /usr/local

tar -zxvf ruby-2.2.6.tar.gz

cd ruby-2.2.6

./configure

make && make install

安装完成后,使用“ruby --version”检查安装是否成功。

cp rubygems-2.6.8.tgz /usr/lcoal

cd /usr/local

tar -zxvf rubygems-2.6.8.tgz

cd rubygems-2.6.8

ruby setup.rb

使用gem安装redis客户端:

gem install redis

为方便使用,将redis工具复制到

cp /usr/local/redis-3.2.1/src/redis-trib.rb /usr/local/bin/

三、redis集群配置

3.1 对节点进行配置,并启动

对每个节点进行配置,主要的配置内容如下:(不同的节点需要更改相应的配置)

port 7000             #端口
bind 192.168.160.8      
pidfile "/var/run/redis_7000.pid"
logfile "/var/log/redis_7000.log"    #日志路径
dir "/data/redis/7000"        #数据存放路径
masterauth "test"           #为了安全,设置了访问密码
requirepass "test"

使用命令,启动所有节点

/usr/bin/redis-server /etc/redis/7000.conf
/usr/bin/redis-server /etc/redis/7001.conf
/usr/bin/redis-server /etc/redis/7002.conf

为了安全,上面的节点中设置了密码访问,故在客户端连接时,需要添加-a参数设置密码:

redis-cli -c -p 7000 -a test -h 192.168.160.8

客户端连接7000节点,使用cluster nodes查看集群中节点情况:

此时,只有自身节点可见。

3.2 节点握手

客户端连接7000节点,使用以下命令与其他两个节点握手:

cluster meet 192.168.160.8 7001
cluster meet 192.168.160.8 7002

之后查看集群节点情况:

这时,查看集群状态,发现集群是不可用的,因为还没进行slot分配。

3.3 为节点分配slot

使用以下命令为各个节点分配slot,将16383个slot平均地分配给三个节点:

redis-cli -h 192.168.160.8 -a test -p 7000 cluster addslots {0..5461}
redis-cli -h 192.168.160.8 -a test -p 7001 cluster addslots {5462..10922}
redis-cli -h 192.168.160.8 -a test -p 7002 cluster addslots {10923..16383}

此时,查看集群状态,集群已可用:

集群状态OK。可正常使用。

另外,如果上面安装了redis-trib.rb工具,可以使用以下命令创建集群,期间会自动进行slot分配,只需确认一下即可。无需再手工分配:

redis-trib.rb create --replicas 0 192.168.160.8:7000 192.168.160.8:7001 192.168.160.8:7002

注:未测试redis-trib.rb工具在密码开启时的可用性,如需要,可自行验证。

猜你喜欢

转载自blog.csdn.net/LiuQQu/article/details/84135482