linux配置系列之redis哨兵配置

一、浩言

很精辟的一段话,"未曾清贫难做人,不经打击永天真;成熟不过是善于隐藏,沧桑不过是无泪有伤。"

二、redis的高可用

redis的主从配置比较容易,主从配置后,主主要进行写的操作,从主要进行读的操作,那么如果主挂了,是不是就没法进行写了?所以redis中可以进行哨兵的配置,具有高可用性,即是在主挂了之后,哨兵检测到后,会在从中进行投票,投票数多的晋升为主。这个配置可折腾我了,按照找的资料进行了哨兵的配置,可是当我把主服务停掉之后,从还在一致尝试连接主

2.1初次配置问题

启动哨兵日志

Paste_Image.png

停掉主后从的日志

Paste_Image.png

停掉后哨兵中,日志情况

Paste_Image.png

2.2解决如下

就是这个问题我一直尝试找到解决办法,看了其中" sentinel-16379.conf"中的配置差不多,跟网上的一样。但是就是不行。
sentinel-16379.conf配置如下

Paste_Image.png

port 26379
dir "/tmp"
sentinel myid d0d116de4fe76badfeea68e27b0e7c6ac0397f8b
sentinel monitor mymaster 10.10.39.105 16380 1
sentinel down-after-milliseconds mymaster 600
sentinel failover-timeout mymaster 1800
sentinel auth-pass mymaster 123456
maxclients 4064
sentinel config-epoch mymaster 13740
sentinel leader-epoch mymaster 13740
sentinel known-slave mymaster 10.10.39.104 16379
sentinel current-epoch 13740

这是我把这个配置文件的注释和空格都去掉后的结果
实际中我修改了如下几个配置

sentinel monitor mymaster 10.10.39.105 16380 1
sentinel down-after-milliseconds mymaster 600
sentinel failover-timeout mymaster 1800
sentinel auth-pass mymaster 123456

其他的可能都是自动生成的。当然你也可以自己指定日志位置。
auth-pass是因为我的主中做了配置密码了。
官网的配置说明:https://redis.io/topics/sentinel

Paste_Image.png

所以那为什么我的哨兵没有起作用了,最后我找了公司运维一起看,问题的原因就是我的从中的bind的这个属性没有做配置。

bind 10.10.39.105

加上了这个,all done!!!
如果你直接使用

./src/redis-cli  -p 13680

报错如下

Could not connect to Redis at 127.0.0.1:16380: Connection refused
Could not connect to Redis at 127.0.0.1:16380: Connection refused

因为bind只配置了10.10.39.105所以连接如下

 ./src/redis-cli -h 10.10.39.105 -p 16380

2.3测试哨兵

哨兵启动结果


Paste_Image.png
Paste_Image.png

干掉主进程

kill_process_Image.png

哨兵的日志打印状况

sen_log_Image.png

从服务器的日志情况:

slave_log_Image.png

连接39.105设置数据如下

Paste_Image.png

2.4此时在启动39.104再次测试

哨兵监控如下:

sen_info_new_Image.png

39.105的主上显示已经连接上
Paste_Image.png

39.104本身显示连上主
Paste_Image.png

测试从是否可以设置数据

Paste_Image.png

在主上设置数据

Paste_Image.png

在从上get数据

Paste_Image.png

三:问题说明
上面也说了,第一次没有成功的原因是因为bind问题

# By default, if no "bind" configuration directive is specified, Redis listens
# for connections from all the network interfaces available on the server.
# It is possible to listen to just one or multiple selected interfaces using
# the "bind" configuration directive, followed by one or more IP addresses.
#
# Examples:
#
# bind 192.168.1.100 10.0.0.1
# bind 127.0.0.1 ::1
#
# ~~~ WARNING ~~~ If the computer running Redis is directly exposed to the
# internet, binding to all the interfaces is dangerous and will expose the
# instance to everybody on the internet. So by default we uncomment the
# following bind directive, that will force Redis to listen only into
# the IPv4 lookback interface address (this means Redis will be able to
# accept connections only from clients running into the same computer it
# is running).
#
# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES
# JUST COMMENT THE FOLLOWING LINE.
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

我尝试翻译下如下

默认的,如果没有bind的配置指令,redis监听服务上的所有连接,如果你仅仅监听一个或者多个的话,bind的配置,按照如下的一个或者多个ip的方式
警告:如果电脑上的redis直接暴露给网络,绑定所有的了地址是危险的并且将会暴露给在网路上的每一个人。所以我们默认的取消注释,强制的配置了一个IPV4的回环地址。(那就意味着在redis运行时只可以接收来自本电脑的连接)。
所以对于指定本机的ip的问题,我的理解就是,在主挂了后,哨兵需要连接到从,唤醒从并修改从的配置,如果不指定或者指定127.0.0.1是不行的,前一个是太多选择没有唯一,后面一个也说了只能在自己的电脑上连接。

四:浩语

                                           __                                                        
                            __  _  ____ __|  |__ _____    ___
                            \ \/ \/ /  |  \  |  \\__  \  /  _ \   
                             \     /|  |  /   Y  \/ __ \(  <_> )
                              \/\_/ |____/|___|  (____  /\____/ 
                                                    \/     \/          
                                 任何事情都是要靠努力和用心。                                                   
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 202,802评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,109评论 2 379
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,683评论 0 335
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,458评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,452评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,505评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,901评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,550评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,763评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,556评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,629评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,330评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,898评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,897评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,140评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,807评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,339评论 2 342

推荐阅读更多精彩内容