1. 解压 redis
$ tar-zxvf redis-4.0.10.tar.gz
#(主redis)
$ mv redis-4.0.10 redisMaster
2. 进入 redisMaster 目录执行 make 命令
$ cd redisMaster
$ make
3.复制 redisMaster 作为从 redis
$ cp -r redisMaster redisSlave
4. 编辑 redis.conf
$ cd redisMaster
$ mv redis.conf 6379.conf
$ vi 6379.conf
修改 bind127.0.0.1 为 bind 192.168.109.100(本机 ip)
新增 requirepass redis
新增 masterauth redis
修改 protected-mode 为 no
修改 daemonize 为 yes #启用守护模式
默认情况下,redis node 和 sentinel 的 protected-mode 都是 yes,在搭建集群时,若想从远程连接 redis 集群,需要将 redis node 和 sentinel 的 protected-mode 修改为 no,若只修改 redis node,从远程连接 sentinel 后,依然是无法正常使用的,且 sentinel 的配置文件中没有 protected-mode 配置项,需要手工添加。依据 redis 文档的说明,若 protected-mode 设置为 no 后,需要增加密码验证或是 IP 限制等保护机制,否则是极度危险的。
同样修改 redisSlave 里的配置。
$ cd redisSlave
$ mv redis.conf 6380.conf
$ vi 6380.conf
修改 bind 127.0.0.1 为 bind 192.168.109.100,
修改 protected-mode 为 no,
修改 port 6379 为 6380
新增 requirepass redis
修改 daemonize 为 yes #启用守护模式
新增 masterauth redis
修改 pidfile 为/var/run/redis_6380.pid
新增 slaveof 127.0.0.1 6379(主 redis 的 ip 和端口)
至此 redis 的主从模式配置完成
5.启动主从 redis
$ cd redisMaster/src
# 启动主redis
$ ./redis-server ../6379.conf
$ cd redisSlave/src
# 启动从redis
$ ./redis-server ../6380.conf
6.测试主从
$ cd /redisMaster/src
执行登录命令
$ ./redis-cli -a redis -p 6379 -h 192.168.109.100
# 参数说明:-a:密码 ,-p 端口,-h ip地址
登录成功之后 存入一条数据测试
登录从 redis
$ cd redisSlave/src
登录查看
7.配置哨兵模式
重新安装一个 redis 命名为 redisSentinel
$ cd redisSentinel
修改 sentinel.conf 配置文件内容如下
修改protected-mode 为 no
port 26379
daemonize yes
sentinel monitor mymaster 192.168.109.100 6379 1 #哨兵监控的master
sentinel down-after-milliseconds mymaster 5000 #master或者slave多少时间(默认30秒)不能使用标记为down状态
sentinel failover-timeout mymaster 9000 #若哨兵在配置值内未能完成故障转移操作,则任务本次故障转移失败。
sentinel auth-pass mymaster redis #如果redis配置了密码,那这里必须配置认证,否则不能自动切换
8.启动哨兵
$ cd redisSentinel/src
./redis-sentinel ../sentinel.conf
9.查看哨兵信息
$ cd redisSentinel/src
$ ./redis-cli -p 26379 -h 192.168.109.100
输入 info
10.将 redis 启动命令添加到系统命令(选配)
- 10.1 设置 redis.conf 中 daemonize 为 yes,确保守护进程开启,也就是在后台可以运行
#vi编辑redis安装目录里面的redis.conf文件
[root@localhost /]$ vi redis.conf
- 10.2 复制 redis 配置文件(启动脚本需要用到配置文件内容,所以要复制)
#1.在/etc下新建redis文件夹
[root@localhost /]$ mkdir /etc/redis
#2.把安装redis目录里面的redis.conf文件复制到/etc/redis/6379.conf里面,
6379.conf是取的文件名称,启动脚本里面的变量会读取这个名称,所以要是redis的端口号改了,这里也要修改
[root@localhost redis]$ cp /home/redis/redis/redis.conf /etc/redis/6379.conf
- 10.3 复制 redis 启动脚本
#1.redis启动脚本一般在redis根目录的utils,如果不知道路径,可以先查看路径
[root@localhost redis]$ find / -name redis_init_script
/home/redis/redis/utils/redis_init_script
#2.复制启动脚本到/etc/init.d/redis文件中
[root@localhost redis]$ cp /home/redis/redis//utils/redis_init_script /etc/init.d/redis
10.4 修改启动脚本参数
[root@localhost redis]$ vi /etc/init.d/redis
#在/etc/init.d/redis文件的头部添加下面两行注释代码,也就是在文件中#!/bin/sh的下方添加
# chkconfig: 2345 10 90
# description: Start and Stop redis
#同时还要修改参数,指定redis的安装路径,ip和密码
- 10.5 启动 redis
打开 redis 命令:service redis start
关闭 redis 命令:service redis stop
设为开机启动:chkconfig redis on
设为开机关闭:chkconfig redis off
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于