Redis Cluster搭建
需求:创建6个节点,3主3从
127.0.0.1:6379
127.0.0.1:6380
127.0.0.1:6381
127.0.0.1:6382
127.0.0.1:6383
127.0.0.1:6384
1 .下载redis安装包
[[email protected] ~]# wget http://download.redis.io/releases/redis-3.0.0.tar.gz
2 .解压,安装
[[email protected] ~]# tar xf redis-3.0.0.tar.gz
[[email protected] ~]# cd redis-3.0.0
[[email protected] redis-3.0.0]# make && make install
[[email protected] ~]# mv redis-3.0.0 redis
[[email protected] ~]# cd redis
[[email protected] redis]# mkdir conf logs data
3 .创建redis conf文件
#####################################################
[[email protected] redis]# cd conf
[[email protected] conf]# vim redis_6379.conf
#包含通用配置
include /usr/local/yunji/redis/redis_global.conf
#监听tcp端口
port 6379
#aof存储文件
appendfilename "appendonly-6379.aof"
#rdb文件,只用于动态添加slave过程
dbfilename dump-6379.rdb
#log文件
logfile "/usr/local/yunji/redis/logs/redis-6379.log"
#cluster配置文件(启动自动生成)
cluster-config-file nodes-6379.conf
#当前写入日志文件的大小占到初始日志文件大小的某个百分比时触发Rewrite
#部署在同一机器的redis实例,把auto-aof-rewrite搓开,防止瞬间fork所有redis进程做rewrite,占用大量内存
auto-aof-rewrite-percentage 40
#####################################################
ps:创建多节点:cp redis_6379.conf redis_****.conf,修改对应端口内容
4 .启动
[[email protected] redis]# redis-server redis_6379.conf
[[email protected] redis]# redis-server redis_6380.conf
[[email protected] redis]# redis-server redis_6381.conf
[[email protected] redis]# redis-server redis_6382.conf
[[email protected] redis]# redis-server redis_6383.conf
[[email protected] redis]# redis-server redis_6384.conf
5 .查看进程否存在
[[email protected] redis]# ps -ef | grep redis
root 14253 1 0 Sep24 ? 00:00:06 redis-server *:6380 [cluster]
root 14257 1 0 Sep24 ? 00:00:06 redis-server *:6381 [cluster]
root 14265 1 0 Sep24 ? 00:00:06 redis-server *:6383 [cluster]
root 14269 1 0 Sep24 ? 00:00:06 redis-server *:6384 [cluster]
root 15067 1 0 00:29 ? 00:00:04 redis-server *:6379 [cluster]
root 48175 1 0 00:56 ? 00:00:03 redis-server *:6382 [cluster]
root 48405 1 0 01:10 ? 00:00:03 redis-server *:6385 [cluster]
root 48497 1 0 01:13 ? 00:00:03 redis-server *:6386 [cluster]
root 49408 49329 0 02:24 pts/1 00:00:00 grep --color=auto redis
ps:正常应该是有6个节点的进程
6 .执行命令创建集群,首先安装依赖,否则创建集群失败
[[email protected] redis]# yum install ruby rubygems -y
# 安装gem-redis,上传至linux
下载地址:https://rubygems.org/gems/redis/versions/3.0.0
[[email protected] redis]# gem install -l redis-3.0.0.gem
# 复制集群管理程序到/usr/local/bin
[[email protected] redis]# cp redis/src/redis-trib.rb /usr/local/bin/redis-trib
7 .创建集群
redis-trib create --replicas 1 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6382 127.0.0.1:6383 127.0.0.1:6384
命令的意义如下:
# 给定 redis-trib.rb 程序的命令是 create , 这表示我们希望创建一个新的集群。
# 选项 --replicas 1 表示我们希望为集群中的每个主节点创建一个从节点。
# 之后跟着的其他参数则是实例的地址列表, 我们希望程序使用这些地址所指示的实例来创建新集群。
# 简单来说, 以上命令的意思就是让 redis-trib 程序创建一个包含三个主节点和三个从节点的集群。
# 接着, redis-trib 会打印出一份预想中的配置给你看, 如果你觉得没问题的话, 就可以输入 yes , redis-trib 就会将这份配置应用到集群当中
一切正常输入以下信息:
…………
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
到这一步就安装完成了···!