redis集群搭建

安装redis;

哨兵原理介绍

Sentinel 哨兵,上其他网站很多

配置主:

redis-cli --cluster create 172.16.71.183:7001 172.16.71.183:7002 172.16.71.183:7003 --cluster-replicas 0
这里--cluster-replicas 0表示不为以上主建立从【我们自己手动添加】;

从配置

注意:从配置需要添加masterauth xxxxx 添加主的密码,否则下面的命令执行完后,任然会是失败的;
往集群添加从:
redis-cli --cluster add-node 172.16.71.183:7006 172.16.71.183:7001 --cluster-slave --cluster-master-id 18b31f22eccc86ca13bcd992776cd3987b572441 -a password

配置哨兵

哨兵的可执行文件就是redis-server,哨兵配置示例:

# Example sentinel.conf  
  
# port <sentinel-port>  
# The port that this sentinel instance will run on  
port 27000  
  
# dir <working-directory>  
# Every long running process should have a well-defined working directory.  
# For Redis Sentinel to chdir to /tmp at startup is the simplest thing  
# for the process to don't interfere with administrative tasks such as  
# unmounting filesystems.  
dir /tmp  
  
# sentinel monitor <master-name> <ip> <redis-port> <quorum>  
#  
# Tells Sentinel to monitor this master, and to consider it in O_DOWN  
# (Objectively Down) state only if at least <quorum> sentinels agree.  
#  
# Note that whatever is the ODOWN quorum, a Sentinel will require to  
# be elected by the majority of the known Sentinels in order to  
# start a failover, so no failover can be performed in minority.  
#  
# Slaves are auto-discovered, so you don't need to specify slaves in  
# any way. Sentinel itself will rewrite this configuration file adding  
# the slaves using additional configuration options.  
# Also note that the configuration file is rewritten when a  
# slave is promoted to master.  
#  
# Note: master name should not include special characters or spaces.  
# The valid charset is A-z 0-9 and the three characters ".-_".  
sentinel monitor master1 127.0.0.1 7000 1 
sentinel monitor master2 127.0.0.1 7004 1  
sentinel monitor master3 127.0.0.1 7005 1  
  
# sentinel down-after-milliseconds <master-name> <milliseconds>  
#  
# Number of milliseconds the master (or any attached slave or sentinel) should  
# be unreachable (as in, not acceptable reply to PING, continuously, for the  
# specified period) in order to consider it in S_DOWN state (Subjectively  
# Down).  
#  
# Default is 30 seconds.  
sentinel down-after-milliseconds master1 30000  
sentinel down-after-milliseconds master2 30000  
sentinel down-after-milliseconds master3 30000  
  
# sentinel parallel-syncs <master-name> <numslaves>  
#  
# How many slaves we can reconfigure to point to the new slave simultaneously  
# during the failover. Use a low number if you use the slaves to serve query  
# to avoid that all the slaves will be unreachable at about the same  
# time while performing the synchronization with the master.  
sentinel parallel-syncs master1 1  
sentinel parallel-syncs master2 1  
sentinel parallel-syncs master3 1  
  
# sentinel failover-timeout <master-name> <milliseconds>  
#  
# Specifies the failover timeout in milliseconds. It is used in many ways:  
#  
# - The time needed to re-start a failover after a previous failover was  
#   already tried against the same master by a given Sentinel, is two  
#   times the failover timeout.  
#  
# - The time needed for a slave replicating to a wrong master according  
#   to a Sentinel current configuration, to be forced to replicate  
#   with the right master, is exactly the failover timeout (counting since  
#   the moment a Sentinel detected the misconfiguration).  
#  
# - The time needed to cancel a failover that is already in progress but  
#   did not produced any configuration change (SLAVEOF NO ONE yet not  
#   acknowledged by the promoted slave).  
#  
# - The maximum time a failover in progress waits for all the slaves to be  
#   reconfigured as slaves of the new master. However even after this time  
#   the slaves will be reconfigured by the Sentinels anyway, but not with  
#   the exact parallel-syncs progression as specified.  
#  
# Default is 3 minutes.  
sentinel failover-timeout master1 180000  
sentinel failover-timeout master2 180000  
sentinel failover-timeout master3 180000  

其中master1 后面的就是主的ip和端口

好了后,执行redis-sentinel sentinel1.conf --sentinel即可;

如果存在问题,最好在conf中添加上logfile的配置,以便查看问题;

redis-cli命令后,可以看集群状态:
cluster nodes:列出集群所有节点;
info:查看本节点状态,可以看到是master还是slave,还有slave连接的个数【之前没配置masterauth,所以一直没连接上,但是也不报错】;另外注意:slave的配置文件中,不能把slaveof配置打开,但是要配masterauth,之前一直以为这个slaveof没开,所以masterauth也不用设置,真是坑!!!

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