`
y806839048
  • 浏览: 1106830 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

redis-sentinel安装部署

阅读更多

redis-sentinel安装部署

1.redis安装

    1)必要的linux库安装

yum install gcc
yum install tcl

     2)下载、解压、编译和安装redis

#创建redis用户和组
groupadd redis
useradd -g redis redis
#修改用户密码
passwd redis

#使用root账户切换到redis目录
cd /home/redis
#下载redis源码redis-3.2.0.tar.gz
wget http://download.redis.io/releases/redis-3.2.0.tar.gz
#解压redis-3.2.0.tar.gz
tar -zxvf redis-3.2.0.tar.gz
#编译和安装
cd /home/redis/redis-3.2.0
make
make install

    3) 安装完成后会在系统目录/usr/local/bin下生成如下文件:

 

2.redis-sentinel部署

    1)部署结构图如下


    2)3台redis节点部署并启动

        节点一192.168.173.23上做如下配置:

#1.切换到redis用户
su - redis

#2.创建部署需要的目录
#日志目录
mkdir -p /home/redis/sentinel-cluster/logs/
#数据目录
mkdir -p /home/redis/sentinel-cluster/data/
#进程目录
mkdir -p /home/redis/sentinel-cluster/pids/
#配置文件目录
mkdir -p /home/redis/sentinel-cluster/conf/

#3.复制并修改一份redis.conf文件并修改配置
cd /home/redis/sentinel-cluster/conf/
#从源代码目录下拷贝一份配置文件
cp /home/redis/redis-3.2.0/redis.conf /home/redis/sentinel-cluster/conf/redis.conf
#修改配置文件
vi /home/redis/sentinel-cluster/conf/redis.conf
#主要修改如下内容
    bind 192.168.173.23
    port 6382
    #开启redis守护进程
    daemonize yes
    #指定进程文件存放目录
    pidfile /home/redis/sentinel-cluster/pids/redis.pid
    #指定日志文件存放目录
    logfile "/home/redis/sentinel-cluster/logs/redis.log"
   data /home/redis/sentinel-cluster/data/
    dbfilename dump.rdb
    appendonly yes
    appendfilename "appendonly.aof"
    #主库认证密码
    masterauth abcd_123456
    #客户端连接密码
    requirepass abcd_123456

        节点一192.168.173.23上启动redis服务:

#默认会调用/usr/local/bin/redis-server启动服务
redis-server /home/redis/sentinel-cluster/conf/redis.conf

 

        节点二192.168.173.24上做如下配置:

#1.切换到redis用户
su - redis

#2.创建部署需要的目录
#日志目录
mkdir -p /home/redis/sentinel-cluster/logs/
#数据目录
mkdir -p /home/redis/sentinel-cluster/data/
#进程目录
mkdir -p /home/redis/sentinel-cluster/pids/
#配置文件目录
mkdir -p /home/redis/sentinel-cluster/conf/

#3.复制并修改一份redis.conf文件并修改配置
cd /home/redis/sentinel-cluster/conf/
#从源代码目录下拷贝一份配置文件
cp /home/redis/redis-3.2.0/redis.conf /home/redis/sentinel-cluster/conf/redis.conf
#修改配置文件
vi /home/redis/sentinel-cluster/conf/redis.conf
#主要修改如下内容
    bind 192.168.173.24
    port 6382
    #开启redis守护进程
    daemonize yes
    #指定进程文件存放目录
    pidfile /home/redis/sentinel-cluster/pids/redis.pid
    #指定日志文件存放目录
    logfile "/home/redis/sentinel-cluster/logs/redis.log"
    data /home/redis/sentinel-cluster/data/
    dbfilename dump.rdb
    appendonly yes
    appendfilename "appendonly.aof"
    #主库认证密码
    masterauth abcd_123456
    #客户端连接密码
    requirepass abcd_123456
    #指定本节点是节点一的从节点
    slaveof 192.168.173.23 6382

         节点二192.168.173.24上启动redis服务:

#默认会调用/usr/local/bin/redis-server启动服务
redis-server /home/redis/sentinel-cluster/conf/redis.conf

 

        节点三192.168.173.25上做如下配置:

#1.切换到redis用户
su - redis

#2.创建部署需要的目录
#日志目录
mkdir -p /home/redis/sentinel-cluster/logs/
#数据目录
mkdir -p /home/redis/sentinel-cluster/data/
#进程目录
mkdir -p /home/redis/sentinel-cluster/pids/
#配置文件目录
mkdir -p /home/redis/sentinel-cluster/conf/

#3.复制并修改一份redis.conf文件并修改配置
cd /home/redis/sentinel-cluster/conf/
#从源代码目录下拷贝一份配置文件
cp /home/redis/redis-3.2.0/redis.conf /home/redis/sentinel-cluster/conf/redis.conf
#修改配置文件
vi /home/redis/sentinel-cluster/conf/redis.conf
#主要修改如下内容
    bind 192.168.173.25
    port 6382
    #开启redis守护进程
    daemonize yes
    #指定进程文件存放目录
    pidfile /home/redis/sentinel-cluster/pids/redis.pid
    #指定日志文件存放目录
    logfile "/home/redis/sentinel-cluster/logs/redis.log"
    data /home/redis/sentinel-cluster/data/
    dbfilename dump.rdb
    appendonly yes
    appendfilename "appendonly.aof"
    #主库认证密码
    masterauth abcd_123456
    #客户端连接密码
    requirepass abcd_123456
    #指定本节点是节点一的从节点
    slaveof 192.168.173.23 6382

         节点三192.168.173.25上启动redis服务:

#默认会调用/usr/local/bin/redis-server启动服务
redis-server /home/redis/sentinel-cluster/conf/redis.conf

 

    3)3台sentinel服务部署

        节点一192.168.173.23上sentinel部署如下:

#创建sentinel配置文件sentinel.conf并修改配置
vi /home/redis/sentinel-cluster/conf/sentinel.conf
bind 192.168.173.23
#sentinel服务端口
port 26382
#开启sentinel守护进程
daemonize yes
#指定进程文件存放目录
pidfile /home/redis/sentinel-cluster/pids/sentinel.pid
#指定日志文件存放目录
logfile "/home/redis/sentinel-cluster/logs/sentinel.log"
#监听主节点192.168.173.23 6382,给监听sentinel集群名字取名为redis-sentinel,需要2个sentinel同意时候才做故障切换
sentinel monitor redis-sentinel 192.168.173.23 6382 2
sentinel down-after-milliseconds redis-sentinel 60000
sentinel failover-timeout redis-sentinel 180000
sentinel parallel-syncs redis-sentinel 1
#sentinel链接密码
sentinel auth-pass redis-sentinel abcd_123456

        节点一192.168.173.23上启动sentinel服务

#默认会调用/usr/local/bin/redis-server启动服务
redis-server /home/redis/sentinel-cluster/conf/sentinel.conf --sentinel

 

        节点二192.168.173.24上sentinel部署如下:

#创建sentinel配置文件sentinel.conf并修改配置
vi /home/redis/sentinel-cluster/conf/sentinel.conf
bind 192.168.173.24
#sentinel服务端口
port 26382
#开启sentinel守护进程
daemonize yes
#指定进程文件存放目录
pidfile /home/redis/sentinel-cluster/pids/sentinel.pid
#指定日志文件存放目录
logfile "/home/redis/sentinel-cluster/logs/sentinel.log"
#监听主节点192.168.173.23 6382,给监听sentinel集群名字取名为redis-sentinel,需要2个sentinel同意时候才做故障切换
sentinel monitor redis-sentinel 192.168.173.23 6382 2
sentinel down-after-milliseconds redis-sentinel 60000
sentinel failover-timeout redis-sentinel 180000
sentinel parallel-syncs redis-sentinel 1
#sentinel链接密码
sentinel auth-pass redis-sentinel abcd_123456

        节点二192.168.173.24上启动sentinel服务

#默认会调用/usr/local/bin/redis-server启动服务
redis-server /home/redis/sentinel-cluster/conf/sentinel.conf --sentinel

 

        节点三192.168.173.25上sentinel部署如下:

#创建sentinel配置文件sentinel.conf并修改配置
vi /home/redis/sentinel-cluster/conf/sentinel.conf
bind 192.168.173.25
#sentinel服务端口
port 26382
#开启sentinel守护进程
daemonize yes
#指定进程文件存放目录
pidfile /home/redis/sentinel-cluster/pids/sentinel.pid
#指定日志文件存放目录
logfile "/home/redis/sentinel-cluster/logs/sentinel.log"
#监听主节点192.168.173.23 6382,给监听sentinel集群名字取名为redis-sentinel,需要2个sentinel同意时候才做故障切换
sentinel monitor redis-sentinel 192.168.173.23 6382 2
sentinel down-after-milliseconds redis-sentinel 60000
sentinel failover-timeout redis-sentinel 180000
sentinel parallel-syncs redis-sentinel 1
#sentinel链接密码
sentinel auth-pass redis-sentinel abcd_123456

        节点三192.168.173.25上启动sentinel服务

#默认会调用/usr/local/bin/redis-server启动服务
redis-server /home/redis/sentinel-cluster/conf/sentinel.conf --sentinel

 

    4)节点一redis服务和sentinel服务查看


 

     红色边框标记部分是sentinel服务通过监测的主节点服务192.168.173.6382自己发现的redis从服务器,不需要自己指定,sentinel发现后自己会更新sentinel.conf配置文件

 

    5)节点二redis服务和sentinel服务查看


 

     红色边框标记部分是sentinel服务通过监测的主节点服务192.168.173.6382自己发现的redis从服务器,不需要自己指定,sentinel发现后自己会更新sentinel.conf配置文件

 

    6)节点三redis服务和sentinel服务查看


 

     红色边框标记部分是sentinel服务通过监测的主节点服务192.168.173.6382自己发现的redis从服务器,不需要自己指定,sentinel发现后自己会更新sentinel.conf配置文件

 

3.redis-sentinel部署方式下redis-stat启动

    3.1 redis-stat命令介绍

          安装参见博客 redis-stat安装

 
cd /home/redis/redis-stat-0.4.13/bin
./redis-stat --help
usage: redis-stat [HOST[:PORT] ...] [INTERVAL [COUNT]]
-a, --auth=PASSWORD Password
-v, --verbose Show more info
--style=STYLE Output style: unicode|ascii
--no-color Suppress ANSI color codes
--csv[=CSV_FILE] Print or save the result in CSV
--es=ELASTICSEARCH_URL Send results to ElasticSearch: [http://]HOST[:PORT][/INDEX]
--server[=PORT] Launch redis-stat web server (default port: 63790)
--daemon Daemonize redis-stat. Must be used with --server option.
--version Show version
--help Show this message

 

    3.2 redis-stat启动

 

linux上启动 

 

cd /home/redis/redis-stat-0.4.13/bin
./redis-stat 192.168.173.23:6382 192.168.173.24:6382 192.168.173.25:6382 --server --daemon -a abcd_123456

     启动后截图如下:



 

 

 

 

总结:

依次启动命令:

redis-server /home/redis/sentinel-cluster/conf/redis.conf

 

redis-server /home/redis/sentinel-cluster/conf/sentinel.conf --sentinel

 

redis-cli -h 192.168.13.62 -p 26382 -a abcd_123456 info replication

=============================================================================

 

 

redis Creating Server TCP listening socket Address already in use(tomcat也已一样)

先杀掉进程

 

①找到该进程;

找到redis-server 的进程 (Process Status)

输入命令:

[java] view plain copy

ps -ef | grep -i redis  

[java] view plain copy

root      3086     1  0 Apr24 ?        00:00:07 ./bin/redis-server *:6379        

root      3531  3467  0 01:00 pts/0    00:00:00 grep -i redis  

 

进程号为 3086 即为redis服务器

 

②杀死该进程;

使用kill 命令

输入命令:

[java] view plain copy

kill -9 3086  

 

③然后重新启动redis服务器。

输入命令:

[java] view plain copy

./redis-server  

 

 

java使用的时候:

 

服务启动报找不到主监听

 

根据sentinel  这个文件来sentinel monitor redis-sentinel 192.168.13.62 6382 2

 

im.hs.server.redis.sentinel.masterName=redis-sentinel(名字一致)

mymaster  ----   redis-sentinel  要填写

 

命令:

im.hs.server.redis.sentinel1.host=192.168.13.62

im.hs.server.redis.sentinel1.port=26382

#sentinel2\u7684IP\u548C\u7AEF\u53E3  

im.hs.server.redis.sentinel2.host=192.168.13.63

im.hs.server.redis.sentinel2.port=26382

#sentinel\u7684\u9274\u6743\u5BC6\u7801  

im.hs.server.redis.sentinel.masterName=redis-sentinel

 

 

连接sentinel的redis直接操作单个redis,自动同步

 

 

redis-cli -h 192.168.13.62 -p 6382

 

AUTH abcd_123456

keys

 

flushdb

 

 

 

参考:

http://aperise.iteye.com/blog/2342693

分享到:
评论

相关推荐

    bitnami-docker-redis-sentinel:Bitnami Redis前哨Docker映像

    实际上,这意味着使用Sentinel可以创建Redis部署,该部署可以在无需人工干预的情况下抵抗某些类型的故障。 Redis:trade_mark:Sentinel还提供其他附带任务,例如监视,通知,并充当客户端的配置提供程序。TL; DR $ ...

    redis-sentinel-bin.7z

    这个"redis-sentinel-bin.7z"压缩包包含了部署Redis Sentinel伪集群所需的基础组件和配置文件。下面将详细介绍Redis Sentinel、哨兵集群部署、Redis集群配置、RDB和AOF的相关知识点。 **Redis Sentinel** Redis ...

    Redis-7.0.5-x64 for Windows 64位版 Redis 7.0.5

    总的来说,Redis 7.0.5 for Windows 64位版提供了一套完整的工具集,不仅包含数据库服务器本身,还有监控、维护和性能评估工具,确保用户在Windows环境下能够顺利部署和管理Redis实例。通过配置文件的调整,可以满足...

    Redis-6.2.4 windows编译版

    6. `redis-sentinel.exe`:Redis Sentinel是高可用性解决方案的一部分,它可以监控主从集群,自动处理主服务器故障切换。 在Windows环境下,启动Redis服务器一般通过运行`redis-server.exe`来完成,同时可以配置`...

    redis 哨兵(sentinel)与springboot集成实战-redis-sentinel.zip

    Redis Sentinel是Redis的一个高可用性解决方案,它提供了监控、故障检测和自动故障转移等功能,确保在主Redis服务器出现故障时,系统能够无缝地切换到备份节点,从而保持服务的连续性和稳定性。SpringBoot是一个轻量...

    redis-sentinel.tar.gz

    Redis Sentinel 是一个重要的组件,它是 Redis 高可用性(HA)解决方案的关键部分。这个压缩包“redis-sentinel....在实际部署中,需要结合具体环境调整脚本和配置,确保 Sentinel 能够有效地服务于你的 Redis 集群。

    redis-7.2-x64-for-windows-bin.zip

    3. **run-sentinel.bat**: 这个批处理文件用于启动Redis Sentinel。Sentinel是Redis的一个组件,用于监控、故障转移和配置更新,以提供高可用性。启动此脚本可以管理和监控多个Redis实例。 4. **run-cluster.bat**:...

    Redis-x64-3.2.100免安装版配置+linux版.zip

    在部署Redis时,考虑集群模式也是重要的一步。Redis支持哨兵(Sentinel)系统,用于监控、故障检测和自动故障恢复。通过配置多个Sentinel节点,可以实现对主从节点的高可用性监控。此外,Redis Cluster是另一种集群...

    Redis-x64-5.0.14.1.msi

    Redis还提供事务、发布/订阅、持久化、主从复制和哨兵(Sentinel)高可用性方案等功能,使其成为许多分布式应用的首选内存数据库。 总的来说,"Redis-x64-5.0.14.1.msi"是Windows用户快速部署Redis的一个便捷方式,...

    Redis-x64-3.2.100-稳定版.rar

    3. **Windows 安装与配置**:Redis 通常在 Linux 环境下运行,但通过社区提供的二进制包,也可以在 Windows 上部署。解压 "Redis-x64-3.2.100-稳定版" 压缩包后,包含可执行文件 `redis-server.exe` 和配置文件 `...

    redis-sentinel集群及双机热备

    1. **部署 Sentinel 实例**:在多个独立的服务器上部署至少三个 Sentinel 实例,以保证 Sentinel 系统本身的高可用。 2. **配置 Sentinel**:每个 Sentinel 实例需要配置指向被监控的主节点及其从节点的地址,并设置...

    Redis-x64-3.2.100

    Redis 是一个开源的,高...综上所述,"Redis-x64-3.2.100"资源包为Windows用户提供了一种简单易用的方式来部署和管理Redis服务器,无论是用于开发测试还是生产环境,都能享受到Redis带来的高效和灵活的数据存储服务。

    Redis-x64-3.0.504

    在Windows环境下安装Redis-x64-3.0.504,通常只需要解压缩文件到任意目录,然后通过启动`redis-server.exe`服务来运行。这个版本可能已经包含了配置文件`redis.conf`,用户可以根据需求进行配置,如修改端口、设置...

    redis-2.21-win32-win64

    下面将详细介绍 Redis 的基本概念、功能以及与Windows相关的安装和配置。 1. **Redis的基本概念** - Redis 是“Remote Dictionary Server”的缩写,它是一个开源的、基于内存的数据结构存储系统。 - 支持数据类型...

    Redis-x64-4.0.14.2.msi+redis-desktop-manager-0.8.8.384.exe

    此外,通过配合使用Redis Sentinel或Redis Cluster实现高可用性,可以确保服务在单点故障时仍能正常运行。 总的来说,Redis在Windows环境下的部署和管理可以通过这个压缩包提供的组件得以实现。Redis服务器负责存储...

    redis-64.3.0.503-sentinel.zip

    在这个名为 "redis-64.3.0.503-sentinel.zip" 的压缩包中,包含的是 Redis Sentinel 版本 64.3.0.503 的二进制文件和其他相关资源,用于在64位操作系统上部署和管理Redis集群。 Redis 是一个开源的、基于键值对的...

    Redis-x64-3.2.100.zip

    3. **Windows安装**:通常Redis主要在Linux环境下运行,但这个压缩包包含的是专为Windows设计的MSI安装程序(Redis-x64-3.2.100.msi)。通过执行这个安装程序,用户可以在Windows系统上方便地安装和配置Redis服务。 ...

    Redis-x64-win-3.2.100+nginx-win

    Redis 和 Nginx 是两种非常重要的开源软件,广泛应用于现代...不过,对于大规模的生产部署,可能需要考虑使用更高级的集群方案,如 Redis Sentinel 或 Cluster,以及更现代的 Nginx 版本,以获得更好的扩展性和安全性。

    redis-sentinel介绍.rar

    Redis Sentinel通常部署为多个实例,以提高自身的可用性和决策的一致性。每个Sentinel实例都会与其他Sentinel实例进行通信,共同决定何时触发故障转移。 3. **故障转移过程** - **主观下线(SDOWN)**:单个...

Global site tag (gtag.js) - Google Analytics