1.在 /usr/local/创建 redis-cluter文件夹 , 在redis-cluster 下面创建 7001 , 7002 , 7003 , 7004 , 7005 , 7006这6个文件夹
2.命令 wget http://download.redis.io/releases/redis-2.8.19.tar.gz 下载 4.0.10 redis
3.编译安装redis 参考https://blog.csdn.net/qq_37497275/article/details/81051854
4.将redis.conf redis-cli redis-server 分别拷贝进入 7001-7006
5.将redis.conf 里面的内容改为
cluster-enabled yes (将注释放开) 启用集群
cluster-config-file nodes.conf(将注释放开,不修这个直接放开注释就好有的是 cluster-config-file nodes-6379.conf) 集群配置文件
cluster-node-timeout 5000(将注释放开并且修改) 集群节点超时时间
#开启AOF模式 Redis启动时将自动加载AOF,这个文件能够提供更好的持久性保障。
appendonly yes (修改no为yes)
# 默认情况下 redis 不是作为守护进程运行的,如果你想让它在后台运行,你就把它改成 yes。
# 当redis作为守护进程运行的时候,它会写一个 pid 到 /var/run/redis.pid 文件里面。
daemonize yes(修改no为yes)
6.分别在7001-7006里面启动redis (redis-server redis.conf)
输入ps -ef | grep redis查看
hemingz+ 9165 1 0 05:03 ? 00:00:00 redis-server 127.0.0.1:7001 [cluster]
hemingz+ 9171 1 0 05:03 ? 00:00:00 redis-server 127.0.0.1:7002 [cluster]
hemingz+ 9177 1 0 05:04 ? 00:00:00 redis-server 127.0.0.1:7003 [cluster]
hemingz+ 9182 1 0 05:04 ? 00:00:00 redis-server 127.0.0.1:7004 [cluster]
hemingz+ 9187 1 0 05:04 ? 00:00:00 redis-server 127.0.0.1:7005 [cluster]
hemingz+ 9192 1 0 05:04 ? 00:00:00 redis-server 127.0.0.1:7006 [cluster]
hemingz+ 9197 1490 0 05:04 pts/0 00:00:00 grep --color=auto redis
7.安装ruby
yum install ruby 如果不行运行 sudo apt-get install ruby
yum install rubygems (sudo apt-get rubygems)
sudo gem install redis
8.redis-trib.rb
#redis-trib.rb是redis官方推出的管理redis集群的工具,集成在redis的源码src目录下,是基于redis提供的集群命令封装成简单、便捷、实用的操作工具。
./redis-trib.rb create --replicas 1 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 127.0.0.1:7006
提示输入yes后出现
S: bd0b428df73aa13ad6f13fe3fd41d3ad004ec1d9 127.0.0.1:7005
slots: (0 slots) slave
replicates c5bc8a366503935f2ef44f51c280c26168902211
M: fda6ac47ee9cbdb21139db4f28a64b1112984e90 127.0.0.1:7002
slots:10923-16383 (5461 slots) master
1 additional replica(s)
S: b7a3796d01b822568aa8acfa191538c924a53bd5 127.0.0.1:7004
slots: (0 slots) slave
replicates 3f6db3b2f0fa87ff4d04a18fe115f8d2185cf5b8
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
表示完成了
9测试
./redis-cli -c -p 7001进入集群环境
10 看看对应的管理
./redis-cli -c -p 7001
info replication
看看是否与主从关系
hemingzhu@hemingzhu:/usr/local/redis/redis-4.0.10/src$ ./redis-cli -c -p 7001
127.0.0.1:7006> info replication
# Replication
role:master
connected_slaves:1
slave0:ip=127.0.0.1,port=7004,state=online,offset=4225,lag=0
master_replid:845c5376cc73b025d205a7bfcb9ed6e5967f3791
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:4225
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:4225
由主从管理,主是7001 从是 7004
11.客户端连接虚拟机的redids
把bind 127.0.0.1改为0.0.0.0