redis集群部署分为以下几步:



1、安装ruby


可以使用rvm安装ruby,执行以下命令进行rvm的安装


\curl -sSL https://get.rvm.io | bash -s stable


成功安装后,显示如下图

redis linux 集群部署 redis集群部署_redis



接下来,使用rvm安装ruby


rvm install ruby



redis linux 集群部署 redis集群部署_redis linux 集群部署_02


显示如上图,则安装成功。

这个时候执行


redis-trib.rb


会报如下错误:


redis linux 集群部署 redis集群部署_redis linux 集群部署_03


须使用gem命令install redis和java,才能使用redis-trib.rb


gem install redis
gem install java


再执行


redis-trib.rb


显示如下图,则安装ruby成功,redis-trib.rb命令可以使用

redis linux 集群部署 redis集群部署_redis linux 集群部署_04




2、接下来修改redis的配置文件,使之为集群模式:


需要修改如下几个配置:


port 6379
cluster-enabled yes
cluster-config-file "nodes-6379.conf"
cluster-node-timeout 15000


这里的端口号6379跟cluster-config-file名字最好对应。接下来须要有3+3份这样的配置文件。每份的端口号不一样。须要注意,配置文件里面的"bind"这个参数最好不要配置,注释掉。


分别执行如下命令,启动redis


redis-server  redis-6379.conf &

命令后半部分"redis-6379.conf"是配置文件所在路径。意思就是用

"redis-6379.conf"这个配置文件里面的参数去启动redis。接下来把其他的每个配置文件就按这样的方式启动redis。

启动后执行命令查看是否启动成功


ps -ef | grep redis


redis linux 集群部署 redis集群部署_部署_05


这样表示成功。启动后会在当前目录创建cluster-config-file配置的node-XXX.conf的文件,还有会/tmp目录下也创建,这些nodes会记录下集群的信息。


当前目录下创建的nodes文件


redis linux 集群部署 redis集群部署_配置文件_06


/tmp目录下创建的nodes


redis linux 集群部署 redis集群部署_集群_07


3、开放端口


这一步主要是针对阿里云,需要在安全组里面添加开放6379和16379的端口号,相应的如redis端口号为6380,则需要也开放16380端口。避免后面使用命令


redis-trib.rb create --replicas


时一直出现“Waiting for the cluster to join”这样的错误。




4、使用命令创建节点:


redis-trib.rb create --replicas 1 47.104.23.44:6379 47.104.23.44:6380 47.104.23.44:6381
47.104.23.44:6382 47.104.23.44:6383 47.104.23.44:6384 47.104.23.44:6385 47.104.23.44:6386



这里需要注意,一定要有 --replicas 1这个参数,否则java用jediscluster连接时,会报超时错误



47.104.23.44:6379这里的ip要用外网的ip,不要用127.0.0.1,否则外网会连接不上。


创建成功后用

redis-cli cluster nodes


可以查看当前集群的状态


redis linux 集群部署 redis集群部署_部署_08


则redis集群创建成功。

之后可以使用

redis-trib.rb reshard 47.104.23.44:6379


进行集群槽位重新分配


redis linux 集群部署 redis集群部署_部署_09


至此,redis 集群部署就完成了。