redis的部署方式

235 阅读4分钟

Redis有以下几种常见的部署方式:

1. 单机部署

  • 安装Redis
    • 在大多数Linux系统上,可以使用包管理器进行安装。以Ubuntu为例,使用以下命令安装Redis:
    sudo apt-get update
    sudo apt-get install redis - server
    
    • 在CentOS系统中,可以使用yum命令安装:
    yum install epel - release
    yum install redis
    
  • 配置Redis
    • 主要的配置文件通常是/etc/redis/redis.conf(在不同的操作系统和安装方式下可能位置稍有不同)。
    • 一些重要的配置参数包括:
      • bind:指定Redis监听的IP地址。默认情况下,它可能监听在127.0.0.1,如果需要外部访问,可以将其修改为服务器的实际IP地址或者0.0.0.0(允许所有IP访问,但存在安全风险)。例如:bind 0.0.0.0
      • port:指定Redis服务监听的端口,默认是6379。可以修改为其他未被占用的端口。
      • daemonize:设置为yes时,Redis会以守护进程的方式在后台运行。例如:daemonize yes
  • 启动和停止服务
    • 启动Redis服务:在Ubuntu下可以使用service redis - server start,在CentOS下可以使用systemctl start redis
    • 停止Redis服务:在Ubuntu下是service redis - server stop,在CentOS下是systemctl stop redis

2. 主从复制部署

  • 安装Redis(同单机安装)
    • 在多台服务器(主节点和从节点)上按照单机部署的方式安装Redis。
  • 配置主从关系
    • 主节点(假设IP为192.168.1.100)基本配置和单机类似,主要修改bindport等参数。
    • 从节点(假设IP为192.168.1.101)在配置文件redis.conf中添加以下配置来指定主节点:
    slaveof 192.168.1.100 6379
    
    • 启动从节点服务后,它会自动连接到主节点,并开始复制主节点的数据。从节点会定期从主节点同步数据更新,以保持数据的一致性。
  • 验证主从关系
    • 可以通过在主节点和从节点上分别执行Redis命令来验证。在主节点上执行INFO replication,会显示类似如下信息:
    # Replication
    role:master
    connected_slaves:1
    slave0:ip=192.168.1.101,port=6379,state=online,offset=12345,...
    
    • 在从节点上执行INFO replication,会显示:
    # Replication
    role:slave
    master_host:192.168.1.100
    master_port:6379
    master_link_status:up
    

3. 哨兵(Sentinel)模式部署

  • 安装Redis和Sentinel(在多台服务器上)
    • 首先在每个节点按照单机部署方式安装Redis。
    • 然后安装Sentinel组件,在Redis安装目录下一般有sentinel.conf配置文件。
  • 配置Sentinel
    • 编辑sentinel.conf文件,配置监控的主节点信息。例如:
    sentinel monitor mymaster 192.168.1.100 6379 2
    
    • 其中mymaster是主节点的名称(自定义),192.168.1.100是主节点的IP地址,6379是主节点的端口,2表示当有两个Sentinel认为主节点不可达时,才进行故障转移。
    • 还可以配置其他参数,如sentinel down - after - milliseconds mymaster 30000,表示如果Sentinel在30秒内无法连接到主节点,则认为主节点下线。
  • 启动Sentinel服务
    • 在安装了Sentinel的服务器上,通过以下命令启动Sentinel(以redis - sentinel命令为例):
    redis - sentinel /path/to/sentinel.conf
    
    • 当主节点出现故障时,Sentinel会自动选举一个从节点作为新的主节点,并将其他从节点的复制关系重新配置,从而实现高可用性。

4. 集群(Cluster)模式部署

  • 安装Redis(在多台服务器上)
    • 在集群中的每个节点服务器上按照单机安装方式安装Redis。
  • 创建集群
    • 首先,在每个节点的redis.conf配置文件中开启集群模式相关的配置,如设置cluster - enabled yes
    • 可以使用redis - trib.rb工具(在Redis安装目录的src子目录下)来创建集群。例如,假设有6个节点,IP地址分别为192.168.1.100 - 192.168.1.105,端口都是6379,可以使用以下命令创建集群:
    redis - trib.rb create --replicas 1 192.168.1.100:6379 192.168.1.101:6379 192.168.1.102:6379 192.168.1.103:6379 192.168.1.104:6379 192.168.1.105:6379
    
    • 其中--replicas 1表示每个主节点有一个从节点,用于数据冗余和故障恢复。
  • 验证集群
    • 可以通过redis - cli连接到集群中的任意一个节点,然后执行cluster info命令来查看集群的基本信息,如集群状态、节点数量等。也可以执行cluster nodes命令来查看集群中各个节点的详细信息,包括节点ID、IP地址、端口、角色(主节点或从节点)以及它们之间的连接关系等。