一、目的
本文章为redis-cluster搭建过程整理
二、环境配置
在一台win7系统上安装虚拟机,centos7.0
三、目标
在centos7上搭建一个有6个节点的redis-cluster,端口为7000-7005
四、搭建步骤
1.新建文件夹
$ mkdir -p /opt/app/redis_cluster
$ cd /opt/app/redis_cluster
2.下载、解压、编译
$ wget http://download.redis.io/releases/redis-3.0.7.tar.gz
$ tar xzf redis-3.0.7.tar.gz
$ cd redis-3.0.7
$ make
注:由于我的centos系统是最小安装,make是编译不成功,如图所示
原因是虚拟机系统中缺少gcc,安装一下gcc即可解决问题。
yum -y install gcc
安装完毕后 删除redis-3.0.7文件夹及其所有文件,重新解压、编译,成功。
3.创建六个文件夹
mkdir 7000 7001 7002 7003 7004 7005
4.创建并配置redis.conf
分别在
7000-7005六个文件夹中创建redis.conf文件,并添加配置,配置内容如下
注意:端口号 port 与所在文件夹名相同;cluster-config-file 地址中的 7000 也必须文件夹名相同。
红色部分需要改变
vim
7000/redis.conf
port 7000cluster-enabled yescluster-config-file /opt/app/redis_cluster/ 7000/nodes.confcluster-node-timeout 5000appendonly yes
5.依次启动6个实例
启动7000实例
启动7001实例
依次类推,启动7002-7005实例。
启动完成后如图
6.
使用redis-trib.rb创建集群
[root@localhost redis_cluster]# ./redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
--------------------------------------------------
/usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- redis (LoadError)
from /usr/share/rubygems/rubygems/core_ext/kernel_require.rb:55:in `require'
from ./redis-trib.rb:25:in `<main>'
--------------------------------------------------
报错,经查是因为没装redis的第三方接口!
gem install redis
再次执行创建集群命令,又失败
继续查原因
需将Node的集群配置文件删除,即删除你redis.conf里面cluster-config-file所在的文件
删除各节点下的nodes.conf文件
杀掉所有进程
pkill -9 redis
再全部启动,见第5步
redis-3.0.7/src/redis-server 7000/redis.conf &
再依次启动7001-7005
./redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005
如果使用127.0.0.1 在java使用集群时会出现找不到服务器的情况,建议直接使用本机的网络中的IP
./redis-trib.rb create --replicas 1 192.168.222.134:7000 192.168.222.134:7001 192.168.222.134:7002 192.168.222.134:7003 192.168.222.134:7004 192.168.222.134:7005
使用
redis-cli
命令进入集群环境
redis-cli -c -p 7000
测试集群
完成
在搭建过程中参考的相关信息
解决
eclipse上集成了springmvc和redisc cluster,配置文件中配置的ip为虚拟机实际IP:192.168.222.134,结果启动时总是报:Too many cluster redirections?错误的问题