redis主从分离和哨兵模式

1.环境

    VMware12+CentOS6.5+redis3.2.4

2.搭建主从分离

    以下配置文件均为redis.conf

    1.安装redis

#下载
wget http://download.redis.io/releases/redis-3.2.4.tar.gz
#解压
tar xzvf redis-4.0.8.tar.gz
#安装
cd redis-4.0.8
#使用make编译,这里要安装 Gcc -cc++  命令为yum install gcc 
make
cd src
make install PREFIX=/usr/local/redis

 2.将需要的文件复制到自建的目录下

#安装完redis,进入src下,将以下的文件复制到同一个文件夹下
cp redis-server /usr/local/redis/redis-master-slave/6380
cp redis-benchmark /usr/local/redis/redis-master-slave/6380
cp redis-cli /usr/local/redis/redis-master-slave/6380
cp redis.conf /usr/local/redis/redis-master-slave/6380

3.复制2份,1主2从(端口6380为主)

cp * /usr/local/redis/redis-master-slave/6381
cp * /usr/local/redis/redis-master-slave/6382

4.分别修改redis.conf配置文件

#分别修改端口号为6380,6381,6382
port 6380
#修改后台启
daemonize yes
#修改pidfile
pidfile /var/run/redis_6380.pid

5.启动6380端口的redis

#启动
./redis-server redis.conf 
#查询
ps -ef|grep redis
#客户端进入redis
./redis-cli -p 6380
#输入命令(注意:这里是在redis客户端输入的命令)
info
#可以看出这是主节点

# 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


6.修改6381,6382端口的redis为从节点

# slaveof <masterip> <masterport>
slaveof 127.0.0.1 6380

7.分别启动6381,6382,查看redis的role

# Replication
role:slave
master_host:127.0.0.1
master_port:6380
master_link_status:up
master_last_io_seconds_ago:4
master_sync_in_progress:0
slave_repl_offset:57
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

8.也可以在redis客户端关联主节点

./redis-cli redis.conf

#6382关联主节点
127.0.0.1:6382> slaveof 127.0.0.1 6380

9.主从分离配置

# Note: read only slaves are not designed to be exposed to untrusted clients
# on the internet. It's just a protection layer against misuse of the instance.
# Still a read only slave exports by default all the administrative commands
# such as CONFIG, DEBUG, and so forth. To a limited extent you can improve
# security of read only slaves using 'rename-command' to shadow all the
# administrative / dangerous commands.
slave-read-only yes

3.哨兵模式

    1.新建redis-sentinel目录,

#新建redis-sentinel目录
mkdir /usr/local/redis/redis-sentinel
#把redis3.2.4目录中的sentinel.conf和src目录下的redis-sentinel文件复制到redis-sentinel
cp sentinel.conf  /usr/local/redis/redis-sentinel/
cp redis-sentinel /usr/local/redis/redis-sentinel/

    2.修改配置文件,监听主节点

#端口可以修改,这里演示哨兵只有一台,一般为3台
port 26379

#监听主节点
# Default is 30 seconds.
sentinel monitor mymaster 127.0.0.1 6380 2

    3.启动哨兵(sentinel)

#启动sentinel
./redis-sentinel sentinel.conf 

    通过下图可以看出哨兵监听6380主节点,主节点下有6381和6382从节点。

1a72699172c4312723c48893b1dd903fd6f.jpg

    本人技术有限,若有错误,欢迎指点!

转载于:https://my.oschina.net/u/3794524/blog/1930161

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值