美文网首页
redis 安装部署 、主从复制、哨兵模式

redis 安装部署 、主从复制、哨兵模式

作者: su酥饼 | 来源:发表于2022-02-14 16:06 被阅读0次

一.单点 reids 安装部署

官网地址:https://redis.io/download
下载包:wget http://download.redis.io/releases/redis-3.2.12.tar.gz

1.将安装包解压至/usr/local/下

tar xf redis-3.2.12.tar.gz -C /usr/local/
cd /usr/local/
ln -s  redis-3.2.12 redis

2.安装环境依赖

yum -y install gcc automake autoconf libtool make

3.编译

cd /usr/local/redis/
make && make install #编译安装

4.配置环境变量

vim /etc/bash.rc
export PATH=/usr/local/redis/src:$PATH
source  /etc/bash.rc

5.编写配置文件

daemonize yes                 #是否后台运行
port 6379                     #默认端口
logfile /usr/local/redis/redis.log   #日志文件位置
dir /usr/local/redis              #持久化文件存储位置
pidfile /usr/local/redis/redis.pid  #pid文件存储位置
dbfilename dump.rdb        #RDB持久化数据文件:
protected-mode no          #默认开启了保护模式,只允许本地回环地址登录并访问数据库。
bind 10.0.0.100            #指定通过那个ip连接到redis
requirepass 123    #设置登录密码

6.启动redis

redis-server /usr/local/redis/redis.conf 

7.连接测试

redis-cli -h 10.0.0.100 -p6379 -a 123 

8.设置开机自启

vim /etc/rc.d/rc.local
/usr/local/bin/redis-server /usr/local/redis/6379/redis.conf
chmod +x /etc/rc.d/rc.local

9.redis 服务关闭

redis-cli shutdown                    #方法一
[root@redis-2 ~]# redis-cli -a 123456      #方法二
127.0.0.1:6379> shutdown
not connected> 
pkill redis-server  #方法三    

10.redis 配置参数详解

daemonize:如需要在后台运行,把该项的值改为yes
pdifile:把pid文件放在/var/run/redis.pid,可以配置到其他地址
bind:指定redis只接收来自该IP的请求,如果不设置,那么将处理所有请求,在生产环节中最好设置该项
port:监听端口,默认为6379
timeout:设置客户端连接时的超时时间,单位为秒
loglevel:等级分为4级,debug,revbose,notice和warning。生产环境下一般开启notice
logfile:配置log文件地址,默认使用标准输出,即打印在命令行终端的端口上
database:设置数据库的个数,默认使用的数据库是0
save:设置redis进行数据库镜像的频率
rdbcompression:在进行镜像备份时,是否进行压缩
dbfilename:镜像备份文件的文件名
dir:数据库镜像备份的文件放置的路径
slaveof:设置该数据库为其他数据库的从数据库
masterauth:当主数据库连接需要密码验证时,在这里设定
requirepass:设置客户端连接后进行任何其他指定前需要使用的密码
maxclients:限制同时连接的客户端数量
maxmemory:设置redis能够使用的最大内存
appendonly:开启appendonly模式后,redis会把每一次所接收到的写操作都追加到appendonly.aof文件中,当redis重新启动时,会从该文件恢复出之前的状态
appendfsync:设置appendonly.aof文件进行同步的频率
vm_enabled:是否开启虚拟内存支持
vm_swap_file:设置虚拟内存的交换文件的路径
vm_max_momery:设置开启虚拟内存后,redis将使用的最大物理内存的大小,默认为0
vm_page_size:设置虚拟内存页的大小
vm_pages:设置交换文件的总的page数量
vm_max_thrrads:设置vm IO同时使用的线程数量  

二.redis主从安装部署

1.资源清单 采取一主两从

10.0.0.100 reids主
10.0.0.101 reids从
10.0.0.102 redis从

2.三个节点安装reids 并启动

10.0.0.100 、10.0.0.101、10.0.0.102 三个节点

### mkdir /data

cat >>   /data/redis.conf <<EOF
port 6379
daemonize yes
pidfile /data/redis.pid
loglevel notice
logfile "/data/redis.log"
dbfilename dump.rdb
dir /data/
requirepass 123
masterauth 123
EOF
启动:
redis-server /data/redis.conf

3、开启主从

101/102这两台机器命令行操作:
redis-cli -h 10.0.0.101 -p 6379 -a 123 SLAVEOF 10.0.0.100 6379  #这里的ip跟端口是主的
redis-cli -h 10.0.0.102 -p 6379 -a 123 SLAVEOF 10.0.0.100 6379

4.查询主从状态

主节点

[root@redis-100 ~]#  redis-cli -h 10.0.0.100 -p 6379 -a 123 info replication

Replication

role:master
connected_slaves:2
slave0:ip=10.0.0.101,port=6379,state=online,offset=71,lag=0
slave1:ip=10.0.0.102,port=6379,state=online,offset=71,lag=1
master_repl_offset:71
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:70

从节点

[root@redis-101 ~]#  redis-cli -h 10.0.0.101 -p 6379 -a 123 info replication

Replication

role:slave
master_host:10.0.0.100
master_port:6379
master_link_status:up
master_last_io_seconds_ago:3
master_sync_in_progress:0
slave_repl_offset:127
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

三、sentinel(哨兵模式)

1.介绍

sentinel,中文名是哨兵。哨兵是 Redis 集群架构中非常重要的一个组件,主要有以下功能:

  • 集群监控:负责监控 redis master 和 slave 进程是否正常工作
  • 消息通知:如果某个 redis 实例有故障,那么哨兵负责发送消息作为报警通知给管理员
  • 故障转移:如果 master node 挂掉了,通过选举从slave node上产生新的master node
  • 配置中心:如果故障转移发生了,通知 client 客户端新的 master 地址

哨兵用于实现 redis 集群的高可用,本身也是分布式的,作为一个哨兵集群去运行,互相协同工作

2.修改配置文件

# 1. 保护模式修改为否,允许远程连接
     protected-mode no
# 2. 设定监控地址,为对应的主redis库的内网地址,mymaster为集群名字,可以根据情况自己修改
     sentinel monitor mymaster 10.0.0.100 6379 2
# 3. 表示如果master重新选出来后,其它slave节点能同时并行从新master同步缓存的台数有多少个,显然该值越大,所有slave节点完成同步切换的整体速度越快,但如果此时正好有人在访问这些slave,可能造成读取失败,影响面会更广。最保定的设置为1,只同一时间,只能有一台干这件事,这样其它slave还能继续服务,但是所有slave全部完成缓存更新同步的进程将变慢。
     sentinel parallel-syncs mymaster 2
# 4. 主数据库密码,需要将配置放在sentinel monitor master 10.0.0.100 6379 2下面
     sentinel auth-pass mymaster 123

2-1编写守护进程启动sentinel

#编写sentinel启动和关闭脚本
##启动sentinel脚本
cat > /script/sentinel_start.sh <<EOF
nohup /usr/local/redis/src/redis-sentinel /usr/local/redis/sentinel.conf >./sentinel.log &
EOF

##关闭sentinel脚本
cat > /script/sentinel_stop.sh <<EOF
#!/bin/bash
kill -9 `ps -ef |grep sent |awk 'NR==1 {print $2}'`
EOF

#配置sentinel 守护进程启动
cat > /usr/lib/systemd/system/sentinel.service <<EOF
[Unit]
Description=shaobing
After=network.target
[Service]
Type=forking
Restart=no
ExecStart=/script/sentinel_start.sh  #启动脚本或命令
ExecStop=/script/sentinel_stop.sh     #关闭脚本或命令

[Install]
WantedBy=multi-user.target
EOF

3.启动

启动顺序需要按照Master->Slave->Sentinel进行启动,分别把redis的config里面的daemonize参数设置为yes,这样就可以后台启动进程了,不用开启多个窗口了,启动步骤如下:

# 启动redis-server的master和slave(根据配置文件启动)
redis-server /data/redis.conf


#三个节点启动sentinel
systemctl start sentinel.service
systemctl enab sentinel.service
#查看进程 和端口
netsat -lntup

4.测试

killl 7453(主库进程pid)
redis-cli  -h 10.0.0.102 -p 6381 -a 123 info replication
redis-cli  -h 10.0.0.102 -p 6382 -a 123 info replication
此时会发现其中一台从库成了主

相关文章

  • redis(二)

    Redis用户认证 禁用危险命令 主从复制的过程 主从复制的部署 哨兵 Redis哨兵+主从+密码 Redis哨兵...

  • redis 安装部署 、主从复制、哨兵模式

    一.单点 reids 安装部署 1.将安装包解压至/usr/local/下 2.安装环境依赖 3.编译 4.配置环...

  • Redis集群部署

    Redis集群部署 Redis集群有多种部署模式,包括主从模式、哨兵模式、集群模式 主从模式   主从模式可以是一...

  • 分布式缓存利器之Redis集群安装与配置

    引言:在之前的几篇文章中依次介绍了分布式缓存技术以及Redis的基本知识和Redis主从复制模式和哨兵模式的安装,...

  • 第五章----Redis三种集群详解

    Redis集群的三种模式 主从复制(master/slave) 哨兵模式(sentinel) 集群模式(clust...

  • Redis哨兵模式安装与配置

    在介绍哨兵模式之前首先介绍下Redis主从复制。 Redis 主从复制 可将 主节点 数据同步给 从节点,从节点此...

  • redis的三种集群方式

    redis的三种集群方式 redis有三种集群方式:主从复制,哨兵模式和集群。 1.主从复制 主从复制原理: 从服...

  • 缓存-redis 三种模式搭建和运行原理

    标签: redis 缓存 主从 哨兵 集群 本文简单的介绍redis三种模式在linux的安装部署和数据存储的总结...

  • 三、redis集群方案-codis

    之前我们讨论的话题,无论是主从复制,还是哨兵模式,都是单个redis实例在工作。在大数据高并发的场景下,这种部署方...

  • Redis

    什么是Redis Redis的五种数据类型 常见Redis问题 淘汰策略 持久化 主从复制,哨兵模式https:/...

网友评论

      本文标题:redis 安装部署 、主从复制、哨兵模式

      本文链接:https://www.haomeiwen.com/subject/bbthlrtx.html