(要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如下)

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

安装Redis

wget http://download.redis.io/releases/redis-3.0.0.tar.gz
tar zxvf redis-3.0.0.tar.gz
cd redis-3.0.0
#移动目录
mv redis-3.0.0 /usr/local/redis3.0
cd /usr/local/redis3.0
#编译
make
#检查(redis3要求先运行检查才能安装)
make test
#安装
make install

#创建集群目录
mkdir -p /usr/local/cluster
cd /usr/local/cluster
mkdir 7000
mkdir 7001
mkdir 7002
mkdir 7003
mkdir 7004
mkdir 7005

将redis.conf模板分别copy到上面6子目录中,并做如下修改,以7000为例:
修改如下信息
daemonize yes
pidfile /var/run/redis-7000.pid
port 7000
logfile "/var/log/redis-7000.log"

注释掉如下信息, 不需要RDB持久化
#save 900 1
#save 300 10
#save 60 10000

修改如下信息
appendonly yes
appendfilename "appendonly-7000.aof"

取消如下注释,让Redis在集群模式下运行
cluster-enabled yes   启动cluster模式
cluster-config-file nodes-7000.conf  集群信息文件名,由redis自己维护
cluster-node-timeout 15000 15秒中联系不到对方node,即认为对方有故障可能

#修改完redis.conf配置文件中的这些配置项之后把这个配置文件分别拷贝到7000/7001/7002/7003/7004/7005目录下面

#注意:拷贝完成之后要修改7001/7002/7003/7004/7005目录下面redis.conf文件中的port参数,分别改为对应的文件夹的名称

#启动实例
redis3.0/src/redis-server cluster/7000/redis.conf
redis3.0/src/redis-server cluster/7001/redis.conf
redis3.0/src/redis-server cluster/7002/redis.conf
redis3.0/src/redis-server cluster/7003/redis.conf
redis3.0/src/redis-server cluster/7004/redis.conf
redis3.0/src/redis-server cluster/7005/redis.conf

#启动之后使用命令查看redis的启动情况
ps -ef|grep redis

#安装ruby
yum install ruby
#安装redis gem
gem install redis

#进入redis src目录
cd 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

#执行
redis-cli -p 7000 info Replication
#命令,观察7000这个节点,发现其复制配置信息已配置成主节点,并有一个从节点7003

#连接集群
redis-cli -c -p 7000

杀redis进程
killall -9 redis-server

参考慕课网教程地址:http://www.imooc.com/article/4260

最新文章

  1. 深入理解css3中nth-child和 nth-of-type的区别
  2. Doc
  3. 22章、Java集合框架习题
  4. ASIHttpRequest 使用理解
  5. Discovering-论文
  6. IDEA之google style配置(IDEA)
  7. hdu4185解题报告
  8. 【Markdown】Writing on Github - 在GitHub上写作
  9. php计算最后一次,第一次字符串出现位置
  10. java中使用URLClassLoader访问外部jar包的java类
  11. 惠普4431s 笔记本配置
  12. ubuntu文件目录详细介绍
  13. 搞不懂SSH与JAVA+Servlet+javabean有什么关系
  14. 关于MySQL latch争用深入分析与判断
  15. sql sever模糊查询和聚合函数
  16. BZOJ 3622
  17. 对屏幕的理解---分辨率,dpi,ppi,屏幕尺寸,像素 等
  18. 小程序开发:canvas在画布上滑动,页面跟着滑动问题
  19. BZOJ3510 首都(LCT)
  20. Rarfile解压不了的问题

热门文章

  1. shiro(java安全框架)
  2. Ten C++11 Features Every C++ Developer Should Use
  3. pt-mysql-summary
  4. SharpZipLib压缩解压
  5. codechef Transform the Expression 转换成逆波兰式
  6. VB.NET & DataGridView与数据库的连接
  7. 【我所认知的BIOS】—> uEFI AHCI Driver(8) — Pci.Read()
  8. UVa 580 - Critical Mass(递推)
  9. 「SLYZ Online Judge#74 Be」
  10. ASP.NET Web API编程——使用自签名SSL证书