ubuntu 安装 redis集群

一曲冷凌霜 提交于 2020-04-06 20:47:03

计划部署三个虚拟机 三个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/ 



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!