-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmy-哨兵.html
118 lines (105 loc) · 5.16 KB
/
my-哨兵.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>商伟的技术博客</title>
<meta name="description" content="">
<meta name="author" content="商伟">
<!-- HTML5 shim, for IE6-8 support of HTML elements -->
<!--[if lt IE 9]>
<script src="/theme/html5.js"></script>
<![endif]-->
<!-- Styles -->
<link href="/theme/bootstrap.min.css" rel="stylesheet">
<link href="/theme/local.css" rel="stylesheet">
<link href="/theme/pygments.css" rel="stylesheet">
<!-- Feeds -->
</head>
<body>
<div class="topbar">
<div class="topbar-inner">
<div class="container-fluid">
<a class="brand" href="/">商伟的技术博客</a>
<ul class="nav">
<li class="active"><a href="/category/my-shang.html">my-shang</a></li>
</ul>
<p class="pull-right"><a href="/archives.html">[archives]</a> <a href="/tags.html">[tags]</a></p>
</div>
</div>
</div>
<div class="container-fluid">
<div class="sidebar">
<div class="well">
<h3>Blogroll</h3>
<ul>
<li><a href="http://getpelican.com/">Pelican</a></li>
<li><a href="http://python.org/">Python.org</a></li>
<li><a href="http://jinja.pocoo.org/">Jinja2</a></li>
<li><a href="#">You can modify those links in your config file</a></li>
</ul>
<div class="social">
<h3>Social</h3>
<ul>
<li><a href="#">You can add links in your config file</a></li>
<li><a href="#">Another social link</a></li>
</ul>
</div>
</div>
</div>
<div class="content">
<div class='article'>
<div class="page-header"><h1>redis哨兵模式</h1></div>
<div class="well small">Permalink: <a class="more" href="/my-哨兵.html">2019-08-08 18:44:00+02:00</a>
by <a class="url fn" href="/author/shang-wei.html">商伟 </a>
in <a href="/category/my-shang.html">my-shang</a>
tags: <a href="/tag/shang.html">shang</a> </div>
<div><h1>Redis哨兵(Sentinel)模式</h1>
<h2>一、概述</h2>
<p>哨兵通过发送命令。等待Redis服务器响应,从而监控运行的多个Redis实例</p>
<p><img alt="1574609729003" src="http://c.biancheng.net/uploads/allimg/190725/5-1ZH51400314I.png"></p>
<h3>哨兵作用</h3>
<ul>
<li>通过发送命令,让Redis服务器返回 监控其运行状态,包括主服务器和从服务器</li>
<li>当哨兵监测到master宕机,会自动将slave(从)切换成master(主),然后通过‘发布订阅模式’ 通知其他从服务器,修改配置文件,让他们切换主机</li>
</ul>
<h2>二、配置redis主从服务器</h2>
<ol>
<li>修改redis.conf</li>
</ol>
<div class="highlight"><pre><span></span> <span class="c1"># redis服务器可以跨网络访问</span>
<span class="n">bind</span> <span class="mf">0.0</span><span class="o">.</span><span class="mf">0.0</span>
<span class="c1"># 设置密码</span>
<span class="n">requirepass</span> <span class="s1">'123'</span>
<span class="c1"># 指定主服务器(只配置从服务器,主服务器不需要配置)</span>
<span class="n">slaveof</span> <span class="mf">192.168</span><span class="o">.</span><span class="mf">11.128</span> <span class="mi">6379</span>
<span class="c1"># 主服务器密码</span>
<span class="n">masterauth</span> <span class="mi">123</span>
</pre></div>
<ol>
<li>配置3个哨兵,每个哨兵的配置都是一样的。在Redis安装目录下有一个sentinel.conf文件,copy一份进行修改</li>
</ol>
<div class="highlight"><pre><span></span> <span class="c1"># 禁止保护模式</span>
<span class="n">protected</span><span class="o">-</span><span class="n">mode</span> <span class="n">no</span>
<span class="c1"># 配置监听的主服务器</span>
<span class="c1"># 监控 服务器的名称 监控的主服务器 端口 </span>
<span class="n">sentinel</span> <span class="n">monitor</span> <span class="n">mymaster</span> <span class="mf">192.168</span><span class="o">.</span><span class="mf">11.128</span> <span class="mi">6379</span> <span class="mi">2</span> <span class="c1"># '2' 只有两个或两个以上的哨兵认为主服务器不可用的时候,才会进行failover操作</span>
<span class="c1"># 定义服务器密码</span>
<span class="n">sentinel</span> <span class="n">auth</span><span class="o">-</span><span class="k">pass</span> <span class="n">mymaster</span> <span class="mi">123</span>
</pre></div>
<ol>
<li>启动服务器和哨兵(进入redis下的src)</li>
</ol>
<div class="highlight"><pre><span></span> <span class="c1"># 启动redis服务器进程</span>
<span class="o">./</span><span class="n">redis</span><span class="o">-</span><span class="n">server</span> <span class="o">../</span><span class="n">redis</span><span class="o">.</span><span class="n">conf</span>
<span class="c1"># 启动哨兵进程</span>
<span class="o">./</span><span class="n">redis</span><span class="o">-</span><span class="n">sentinel</span> <span class="o">../</span><span class="n">sentinel</span><span class="o">.</span><span class="n">conf</span>
</pre></div></div>
</div>
<footer>
<p>Powered by <a href="http://getpelican.com/">Pelican</a>. Theme based on <a href="http://twitter.github.com/bootstrap/">Twitter Bootstrap</a>.</p>
<p>© 商伟</p>
</footer>
</div>
</div>
</body>
</html>