单机配置启动

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主从架构搭建,配置从节点步骤:

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哨兵架构的步骤:

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实例,每台机器上都会有一个主节点和一个从节点。下面是搭建集群的步骤:

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来解决实际问题。

轻松掌握组件启动之Redis单机、主从、哨兵、集群配置的更多相关文章

  1. Redis集合 安装 哨兵集群 配置

    redis相关 redis基础 redis发布订阅 redis持久化RDB与AOF redis不重启,切换RDB备份到AOF备份 redis安全配置 redis主从同步 redis哨兵集群 redis ...

  2. Redis主从&哨兵集群搭建

    主从集群 在搭建主从集群前,我们先把Redis安装起来: #解压Redis压缩包 [root@master lf]# tar -zxvf redis-6.2.1.tar.gz -- #安装gcc [r ...

  3. Redis高可用之集群配置(六)

    0.Redis目录结构 1)Redis介绍及部署在CentOS7上(一) 2)Redis指令与数据结构(二) 3)Redis客户端连接以及持久化数据(三) 4)Redis高可用之主从复制实践(四) 5 ...

  4. Redis 3.0 Cluster集群配置

    Redis 3.0 Cluster集群配置 安装环境依赖 安装gcc:yum install gcc 安装zlib:yum install zib 安装ruby:yum install ruby 安装 ...

  5. 阿里云ECS部署Redis主备哨兵集群遇到的问题

    一.部署 详细部署步骤:https://blog.csdn.net/lihongtai/article/details/82826809 Redis5.0版本需要注意的参数配置:https://www ...

  6. C#两大知名Redis客户端连接哨兵集群的姿势

    前言 前面利用<Docker-Compose搭建Redis高可用哨兵集群>, 我们的思路是将Redis.Sentinel.Redis Client App链接到同一个网桥网络,这个网桥内的 ...

  7. Redis单机安装以及集群搭建

    今天主要来看一下Redis的安装以及集群搭建(我也是第一次搭建). 环境:CentOS 7.1,redis-5.0.7 一.单机安装 1.将Redis安装包放置服务器并解压 2.进入redis安装目录 ...

  8. 三千字介绍Redis主从+哨兵+集群

    一.Redis持久化策略 1.RDB 每隔几分钟或者一段时间会将redis内存中的数据全量的写入到一个文件中去. 优点: 因为他是每隔一段时间的全量备份,代表了每个时间段的数据.所以适合做冷备份. R ...

  9. redis 单机模拟 cluster集群

    一.redis-cluster设计 Redis集群搭建的方式有多种,例如使用zookeeper等,但从redis 3.0之后版本支持redis-cluster集群,Redis-Cluster采用无中心 ...

  10. 【Redis学习专题】- Redis主从+哨兵集群部署

    集群版本: redis-4.0.14 集群节点: 节点角色 IP redis-master 10.100.8.21 redis-slave1 10.100.8.22 redis-slave2 10.1 ...

随机推荐

  1. 《最新出炉》系列初窥篇-Python+Playwright自动化测试-6-元素定位大法-下篇

    1.简介 上一篇主要是讲解我们日常工作中在使用Playwright进行元素定位的一些比较常用的定位方法的理论基础知识以及在什么情况下推荐使用.今天这一篇讲解和分享一下,在日常中很少用到或者很少见的定位 ...

  2. curl 调用url时带有&符号被截断

    转载请注明出处: 用curl命令在服务器上调试接口时,一直调试不通,执行如下: 在用curl 执行之后,返回了一个 作业id [ 1 ] 23926 ; 并打印出了 调用执行的url,发现 真正执行的 ...

  3. ITIL4与Devops(一)

    目录 一.服务管理与ITIL 1.1 服务管理现状 1.2 服务管理原则 1.3 ITIL版本发展历程 ITIL2 服务支持 服务交付 服务战略 ITIL3 框架 职能 ITIL 2011 流程的基本 ...

  4. 园子的商业化努力-阿里云开发者社区合作:RDS MySQL Serverless 免费试用活动

    阿里云开发者社区这个月组织了一个针对"云数据库 RDS MySQL Serverless 版"免费试用用户的做任务活动,上周找园子合作,希望能在园子里推广一下这个活动. 由于时间太 ...

  5. 在webpack中这样分离环境和代码就好啦

    前面的文章中,webpack.config.js 中包含本地调试和线上发布的所有配置,编译后的 bundle.js 包含所有的代码. 当项目变大.代码量变多.配置增加的时候,文件的可维护性会越来越差, ...

  6. quarkus依赖注入之十二:禁用类级别拦截器

    欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本篇是<quarkus依赖注入> ...

  7. Programming abstractions in C阅读笔记:p107-p110

    <Programming Abstractions In C>学习第46天,p107-p110,3.1小节--"The concept of interface",总结 ...

  8. 《深入理解Java虚拟机》读书笔记:字节码指令简介

    字节码指令简介 Java虚拟机的指令由一个字节长度的.代表着某种特定操作含义的数字(称为操作码,Opcode)以及跟随其后的零至多个代表此操作所需参数(称为操作数,Operands)而构成.由于Jav ...

  9. Nginx Ingress Contoller 通过 Envoy 代理和 Jaeger 进行分布式追踪(二)

    1.概述 在<应用程序通过 Envoy 代理和 Jaeger 进行分布式追踪(一)>一文中,我们详细介绍了单个应用程序如何通过 Envoy 和 Jaeger 实现链路追踪的过程.然而,单独 ...

  10. 图解Spark Graphx实现顶点关联邻接顶点的函数原理

    一.场景案例 在一张社区网络里,可能需要查询出各个顶点邻接关联的顶点集合,类似查询某个人关系比较近的都有哪些人的场景. 在用Spark graphx中,通过函数collectNeighbors便可以获 ...