轻松掌握组件启动之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

相关推荐

  • docker image tag为什么出现none

    背景 公司项目是基于容器化架构设计,具体业务也拆成了多个微服务及对应了多个docker image镜像。研发环境中会频繁进行升级image镜像,导致出现很多image为 <none> 命名的镜像,这种也称为悬空镜像。 本篇文章将展示几种现象会导致这种情况发生。下文演示环境,版本信息如下: 现象一 前提条件:在同环境中两个镜像名称:tag都相同,imag…

    2023年10月20日
    29300
  • CDN 加速 – 隐藏真实 IP – 复活 IP

    CDN 一词相信很多朋友都不会陌生,网上也经常会看到相关报道。或许大部分人都知道 CDN 加速可以提升网站的打开速度及用户下载资源的速度,而同时也有不少朋友还不清楚 CDN 是什么?有什么用途?它是如何实现加速的呢?下面为大家整理了一些通俗易懂的知识点。 CDN 是什么 CDN 的全称:CONTENT DELIVERY NETWORK,即 内容分发…

    2023年11月9日
    16700
  • apache 设置ssl证书

    安装模块 安装mod_ssl和openssl 创建密钥存放的目录 上传证书和密钥到/etc/httpd/ssl目录下 验证证书和密钥的MD5 编辑配置文件 修改ssl.conf文件 打开ssl模块功能 在 /etc/httpd/conf.modules.d 目录下的 00-ssl.conf 配置文件找到 LoadModule ssl_module modul…

    2022年11月29日
    38300
  • Linux访问远程FTP服务器并下载文件

    一、安装ftp客户端工具 二、客户端连接ftp服务器 三、上传下载文件 1、下载文件 备注: ①文件都下载到了linux 主机的当前目录下。比如,在 /home/ftp下运行的ftp命令,则文件都下载到了/home/ftp 下。②如果想制定下载路径,需要在ftp用到 lcd 命令 2、上传文件 备注: 上传文件都来自于主机的当前目录下。比如,在 /home/…

    2023年11月8日
    27500
  • Centos7.6安装MySQL(超详细)

    1、查看是否已经安装Mysql rpm -qa | grep mysql 我已经安装过了 如果你查看出来有东西,可以使用下面命令将其删除 rpm -e 文件名 如果提示warning: waiting for transaction lock on /var/lib/rpm/.rpm.lock,则需要执行 2、下载官方Mysql包 wget -i -c ht…

    2022年6月9日
    75200

发表回复

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

在线咨询: QQ交谈

邮件:712342017@qq.com

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

关注微信