1、redis的安装
可以参阅本人的另外一篇博文redis的安装,此处不再赘述其安装过程。
2、创建redis节点
用一台虚拟机模拟6个节点,一台机器3个节点,创建出3 master、3 salve 环境。
当前采用redis版本为redis-5.0.3,在安装redis后,进入redis-5.0.3的目录下创建一个redis_cluster的目录,并在其目录下创建7000、7001、7002、7003、7004、7005等6个文件夹:
cd redis-5.0.3
mkdir 7000 7001 7002 7003 7004 7005
然后将redis.conf的文件各拷贝一份到创建好的六个文件夹,并将其重命名为redis_cluster_7000.conf、redis_cluster_7001.conf、redis_cluster_7002.conf、redis_cluster_7003.conf、redis_cluster_7004.conf、redis_cluster_7005.conf,修改配置如下:
# 端口7000、7001、7002、7003、7004、7005
port 7000
# 默认ip为127.0.0.1 需要时,可以改为其他节点机器可访问的ip,否则创建集群时无法访问对应的端口,无法创建集群 。本文中则不需要。
bind 本机ip
# redis后台运行
daemonize yes
# pidfile文件对应7000、7001、7002、7003、7004、7005
pidfile /usr/local/redis-5.0.3/redis_7000.pid
# 开启集群 把注释#去掉
cluster-enabled yes
# 集群的配置 配置文件首次启动自动生成 7000、7001、7002、7003、7004、7005
cluster-config-file nodes_7000.conf
# 请求超时 默认15秒,可自行设置
cluster-node-timeout 15000
# aof日志开启 有需要就开启,它会每次写操作都记录一条日志
appendonly yes
# aof文件名分别对应7000、7001、7002、7003、7004、7005
appendfilename appendonly_7000.aof
#指定存储至本地数据库时是否压缩数据,默认为yes,Redis采用LZF压缩,如果为了节省CPU时间, #可以关闭该#选项,但会导致数据库文件变的巨大
rdbcompression yes
#指定本地数据库文件名分别对应7000、7001、7002、7003、7004、7005
dbfilename dump_7000.rdb
#指定本地数据库路径,分别对应7000、7001、7002、7003、7004、7005
dir /usr/local/redis-5.0.3/redis_cluster/7000/db/
# 控制占用的内存空间
maxmemory 500M
3、启动redis节点
redis-server redis_cluster/7000/redis_cluster_7000.conf
redis-server redis_cluster/7001/redis_cluster_7001.conf
redis-server redis_cluster/7002/redis_cluster_7002.conf
redis-server redis_cluster/7000/redis_cluster_7003.conf
redis-server redis_cluster/7001/redis_cluster_7004.conf
redis-server redis_cluster/7002/redis_cluster_7005.conf
4、查看是否启动成功
ps -ef | grep redis
出现如下信息,则说明启动完成:
root 56020 1 0 02:14 ? 00:00:01 redis-server 127.0.0.1:7000 [cluster]
root 56024 1 0 02:14 ? 00:00:01 redis-server 127.0.0.1:7001 [cluster]
root 56029 1 0 02:14 ? 00:00:01 redis-server 127.0.0.1:7002 [cluster]
root 56027 1 0 02:14 ? 00:00:01 redis-server 127.0.0.1:7003 [cluster]
root 56023 1 0 02:14 ? 00:00:01 redis-server 127.0.0.1:7004 [cluster]
root 56100 1 0 02:14 ? 00:00:01 redis-server 127.0.0.1:7005 [cluster]
5、创建集群
redis-cli --cluster create 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 \
--cluster-replicas 1
这里使用的命令是create,因为我们想创建一个新的集群。选项cluster-replicas 1意味着我们希望为每个创建的主机创建一个奴隶。其他参数是我要用于创建新集群的实例的地址列表。
显然,我们的需求的惟一设置是创建一个包含3个主服务器和3个从服务器的集群。
Redis-cli将为您提供一个配置。输入yes接受建议的配置。集群将被配置和连接,这意味着实例将被引导到彼此之间进行通信。最后,如果一切顺利,您将看到这样一条消息:
[OK] All 16384 slots covered
至此,redis集群就创建完毕了。
本文参考自redis官方文档,笔者觉得,官网的说明已经非常详细了,有兴趣了解redis集群原理以及更为详细的说明的同学可以前往阅读: