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从节点。
本人技术有限,若有错误,欢迎指点!