- 搭建多台哨兵
- 完成spring管理多台哨兵
- 学习redis如何数据持久化如何管理内存
- Redis集群搭建
- 集群测试
- Spring管理集群
2 搭建多台哨兵
2.1 搭建步骤
2.1.1 修改6379哨兵配置
说明:该信息唯一标识哨兵,这个信息是哨兵启动后,由哨兵自动写入的
2.配置哨兵数
说明:如果由哨兵自动的选择主从结构,则下边的master会根据哨兵的选举自动的变化. 2表示由多个哨兵 最终有2台决定推选结果. 一般的哨兵为奇数个.
2.1.2 构建6380哨兵
说明:配置多台哨兵时有2种方式.
- 直接复制已经配置好的哨兵配置文件,进行修改
a) 必须修改myid否则哨兵不起作用
b) 修改哨兵端口 26380
2.1.3 修改6381哨兵
说明:采用全新的配置文件进行哨兵的配置
- 关闭保护模式
说明:只有关闭保护模式,哨兵与哨兵之间才能相互通信
- 修改端口
- 配置主机 端口 推选数
- 修改推选时间
说明:修改推选时间为了测试方便.否则等待时间较长.一般采用默认的时间,无需修改.
说明:10秒没有检测到主机,则进行推选.
2.2 哨兵测试
2.2.1 多个哨兵启动
说明:
当多个哨兵启动后,哨兵与哨兵之间能够形成通信.并且相互通知.
当主机宕机后,哨兵进入推选状态.图中表述推选的结果.
2.2.2 哨兵搭建注意事项
- 测试单台哨兵是否有效.
a) 检测防火墙是否关闭
b) 远程保护是否关闭
- 修改端口
- 修改Myid
- 在配置之前 首先将全部哨兵关闭.如果配置完成之后重启
- 采用复制全新的哨兵文件单独配(注意主机是谁)
2.3 哨兵Jedis入门案例
2.3.1 通过哨兵如何操作redis
知识回顾:
- 采用redis分片技术时,每个分片其实就是真实的redis节点.操作分片其实能直接进行redis的set和get操作
- 分片的缺点:不能实现高可用
哨兵技术:
- 可以动态的实现主机的自动切换.
- 哨兵只负责主节点的检测工作.不能写哨兵和读哨兵.响应的操作都应该在redis节点中进行.
- 当采用哨兵机制时,可以通过哨兵自动发现谁是master主机.当用户通过哨兵进行set操作时,内部哨兵将set操作交给redis节点中的master进行执行.哨兵起到一个中转作用.
2.3.2 哨兵jedis测试
@Test
public void test03(){
//2.定义哨兵set集合
Set<String> sets = new HashSet<String>();
//3.向集合中加入哨兵节点
sets.add(new HostAndPort("192.168.126.142",26379).toString());
sets.add(new HostAndPort("192.168.126.142",26380).toString());
sets.add(new HostAndPort("192.168.126.142",26381).toString());
//1.定义哨兵连接池 参数编辑哨兵名称
JedisSentinelPool sentinelPool =
new JedisSentinelPool("mymaster", sets);
//4.插入数据
Jedis jedis = sentinelPool.getResource();
jedis.set("1709", "哨兵测试");
//5输出结果
System.out.println(jedis.get("1709"));
}
2.4 Sping整合哨兵
2.4.1 编辑哨兵配置文件
说明:将哨兵的配置文件放入项目中spring文件夹下.
注意将由于分片的配置文件删除或者修改名称.
<!--定义连接池 -->
<bean id="jedisSentinelPool" class="redis.clients.jedis.JedisSentinelPool">
<constructor-arg index="0" value="${redis.sentinel.masterName}"/>
<constructor-arg index="1">
<set>
<value>${redis.sentinel.host1}</value>
<value>${redis.sentinel.host2}</value>
<value>${redis.sentinel.host3}</value>
</set>
</constructor-arg>
</bean>
2.4.2 编辑properties文件
2.4.3 将properties交给spring管理
<bean id="propertyPlaceholder"
class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:/property/jdbc.properties</value>
<!--添加redis的配置文件 -->
<value>classpath:/property/redis.properties</value>
</list>
</property>
</bean>
3 Redis中持久化技术
3.1 Redis默认持久化方式RDB
3.1.1 RDB说明:
说明:RBD模式是redis中默认采用的模式,该模式会在一定的时间范围内进行redis实例的自动数据备份.(内存中的数据定时持久化到磁盘中),
1.当redis节点因为断电或者关机.这是内存释放,数据丢失.
2.当redis再次启动时首先会根据配置文件查找当前节点的rdb文件,自动的读取rdb文件中的内容.自动的实现数据恢复.
3.1.2 RDB的写盘操作
说明: rdb文件中一般默认会15分钟写盘一次,该写盘操作是自动的,redis当进行写盘操作时,会自动的创建一个线程.该线程不与主线程冲突.(读和写都是通过主线程完成).
当该线程执行时用户没有感觉.如果想主动的进行写盘操作则在客户端执行save命令
命令:
- Save
a) 弊端:当主动执行save命令时,这时会对主线程造成阻塞.该命令一般使用
- Bgsave
a) 通过bgsave持久化数据时,产生的线程不会与主线程冲突,采用后台技术完成.不会产出阻塞,.但是不能保证马上执行.
Background saving started
3.1.3 RDB文件的持久化策略
- pid存储路径:
- 默认的持久化策略
A.save 900 1
B.save 300 10
C.save 60 10000
说明:
- 当redis节点进行set操作时,900秒内执行一个set操作时,才自动备份.
- 当redis节点进行set操作时,300秒内执行10次时,进行自动数据备份.
- 当redis节点进行set操作时,60秒内,执行了10000次操作时进行数据备份.
3.1.4 RDB的优点
说明:redis中的默认的备份采用RDB的形式,该形式有定时备份的特定.其消耗的资源较少.
缺点:
如果对数据的完整性有特别的要求,则采用rdb方式可能会造成数据的丢失.
3.2 Redis持久化AOF
3.2.1 AOF说明
说明:
如果对于数据的完整性有特殊的要求,才使用AOF的方式进行.
该方式,在一定程度上不如rdb效率高.
3.2.2 AOF的持久化策略
说明:redis的默认持久化策略采用RDB形式,如果想使用AOF形式,需要进行额外的配置
说明:如果将appendonly 改为yes.则redis的持久化策略发生改变.
则采用AOF的形式进行数据备份.
说明:
Everysec 每秒数据备份一次 效率相对于RDB接近效率
Always 只要执行set操作,则redis就会备份,该操作的效率很低
No 将备份的策略交个操作系统完成(30分钟备份一次) 一般很少使用
appendfsync everysec 默认采用每秒备份一次.
总结:
当redis数据备份没有做特殊的处理appendOnly为no时,采用rdb.当改为yes时,则启动redis节点时,会自动的加载AOF持久化文件.如果采用AOF数据备份,一般采用每秒数据备份一次,.可以有效的保存当先的节点信息.
3.3 Redis的内存策略
3.3.1 Redis的内存策略
说明:redis是基于内存的,但是内存资源相对比较珍贵.如果redis中的数据很多,内存占满,这时如果set一条新的数据,则没有地方存储该数据.
策略:
Redis在内存中有自由的优化策略,保证数据不会出现存不下的现象.
说明:
如果想改变内存的大小,只需将注释去掉,设定最大内存.
maxmemory 10M 表示内存10兆
3.3.2 内存优化的方式
说明:在redis内存中有lru算法,能够查找最近不使用数据
- volatile-lru
a) 说明:在已经设定了超时时间的数据中,查找最近不用的数据删除.
- allkeys-lru
a) 说明:在所有的key中,查找最近不常使用的数据进行删除
- volatile-random
a) 在设定了超时时间的key中 随机删除数据
- allkeys-random
a) 在所有的key中,随机的删除数据
- volatile-ttl
a) 在所有设定了超时时间的key中,找将要超时的数据进行删除.
- 算法中将按照超时时间进行排序,将马上要超时的数据提前删除
- noeviction
说明:redis默认使用的就是最后一种.redis将内存的维护交给操作系统.当redis的内存需要更新时.由操作系统从数据库中随意选取5个数据进行删除.
Redis集群
建目录
[root@localhost redis-3.2.8]# mkdir 7000 7001 7002 7003 7004 7005 7006 7007 7008
复制配置文件
[root@localhost redis-3.2.8]# cp redis.conf 7000/redis-7000.conf
3.修改配置文件参数(redis-7000.conf)
1.注销绑定的端口号
2.关闭保护模式
- 修改端口号
- 后台运行开启
- 通过绝对路径指明文件存放的位置(指定pid文件的路径)
- 如果不修改dump文件那么每次的日志文件都是公用的,修改dump日志文件路径
- 启用二进制日志
- 启用集群
9.将端口号改为7000,打开集群超时时间
- 将主从挂载删除获取是注释,如果挂载了主从关系 需要删除
执行以下命令可以先将文件中的全部7000修改为7001
:%s/7000/7001/g
11.将配置文件分别拷贝到7001-7008中,需要修改端口号即可
12.分别将7002-7008的配置文件进行修改
分区
复制配置文件(将redis-7000.conf到其他文件夹)
[root@localhost redis-3.2.8]# cd 7000
[root@localhost 7000]# cp redis-7000.conf ../7001/redis-7001.conf
[root@localhost 7000]# cp redis-7000.conf ../7002/redis-7002.conf
[root@localhost 7000]# cp redis-7000.conf ../7003/redis-7003.conf
[root@localhost 7000]# cp redis-7000.conf ../7004/redis-7004.conf
[root@localhost 7000]# cp redis-7000.conf ../7005/redis-7005.conf
[root@localhost 7000]# cp redis-7000.conf ../7006/redis-7006.conf
[root@localhost 7000]# cp redis-7000.conf ../7007/redis-7007.conf
[root@localhost 7000]# cp redis-7000.conf ../7008/redis-7008.conf
[root@localhost 7000]# cd ../
[root@localhost redis-3.2.8]# cd 7001
[root@localhost 7001]# vim redis-7001.conf
修改配置文件中的字段7000到7001
:%s/7000/7001/g
[root@localhost 7001]# cd ../7002
[root@localhost 7002]# vim redis-7002.conf
[root@localhost 7002]# cd ../7003
[root@localhost 7003]# vim redis-7003.conf
:%s/7000/7002/g
[root@localhost 7003]# cd ../7004
[root@localhost 7004]# vim redis-7004.conf
:%s/7000/7004/g
[root@localhost 7004]# cd ../7005
[root@localhost 7005]# vim redis
[root@localhost 7005]# vim redis-7005.conf
:%s/7000/7005/g
[root@localhost 7005]# cd ../7006
[root@localhost 7006]# vim redis-7006.conf
:%s/7000/7006/g
[root@localhost 7006]# cd ../7007
[root@localhost 7007]# vim redis-7007.conf
:%s/7000/7007/g
[root@localhost 7007]# cd ../7008
[root@localhost 7008]# vim redis-7008.conf
:%s/7000/7008/g
[root@localhost 7008]# pwd
/usr/local/src/redis-3.2.8/7008
建立start.sh
[root@localhost redis-3.2.8]# touch start.sh
配置start.sh
[root@localhost redis-3.2.8]# vim start.sh
#!/bin/sh
redis-server 7000/redis-7000.conf &
redis-server 7001/redis-7001.conf &
redis-server 7002/redis-7002.conf &
redis-server 7003/redis-7003.conf &
redis-server 7004/redis-7004.conf &
redis-server 7005/redis-7005.conf &
redis-server 7006/redis-7006.conf &
redis-server 7007/redis-7007.conf &
redis-server 7008/redis-7008.conf &
启动start.sh
[root@localhost redis-3.2.8]# sh start.sh
[root@localhost redis-3.2.8]# ps -ef | grep redis
root 5324 1 0 02:44 ? 00:00:00 redis-server *:7008 [cluster]
root 5325 1 0 02:44 ? 00:00:00 redis-server *:7007 [cluster]
root 5326 1 0 02:44 ? 00:00:00 redis-server *:7004 [cluster]
root 5327 1 0 02:44 ? 00:00:00 redis-server *:7000 [cluster]
root 5328 1 0 02:44 ? 00:00:00 redis-server *:7003 [cluster]
root 5329 1 0 02:44 ? 00:00:00 redis-server *:7002 [cluster]
root 5330 1 0 02:44 ? 00:00:00 redis-server *:7005 [cluster]
root 5331 1 0 02:44 ? 00:00:00 redis-server *:7001 [cluster]
root 5332 1 0 02:44 ? 00:00:00 redis-server *:7006 [cluster]
root 5395 5288 0 02:52 pts/4 00:00:00 grep redis
关闭防火墙
[root@localhost redis-3.2.8]# service iptables stop
[root@localhost redis-3.2.8]# redis-cli -p 7008
127.0.0.1:7008> info replication
# Replication
role:master
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0
127.0.0.1:7008> exit
命令执行配置1主2从结构
./src/redis-trib.rb create --replicas 2 192.168.161.138:7000 192.168.161.138:7001 192.168.161.138:7002 192.168.161.138:7003 192.168.161.138:7004 192.168.161.138:7005 192.168.161.138:7006 192.168.161.138:7007 192.168.161.138:7008
回车
[root@localhost redis-3.2.8]# ./src/redis-trib.rb create --replicas 2 192.168.161.138:7000 192.168.161.138:7001
>>> Creating cluster
*** ERROR: Invalid configuration for cluster creation.
*** Redis Cluster requires at least 3 master nodes.
*** This is not possible with 2 nodes and 2 replicas per node.
*** At least 9 nodes are required.
[root@localhost redis-3.2.8]#
[root@localhost redis-3.2.8]# 192.168.161.138:7002 192.168.161.138:7003 192.168.161.138:7004 192.168.161.138:7005
-bash: 192.168.161.138:7002: command not found
[root@localhost redis-3.2.8]#
[root@localhost redis-3.2.8]# 192.168.161.138:7006 192.168.161.138:7007 192.168.161.138:7008;
-bash: 192.168.161.138:7006: command not found
[root@localhost redis-3.2.8]# ./src/redis-trib.rb create --replicas 2 192.168.161.138:7000 192.168.161.138:7001 192.168.161.138:7002 192.168.161.138:7003 192.168.161.138:7004 192.168.161.138:7005 192.168.161.138:7006 192.168.161.138:7007 192.168.161.138:7008;
>>> Creating cluster
>>> Performing hash slots allocation on 9 nodes...
Using 3 masters:
192.168.161.138:7000
192.168.161.138:7001
192.168.161.138:7002
Adding replica 192.168.161.138:7003 to 192.168.161.138:7000
Adding replica 192.168.161.138:7004 to 192.168.161.138:7000
Adding replica 192.168.161.138:7005 to 192.168.161.138:7001
Adding replica 192.168.161.138:7006 to 192.168.161.138:7001
Adding replica 192.168.161.138:7007 to 192.168.161.138:7002
Adding replica 192.168.161.138:7008 to 192.168.161.138:7002
表示挂载成功
M表示主节点 S表示从节点信息
M: 5ca606ca99750ae6088eceb068c88b62cfae8d4b 192.168.161.138:7000
slots:0-5460 (5461 slots) master
M: 0ea8af6dc724408e19e89e3d2933335b28715237 192.168.161.138:7001
slots:5461-10922 (5462 slots) master
M: cfd38fb1d654f0ef099e54ad81bb6a08e8eb1dca 192.168.161.138:7002
slots:10923-16383 (5461 slots) master
S: 6a8c898758f8b14a6cda477b36f02879e67cc975 192.168.161.138:7003
replicates 5ca606ca99750ae6088eceb068c88b62cfae8d4b
S: 12d455b893fa251118fa16ccf37817b5ccd5746d 192.168.161.138:7004
replicates 5ca606ca99750ae6088eceb068c88b62cfae8d4b
S: 7faeed2a9f6f377b852e1079b0ad79a219e479e6 192.168.161.138:7005
replicates 0ea8af6dc724408e19e89e3d2933335b28715237
S: e6806de7d5fce3f3dcfbfe661370c05d6ce94a5f 192.168.161.138:7006
replicates 0ea8af6dc724408e19e89e3d2933335b28715237
S: 81384ae1bbab3e9ebe33509150c870820da3bc47 192.168.161.138:7007
replicates cfd38fb1d654f0ef099e54ad81bb6a08e8eb1dca
S: d607ca8480fb4889f40a7ed7f8bcaca25253a903 192.168.161.138:7008
replicates cfd38fb1d654f0ef099e54ad81bb6a08e8eb1dca
Can I set the above configuration? (type 'yes' to accept): yes
表示是否确定挂载:输入yes否则会报错
>>> Nodes configuration updated
>>> Assign a different config epoch to each node
>>> Sending CLUSTER MEET messages to join the cluster
Waiting for the cluster to join......
>>> Performing Cluster Check (using node 192.168.161.138:7000)
M: 5ca606ca99750ae6088eceb068c88b62cfae8d4b 192.168.161.138:7000
slots:0-5460 (5461 slots) master
2 additional replica(s)
S: 81384ae1bbab3e9ebe33509150c870820da3bc47 192.168.161.138:7007
slots: (0 slots) slave
replicates cfd38fb1d654f0ef099e54ad81bb6a08e8eb1dca
S: 6a8c898758f8b14a6cda477b36f02879e67cc975 192.168.161.138:7003
slots: (0 slots) slave
replicates 5ca606ca99750ae6088eceb068c88b62cfae8d4b
S: 12d455b893fa251118fa16ccf37817b5ccd5746d 192.168.161.138:7004
slots: (0 slots) slave
replicates 5ca606ca99750ae6088eceb068c88b62cfae8d4b
S: e6806de7d5fce3f3dcfbfe661370c05d6ce94a5f 192.168.161.138:7006
slots: (0 slots) slave
replicates 0ea8af6dc724408e19e89e3d2933335b28715237
S: 7faeed2a9f6f377b852e1079b0ad79a219e479e6 192.168.161.138:7005
slots: (0 slots) slave
replicates 0ea8af6dc724408e19e89e3d2933335b28715237
S: d607ca8480fb4889f40a7ed7f8bcaca25253a903 192.168.161.138:7008
slots: (0 slots) slave
replicates cfd38fb1d654f0ef099e54ad81bb6a08e8eb1dca
M: 0ea8af6dc724408e19e89e3d2933335b28715237 192.168.161.138:7001
slots:5461-10922 (5462 slots) master
2 additional replica(s)
M: cfd38fb1d654f0ef099e54ad81bb6a08e8eb1dca 192.168.161.138:7002
slots:10923-16383 (5461 slots) master
2 additional replica(s)
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
[root@localhost redis-3.2.8]# ps -ef | grep redis
root 5324 1 0 02:44 ? 00:00:01 redis-server *:7008 [cluster]
root 5325 1 0 02:44 ? 00:00:01 redis-server *:7007 [cluster]
root 5326 1 0 02:44 ? 00:00:01 redis-server *:7004 [cluster]
root 5327 1 0 02:44 ? 00:00:01 redis-server *:7000 [cluster]
root 5328 1 0 02:44 ? 00:00:01 redis-server *:7003 [cluster]
root 5329 1 0 02:44 ? 00:00:01 redis-server *:7002 [cluster]
root 5330 1 0 02:44 ? 00:00:01 redis-server *:7005 [cluster]
root 5331 1 0 02:44 ? 00:00:01 redis-server *:7001 [cluster]
root 5332 1 0 02:44 ? 00:00:01 redis-server *:7006 [cluster]
root 5445 5288 0 03:09 pts/4 00:00:00 grep redis
[root@localhost redis-3.2.8]# redis-cli -p 7000
127.0.0.1:7000> info replication
# Replication
role:master
connected_slaves:2
slave0:ip=192.168.161.138,port=7004,state=online,offset=169,lag=1
slave1:ip=192.168.161.138,port=7003,state=online,offset=169,lag=1
master_repl_offset:183
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:182
进入7001
[root@localhost redis-3.2.8]# redis-cli -p 7001
127.0.0.1:7001> set name jack
OK
127.0.0.1:7001> get jack
(nil)
127.0.0.1:7001> get name
"jack"
127.0.0.1:7001> exit
进入7004
[root@localhost redis-3.2.8]# redis-cli -p 7004
127.0.0.1:7004> set kkk kkk
(error) MOVED 8583 192.168.161.138:7001
127.0.0.1:7004> get name
(error) MOVED 5798 192.168.161.138:7001
127.0.0.1:7004> get name
(error) MOVED 5798 192.168.161.138:7001
127.0.0.1:7004> exit
进入7001
[root@localhost redis-3.2.8]# redis-cli -p 7001
127.0.0.1:7001> get name
"jack"
127.0.0.1:7001> info replication
# Replication
role:master
connected_slaves:2
slave0:ip=192.168.161.138,port=7005,state=online,offset=771,lag=1
slave1:ip=192.168.161.138,port=7006,state=online,offset=771,lag=1
master_repl_offset:771
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:770
127.0.0.1:7001> cluster nodes
d607ca8480fb4889f40a7ed7f8bcaca25253a903 192.168.161.138:7008 slave cfd38fb1d654f0ef099e54ad81bb6a08e8eb1dca 0 1517224647739 9 connected
cfd38fb1d654f0ef099e54ad81bb6a08e8eb1dca 192.168.161.138:7002 master - 0 1517224645722 3 connected 10923-16383
7faeed2a9f6f377b852e1079b0ad79a219e479e6 192.168.161.138:7005 slave 0ea8af6dc724408e19e89e3d2933335b28715237 0 1517224645722 6 connected
81384ae1bbab3e9ebe33509150c870820da3bc47 192.168.161.138:7007 slave cfd38fb1d654f0ef099e54ad81bb6a08e8eb1dca 0 1517224646731 8 connected
12d455b893fa251118fa16ccf37817b5ccd5746d 192.168.161.138:7004 slave 5ca606ca99750ae6088eceb068c88b62cfae8d4b 0 1517224646731 5 connected
5ca606ca99750ae6088eceb068c88b62cfae8d4b 192.168.161.138:7000 master - 0 1517224645722 1 connected 0-5460
6a8c898758f8b14a6cda477b36f02879e67cc975 192.168.161.138:7003 slave 5ca606ca99750ae6088eceb068c88b62cfae8d4b 0 1517224644716 4 connected
0ea8af6dc724408e19e89e3d2933335b28715237 192.168.161.138:7001 myself,master - 0 0 2 connected 5461-10922
e6806de7d5fce3f3dcfbfe661370c05d6ce94a5f 192.168.161.138:7006 slave 0ea8af6dc724408e19e89e3d2933335b28715237 0 1517224644716 7 connected
127.0.0.1:7001> info replication
# Replication
role:master
connected_slaves:2
slave0:ip=192.168.161.138,port=7005,state=online,offset=995,lag=0
slave1:ip=192.168.161.138,port=7006,state=online,offset=995,lag=0
master_repl_offset:995
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:994
127.0.0.1:7001> exit
关闭7001
[root@localhost redis-3.2.8]# redis-cli -p 7001 shutdown
进入7006
[root@localhost redis-3.2.8]# redis-cli -p 7006
127.0.0.1:7006> info replicaion
127.0.0.1:7006> info replication
# Replication
role:master
connected_slaves:1
slave0:ip=192.168.161.138,port=7005,state=online,offset=85,lag=1
master_repl_offset:85
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:84
127.0.0.1:7006> exit
[root@localhost redis-3.2.8]# ps -ef | grep redis
root 5324 1 0 02:44 ? 00:00:03 redis-server *:7008 [cluster]
root 5325 1 0 02:44 ? 00:00:03 redis-server *:7007 [cluster]
root 5326 1 0 02:44 ? 00:00:03 redis-server *:7004 [cluster]
root 5327 1 0 02:44 ? 00:00:03 redis-server *:7000 [cluster]
root 5328 1 0 02:44 ? 00:00:03 redis-server *:7003 [cluster]
root 5329 1 0 02:44 ? 00:00:03 redis-server *:7002 [cluster]
root 5330 1 0 02:44 ? 00:00:03 redis-server *:7005 [cluster]
root 5332 1 0 02:44 ? 00:00:03 redis-server *:7006 [cluster]
root 5464 5288 0 03:22 pts/4 00:00:00 grep redis
重启7001
[root@localhost redis-3.2.8]# redis-server 7001/redis-7001.conf
[root@localhost redis-3.2.8]# redis-cli -p 7001
127.0.0.1:7001> info replication
# Replication
role:slave
master_host:192.168.161.138
master_port:7006
master_link_status:up
master_last_io_seconds_ago:5
master_sync_in_progress:0
slave_repl_offset:365
slave_priority:100
slave_read_only:1
connected_slaves:0
master_repl_offset:0
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0
127.0.0.1:7001>