文档章节

ubuntu 安装 redis集群

foxeye
 foxeye
发布于 2015/11/24 21:42
字数 1109
阅读 565
收藏 8

计划部署三个虚拟机 三个master节点 三个slave节点:

IP:192.168.26.133   port:7133(master)   port:8133(slave)

IP:192.168.26.134   port:7134(master)   port:8134(slave)

IP:192.168.26.135   port:7135(master)   port:8135(slave)

统一安装目录: /home/develop/redis

安装需要的包 gcc tcl

sudo apt-get install gcc

sudo apt-get install tcl


创建目录 redis-master redis-slave

mkdir redis-master

mkdir redis-slave


下载redis-3.0.3

wget http://download.redis.io/releases/redis-3.0.3.tar.gz 

tar -zxvf redis-3.0.3.tar.gz


192.168.26.133:

mkdir -p /home/develop/redis/cluster/7133

mkdir -p /home/develop/redis/cluster/8133

192.168.26.134:

mkdir -p /home/develop/redis/cluster/7134

mkdir -p /home/develop/redis/cluster/8134

192.168.26.135:

mkdir -p /home/develop/redis/cluster/7135

mkdir -p /home/develop/redis/cluster/8135


cd redis-3.0.3/

三个虚拟机分别执行:
make PREFIX=/home/develop/redis/redis-master install

make PREFIX=/home/develop/redis/redis-slave install


192.168.26.133:

cp redis-3.0.3/redis.conf cluster/7133/redis-7133.conf
cp redis-3.0.3/redis.conf cluster/8133/redis-8133.conf

192.168.26.134:

cp redis-3.0.3/redis.conf cluster/7134/redis-7134.conf
cp redis-3.0.3/redis.conf cluster/8134/redis-8134.conf

192.168.26.135:

cp redis-3.0.3/redis.conf cluster/7135/redis-7135.conf
cp redis-3.0.3/redis.conf cluster/8135/redis-8135.conf


修改redis-xxxx.conf配置文件

demonize                        yes                                     是否作为守护进程运行 

pidfile                            /var/run/redis-7133.pid        其他相应修改为各自端口的

port                               7133                                    监听端口,默认为 6379。 其他节点相应修改为各自端口 8133 7134 8134 7135 8135

cluster-enabled               yes                                      打开集群

cluster-config-flie           /home/develop/redis/cluster/7133/nodes.conf  集群配置文件(启动自动生成),不用人为干涉 

cluster-node-timeout      15000                                   节点互连超时时间,毫秒

cluster-migration-bareier 1                                         数据迁移的副本临界数,这个参数表示的是,一个主节 点在拥有多少个好的从节点的时候就要割让一个从节 点出来给另一个没有任何从节点的主节点。 

cluster-require-full-coverage   yes  如果某一些 key space 没有被集群中任何节点覆盖,集 群将停止接受写入。 

appendonly                    yes                                        启用 aof 持久化方式,因为 redis 本身同步数据文件是按上面 save 条件来同 步的,所以有的数据会在一段时间内只存在于内存中。 默认值为 no 

dir                                 /home/develop/redis/cluster/7133   节点数据持久化存放目录,7133相应修改


192.168.26.133:

redis-master/bin/redis-server cluster/7133/redis-7133.conf

redis-slave/bin/redis-server cluster/8133/redis-8133.conf

192.168.26.134:

redis-master/bin/redis-server cluster/7134/redis-7134.conf

redis-slave/bin/redis-server cluster/8134/redis-8134.conf

192.168.26.135:

redis-master/bin/redis-server cluster/7135/redis-7135.conf

redis-slave/bin/redis-server cluster/8135/redis-8135.conf


ps -ef | grep redis


查看redis实例启动情况


安装ruby rubygems

sudo apt-get install ruby

cd ..

wget http://production.cf.rubygems.org/rubygems/rubygems-2.0.3.tgz
tar -zxvf rubygems-2.0.3.tgz
cd rubygems-2.0.3/
sudo ruby setup.rb
sudo gem install redis


执行 Redis 集群创建命令(只需要在其中一个节点上执行一次则可)

cd /home/develop/redis/redis-3.0.3/src/

cp redis-trib.rb /home/develop/redis/redis-master/bin/redis-trib

cd /home/develop/redis/redis-master/bin/

redis-trib create --replicas 1 192.168.26.133:7133 92.168.26.134:7134 192.168.26.135:7135 192.168.26.133:8133 192.168.26.134:8134 192.168.26.135:813

中间输入  yes

正常情况提示 All 16384 slots covered.说明集群中的 16384 个槽都有至少一个主节点在处理, 集群运作正常。

集群创建过程说明:
(1) 给定 redis-trib 程序的命令是 create , 这表示我们希望创建一个新的集群;
(2) 这里的 --replicas 1 表示每个主节点下有一个从节点;
(3) 之后跟着的其它参数则是实例的地址列表,程序使用这些地址所指示的实例来创建新集群; 总的来说,以上命令的意思就是让 redis-trib 程序创建一个包含三个主节点和三个从节点的集群。 接着,redis-trib 会打印出一份预想中的配置给你看,如果你觉得没问题的话(注意核对主从关系是否是 你想要的),就可以输入 yes , redis-trib 就会将这份配置应用到集群当中 

集群简单测试 

./redis-cli -h 192.168.26.133 -p 7133

127.0.0.1:7113>set name zhangsan

-> Redirected to slot [8559] located at 192.168.26.134:7134 OK 


./redis-cli -h 192.168.26.133 -p 8133

127.0.0.1:8113>get name

-> Redirected to slot [8559] located at 192.168.26.134:7134 "zhangsan" 


./redis-cli -h 192.168.26.133 -p 7133 cluster nodes

系统列出三个master 三个slave 节点。

OK,配置成功。


参考文档
Redis 官方集群指南:http://redis.io/topics/cluster-tutorial
Redis 官方集群规范:http://redis.io/topics/cluster-spec
Redis 集群指南(中文翻译,紧供参考):http://redisdoc.com/topic/cluster-tutorial.html 

Redis 集群规范(中文翻译,紧供参考): http://redisdoc.com/topic/cluster-spec.html 


其它供参考资料
Redis 3.0 集群搭建测试(一):http://blog.csdn.net/zhu_tianwei/article/details/44928779 

Redis 3.0 集群搭建测试(二):http://blog.csdn.net/zhu_tianwei/article/details/45009647 

Redis 集群要点:http://5i.io/redis-3-0-cluster-configuration/ 



© 著作权归作者所有

共有 人打赏支持
foxeye
粉丝 18
博文 81
码字总数 17049
作品 0
海淀
程序员
apache+jk+tomcat集群配置

1集群配置介绍 Apache Tomcat可以说是当下最受欢迎的开源Java Web服务器。Tomcat的单个实例恐怕无法满足访问量日增的需要。这种情况下,需要考虑在“集群”环境下运行Tomcat;在这种环境下,...

bill2candy
2016/10/28
14
0
ubuntu 17.04 安装 redis 集群

安装的步骤参考了 https://my.oschina.net/foxeye/blog/535052 谢谢 @foxeye 的文章 准备工作 在 ubuntu 17.04 上安装 redis, 使用 apt-get 或者源码都可以. 下载 rubygems 安装 ruby 步骤 ...

saintatgod
2017/10/26
0
0
Redis 3.0.0 + 集群安装(Cluster)

1 下载安装 wget http://download.redis.io/releases/redis-3.0.5.tar.gztar xzf redis-3.0.5.tar.gzcd redis-3.0.5make 2 集群配置 官方文档:http://redis.io/topics/cluster-tutorial 2.1......

yuzn
2015/12/03
443
0
Redis Ubuntu远程开启连接

Redis这个东西很方便,既可以当作缓存数据库,也可以使用它的实现队列等等功能,实在是很方便。 公司里面就是使用Redis Cluster实现集群缓存。不过小小怨念,他们不让我碰Redis,只好自己回来...

Robinson_lu
2016/12/07
52
0
用 Docker 构建分布式 Redis 集群

本文介绍了如何使用Docker搭建Redis集群,很多读者都在问Docker能带来哪些实质性的好处,我想本文就是一个很好的例子。不使用Docker你也可以搭建Redis集群,那使用Docker后会有怎么样的优势了...

sjzmlb
2015/10/18
5.1K
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

java并发备忘

不安全的“先检查后执行”,代码形式如下: if(条件满足){ //这里容易出现线程安全问题//doSomething}else{//doOther} 读取-修改-写入 原子操作:使用CAS技术,即首先从V中读取...

Funcy1122
今天
0
0
SpringBoot2.0 停机

最近新建了个SpringBoot2.0的项目,因为原来一直使用的是传统的Tomcat部署war包的形式,所以这次SpringBoot内置Tomcat部署jar包的时候遇到了很多问题。其中一个就是因为没有外置的Tomcat容器...

Canaan_
昨天
0
1
Confluence 6 外部参考

一个外部参考的意思是任何站点链接到你 Confluence 的实例。任何时候当 Confluence 的用户单击这个外部链接的时候,Confluence 可以记录这次单击为参考。 在默认的情况下,外部链接的参考链接...

honeymose
昨天
0
0
Android中的设计模式之抽象工厂模式

参考 《设计模式解析》 第十一章 Abstract Factory模式 《设计模式:可复用面向对象软件的基础 》3.1 Abstract Factory 抽象工厂 对象创建型模式 《Android源码设计模式解析与实战》第6章 创...

newtrek
昨天
0
0
Redis | 地理空间(GEO)的一个坑

Redis的地理空间(Geo)是个好东西,轻轻松松的就可以把地图描点的问题处理了, 最近却遇到一个坑...Redis采用的Msater-Slave模式, 运用GEORADIUS在salve读取对应的数据,新增了从节点但是从不返...

云迹
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部