轻松掌握组件启动之Redis单机、主从、哨兵、集群配置

Redis安装

下载地址:http://redis.io/download

安装步骤:

1: 安装gcc编译器:yum install gcc

2: 将下载好的redis‐5.0.3.tar.gz文件放置在/usr/local文件夹下,并解压redis‐5.0.3.tar.gz文件

wget http://download.redis.io/releases/redis‐5.0.3.tar.gz
 tar xzf redis‐5.0.3.tar.gz
 cd redis‐5.0.3

3: 切换到解压后的redis‐5.0.3目录下,完成编译与安装

make

4: 修改配置

daemonize yes #后台启动
 protected‐mode no #关闭保护模式,开启的话,只有本机才可以访问redis
 需要注释掉bind
 #bind 127.0.0.1(bind绑定的是自己机器网卡的ip,如果有多块网卡可以配多个ip,代表允许客户
端通过机器的哪些网卡ip去访问,内网一般可以不配置bind,注释掉即可)

5: 启动服务

src/redis‐server redis.conf

6: 验证服务是否成功启动

 ps ‐ef | grep redis

7: 使用redis‐cli,进入redis客户端

src/redis‐cli

8: 退出客户端

quit

9: 以下是三种退出redis服务方法:

  1. pkill redis‐server
  2. kill 进程号
  3. src/redis‐cli shutdown

Redis主从架构

轻松掌握组件启动之Redis单机、主从、哨兵、集群配置

redis主从架构搭建,配置从节点步骤:

1、复制一份redis.conf文件:使用cp命令复制一份redis.conf文件,以便对从节点进行配置。

2、修改从节点配置:打开复制的redis.conf文件,根据以下步骤修改相关配置:

port 6380
 pidfile /var/run/redis_6380.pid # 把pid进程号写入pidfile配置的文件
 logfile "6380.log"

 dir /usr/local/redis‐5.0.3/data/6380 # 指定数据存放目录
 # 需要注释掉bind
 # bind 127.0.0.1(bind绑定的是自己机器网卡的ip,如果有多块网卡可以配多个ip,代表允许客户端通
过机器的哪些网卡ip去访问,内网一般可以不配置bind,注释掉即可)

3、使用replicaof配置主从复制

 replicaof 192.168.0.60 6379 # 从本机6379的redis实例复制数据,Redis 5.0之前使用slaveof
 replica‐read‐only yes # 配置从节点只读

4、开始启动从节点

redis‐server redis.conf

5、登录从节点客户端

redis‐cli ‐p 6380

6、测试在6379实例上写数据,6380实例是否能及时同步新修改数据

7、通过以上的步骤,可以自己再配置一个6381的从节点

哨兵高可用架构

轻松掌握组件启动之Redis单机、主从、哨兵、集群配置

以下是构建Redis哨兵架构的步骤:

1、复制一份sentinel.conf文件

cp sentinel.conf sentinel‐26379.conf

2、将sentinel‐2637.conf文件中相关配置修改为以下数值:

daemonize yes
 pidfile "/var/run/redis‐sentinel‐26379.pid"
 logfile "26379.log"
 dir "/usr/local/redis‐5.0.3/data"
 # sentinel monitor <master‐redis‐name> <master‐redis‐ip> <master‐redis‐port> <quorum>
 # quorum是一个数字,指明当有多少个sentinel认为一个master失效时(值一般为:sentinel总数/2 + 1),master才算真正失效
  sentinel monitor mymaster 192.168.0.60 6379 2 # mymaster这个名字随便取,客户端访问时会用到

3、使用sentinel‐26379.conf文件启动sentinel哨兵实例

src/redis‐sentinel sentinel‐26379.conf

4、查看sentinel的info信息

127.0.0.1:26379>info

可以看到Sentinel的info里已经识别出了redis的主从

5、可以自己再配置两个sentinel,端口26380和26381,注意上述配置文件里的对应数字都要修改

高可用集群模式

轻松掌握组件启动之Redis单机、主从、哨兵、集群配置

为了搭建一个redis集群,我们需要至少三个主节点。在这里,我们将搭建三个主节点,并且为每个主节点再搭建一个从节点,总共六个redis节点。我们将在三台机器上部署这六个redis实例,每台机器上都会有一个主节点和一个从节点。下面是搭建集群的步骤:

1:在第一台机器的/usr/local下创建一个名为redis-cluster的文件夹。然后在该文件夹下创建两个文件夹,分别命名为:

mkdir ‐p /usr/local/redis‐cluster
mkdir 8001 8004

2:把之前的redis.conf配置文件复制到8001文件夹下,并对其进行以下修改:

daemonize yes
port 8001(分别对每个机器的端口号进行设置)
pidfile /var/run/redis_8001.pid # 把pid进程号写入pidfile配置的文件
dir /usr/local/redis‐cluster/8001/(指定数据文件存放位置,必须要指定不同的目录位置,不然会丢失数据)
cluster‐enabled yes(启动集群模式)
cluster‐config‐file nodes‐8001.conf(集群节点信息文件,这里800x最好和port对应上)
cluster‐node‐timeout 10000
# bind 127.0.0.1(bind绑定的是自己机器网卡的ip,如果有多块网卡可以配多个ip,代表允许客户端通过机器的哪些网卡ip去访问,内网一般可以不配置bind,注释掉即可)
protected‐mode no (关闭保护模式)
appendonly yes
#如果要设置密码需要增加如下配置:
requirepass xiaoyu (设置redis访问密码)
masterauth xiaoyu (设置集群节点间访问密码,跟上面一致)

3:将修改后的配置文件复制到8004文件夹下,并对该文件进行批量替换以修改第2、3、4、6项中的端口号。

:%s/源字符串/目的字符串/g

4:需要对另外两台机器进行类似的操作。对于第二台机器,使用8002和8005的端口号,对配置文件进行相应的修改。对于第三台机器,则使用8003和8006的端口号进行修改。

5:请分别启动6个Redis实例,并检查它们是否成功启动。

/usr/local/redis‐5.0.3/src/redis‐server /usr/local/redis‐cluster/800*/redis.conf
 # 查看是否启动成功
 ps ‐ef | grep redis 

6:在Redis 5之前,要创建整个Redis集群,需要使用redis-trib.rb脚本。这个脚本是用Ruby编写的,并且在Redis 5版本中被废弃了。现在,在Redis 5及更高版本中,你可以使用redis-cli来创建整个Redis集群。

 # 下面命令里的1代表为每个创建的主服务器节点创建一个从服务器节点
 # 执行这条命令需要确认三台机器之间的redis实例要能相互访问,可以先简单把所有机器防火墙关掉,如果不关闭防火墙则需要打开redis服务端口和集群节点gossip通信端口16379(默认是在redis端口号上加1W)
 # 关闭防火墙
 # systemctl stop firewalld # 临时关闭防火墙
 # systemctl disable firewalld # 禁止开机启动
 # 注意:下面这条创建集群的命令大家不要直接复制,里面的空格编码可能有问题导致创建集群不成功
 (1)/usr/local/redis‐5.0.3/src/redis‐cli ‐a xiaoyu ‐‐cluster create ‐‐cluster‐replicas 1 192.168.0.61:8001 192.168.0.62:8002 192.168.0.63:8003 192.168.0.61:8004 192.168.0.62:8005 192.168.0.63:8006

7:验证集群

(1)连接任意一个客户端即可:./redis‐cli ‐c ‐h ‐p (‐a访问服务端密码,‐c表示集群模式,指定ip地址和端口号)
  如:/usr/local/redis‐5.0.3/src/redis‐cli ‐a xiaoyu ‐c ‐h 192.168.0.61 ‐p 800*
 (2)进行验证: cluster info(查看集群信息)、cluster nodes(查看节点列表)
 (3)进行数据操作验证
 (4)关闭集群则需要逐个进行关闭,使用命令:
  /usr/local/redis‐5.0.3/src/redis‐cli ‐a xiaoyu ‐c ‐h 192.168.0.60 ‐p 800* shutdown

总结

以便读者能够更好地了解和使用Redis。本文主要介绍了Redis的单机配置启动、主从架构、哨兵高可用架构和高可用集群模式的步骤。其实没什么好说的,给以后的文章系列走个铺垫而已,在以后的的文章系列中,我们将进一步深入探讨Redis的高级功能和最佳实践,帮助读者更好地利用Redis来解决实际问题。

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/11635

(0)
凯影的头像凯影
上一篇 2024年5月10日 下午3:26
下一篇 2024年5月11日 下午3:17

相关推荐

  • 又见问题之-Windows Server 2012 R2 安装.net 4.6.1

    服务器是新版的Windows Server 2012 R2 ,今天安装一个软件,软件需要(.net v4.6.1)环境,发现报错,缺少.Netframework, Version=v4.6.1,直接下载对应版本的.Netframework 连续点击是,会跳转到 .net 的下载页面,选中所需的 .net 版本 下载安装之后报错,你需要先安装 对应于 KB29…

    2023年10月25日
    38000
  • rsync+sersync实现实时监控备份同步

    rsync+sersync简介 sersync是基于inotify开发的,类似于inotify-tools的工具。所以同样内核需先支持inotify,才能搭建。 sersync可以记录下被监听目录中发生变化的(包括增加、删除、修改)具体某一个文件或者某一个目录的名字,然后使用rsync同步的时候,只同步发生变化的文件或者目录。 搭建环境:2台Linux(ce…

    2023年3月29日
    39800
  • Centos7升级内核后无法启动解决办法:mpt[23]sas驱动问题

    entOS 7.* 从内核 3.10.0 升级到 5.*.*后,重启不了,原因是 Linux 内核 4.4.x 版本之后,dracut 命令生成的 initramfs 默认不会自动加载 mpt3sas 驱动模块。因为没有对应的驱动程序,所以识别不了系统盘 1. 查询3.10.0 initramfs的驱动 可以看到在3.10内核的时候是mpt2sas…

    2023年5月6日
    31300
  • Linux 内存优化 配置 Zram

    Zram(也称为压缩内存块设备)是Linux内核中的一个功能,用于提供虚拟内存的压缩和解压缩功能。它通过将内存块压缩存储在内存中,可以有效地提高系统的内存利用率,并减少对物理磁盘的读写操作。 配置了 Zram 之后,服务器内存配置不变的情况下,可承载的人数或持续运行的时间均有一定程度的提升。我们也为 Linux 服务器配置 Zram 提供了一键方式,登录 L…

    2024年1月31日
    24000
  • cobbler搭建

    什么是cobbler Cobbler是一个Linux系统安装的服务,可以通过网络启动(PXE)的方式来快速安装、重装物理服务器和虚拟机,同时还可以管理DHCP,DNS等。 Cobbler可以使用命令行方式管理,也提供了基于Web的界面管理工具(cobbler-web),还提供了API接口,可以方便二次开发使用。 Cobbler是较早前的kickstart的升…

    2022年11月26日
    38500

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信