Linux Centos7.2 搭建 redis 集群及常见问题(阿里云主机)

一、环境

1.Centos7.2 x3

2.Redis集群要求至少要有三个节点,我这里配置3台,每台一主一备。

3.端口号 6379-6384  需要在阿里云 安全策略中开通端口,同时要开通16379-16384(集群总线端口为redis客户端连接的端口 + 10000)

二、安装过程

1.安装路径 

mkdir /opt/redis

2.进入安装路径,执行下载安装编译

yum -y install gcc 
wget http://download.redis.io/releases/redis-3.2.8.tar.gz 
tar zxf redis-3.2.8.tar.gz 
cd redis-3.2.8 
make &;&; make install 

3.配置节点

mkdir /etc/redis
cp redis.conf /etc/redis/6379.conf 
vi /etc/redis/6379.conf 
修改配置文件以下几项:
bind 0.0.0.0 #
daemonize yes # 后台运行
cluster-enabled yes # 启用集群

其他的节点的配置文件可以复制,但是需要更改以下几个配置 (根据实际端口号进行修改)

port 6379                              #更改端口号6379
pidfile /var/run/redis_6379.pid        #更改端口号6379
appendonly no                          #改为yes
cluster-config-file nodes-6379.conf    #更改端口号6379

4.创建集群

启动redis,以一个节点为例

redis-server /etc/redis/6379.conf 

创建集群需要Ruby脚本支持,安装ruby

yum -y install ruby rubygems 

创建节点,ip分别为三台主机的ip ,每台有两个节点

src/redis-trib.rb create IP:6379 IP 6380 IP:6381 IP:6382 IP:6383 IP:6384

5.测试

redis-cli -h IP -c 

三、问题总结

1.卡在Waiting for the cluster to join 

解决:

集群总线端口未开通,集群总线端口为redis客户端连接的端口 + 10000

2.redis 集群创建失败后,无法重新创建

/usr/local/rvm/gems/ruby-2.3.3/gems/redis-4.0.2/lib/redis/client.rb:119:in `call': ERR Slot 0 is already busy (Redis::CommandError)

解决:

连接节点操作

 redis-cli -c -p 6379

flushdb

cluster reset

然后清除 /etc/redis 下的nodes开头的文件和 dump.rdb,然后重启redis即可

你可能感兴趣的:(Linux,Redis)