redis至少须要6个节点才能工做,节点以下:node
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:7005redis
2-1 下载redis,版本3.0以上才支持集群ruby
2-2 编译安装redisapp
解压 tar -zxf redis3.x.x.tar.gz
cd ./redis3.x.x make make install
说明:安装后在./redis3.x.x/bin目录下多了下面几个文件:工具
2-3 建立集群文件结构性能
mkdir cluster cd cluster mkdir 7000 mkdir 7001 mkdir 7002 mkdir 7003 mkdir 7004 mkdir 7005
2-4 拷贝并修改配置文件redis.conf测试
cp ./redis3.x.x/redis.conf ./cluster vi redis.conf
查找并修改配置文件中的下列信息ui
port 7000 //端口7000 bind 127.0.0.1 //默认ip为127.0.0.1 daemonize yes //redis后台运行 cluster-enabled yes //开启集群 把注释#去掉 cluster-config-file nodes.conf //集群的配置 cluster-node-timeout 15000 //请求超时 默认15秒,可自行设置 appendonly yes //aof日志开启 有须要就开启,它会每次写操做都记录一条日志
2-5 将redis.conf复制到7000-7005文件夹中,并将redis.conf中的port分别改为相应的7000-7005spa
注意:拷贝完成以后要修改7001/7002/7003/7004/7005目录下面redis.conf文件中的port参数,分别改成对应的文件夹的名称日志
2-6 分别启动这6个redis实例,如
cd /usr/local/cluster/7000 redis-server redis.conf
2-7 检查启动状况
ps -ef | grep redis
若是显示7000-7005说明所有启动,若是没有启动:
缘由1:非root用户操做
缘由2:端口被占用
netstat -anp|grep 7001 或者 lsof -i:7001
2-8 建立redis集群
cd /usr/local/redis3.0/src ./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
2-9 如执行上面的命令报错,由于执行的是ruby脚本,须要ruby的环境
错误:
/usr/bin/env: ruby: No such file or directory
解决: 安装ruby的环境
apt-get install ruby
2-10 执行2-8命令,如报错提示缺乏rubygems组件
错误:
./redis-trib.rb:24:in `require': no such file to load -- rubygems (LoadError) from ./redis-trib.rb:24
解决:
apt-get install rubygems
2-10 执行2-8命令,如报错提示不能加载redis,是由于缺乏redis和ruby的接口,
错误内容:
/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- redis (LoadError) from /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require' from ./redis-trib.rb:25
解决:
gem install redis
2-11 再次执行2-8命令,正常执行,中间需输入yes,而后配置完成
2-12 使用redis-cli命令进入集群环境
redis-cli -c -p 7000