MyException - 我的异常网
当前位置:我的异常网» 开源软件 » Redis 瀛︿範绗旇(浜?銆愬師鍒涖€

Redis 瀛︿範绗旇(浜?銆愬師鍒涖€

www.MyException.Cn  网友分享于:2013-02-03  浏览:0次
Redis 瀛︿範绗旇(浜?銆愬師鍒涖€?
鍏徃寮曞叆redis鏈嶅姟宸茬粡鏈変袱骞村鏃堕棿浜嗭紝鐩墠宸茬粡寰堟湁寰堝椤圭洰鍦ㄤ娇鐢紝骞朵笖涓€鐩村緢绋冲畾锛屾棩甯稿鎴风閾炬帴鏁扮淮鎸佸湪2k宸﹀彸銆傜敱浜庡師鍏堝彧鍋氫簡涓讳粠锛屾病鏈夊仛failover锛岄殢鐫€椤圭洰鐨勫澶氾紝瀛樺湪涓€瀹氱殑瀹夊叏闅愭偅锛屽洜姝ゆ渶杩戣吘鍑烘椂闂寸爺绌秗edis鏈嶅姟鍗囩骇銆?
鐩墠鍙€夌殑鏂规锛?
1锛塻entinel闆嗙兢 + redis涓讳粠
2锛塺edis cluster
涓ょ鏂规鐨勫尯鍒細
1锛塻entinel闆嗙兢 + redis涓讳粠 涓昏鏄彲闈犳€ф柟闈㈣€冭檻銆傚師鐞嗘瘮杈冪畝鍗曪紝 閫氳繃sentinel闆嗙兢瀵箁edis master杩涜鐩戞帶锛屽苟鍦ㄥ嚭鐜伴棶棰樻椂杩涜閫氱煡鍜岃嚜鍔ㄦ晠闅滆縼绉汇€傚鎴风浼氶€氳繃sentinel璁㈤槄master鍦板潃锛屽綋鍙戠敓鍒囨崲鏃讹紝浼氳嚜鍔ㄩ€氱煡瀹㈡埛绔?img src="http://dl2.iteye.com/upload/attachment/0128/4089/01e17e3d-61c9-3aad-b4b1-2819e2f9f23c.png" />
2锛塺edis cluster 涓昏浠庡彲鎵╁睍鎬у拰鍙潬鎬ц€冭檻銆俽edis cluster杩涜鍒嗙墖瀛樺偍锛屽key杩涜CRC16骞跺slots鍙栦綑锛屽瓨鍌ㄥ湪瀵瑰簲鐨剆lot涓€傚鎴风缂撳瓨slot涓巒odes鐨勫搴斿叧绯汇€?

鎴戜釜浜鸿涓轰袱鑰呯殑鏋舵瀯鐩爣鏄笉鍚岀殑锛岀涓€绉嶆柟寮忔敮鎸佺殑鏄紬澶氱殑灏忛」鐩紝鍗曚釜redis鏀寔澶氫釜db.鎴戞浘鍦ㄧ綉涓婄湅鍒版湁鐨勫叕鍙歌繍琛屼簡200澶氫釜redis瀹炰緥锛岃繖瀵圭淮鎶ら潪甯搁夯鐑︼紝涓汉璁や负杩樻槸鏀规垚澶氫釜db姣旇緝鏂逛究銆傜浜岀鏂瑰紡鏀寔鐨勬槸鏀寔瓒呴珮骞跺彂鐨勯」鐩紝杩欐椂鍊欏崟涓猺edis鐨勮闂凡缁忔垚涓虹摱棰堬紝闇€瑕佽繘琛宺edis鍒嗙墖鏉ュ垎娴佸帇鍔涖€俽edis cluster鏄笉鏀寔澶氫釜db鐨勶紝鍙敮鎸乨b0,鎸夌収瀹樼綉鐨勮娉曪紝澶氫釜涓嶇浉骞查」鐩悎骞跺湪涓€涓猺edis瀹炰緥涓笉鏄泦缇よ璁$殑鐩爣锛屽洜姝ゆ病鏈夊繀瑕佸紩鍏ヨ繖绉嶅尯鍒哾b鐨勫鏉傛€с€俽edis cluster鐢变簬瀹炵幇浜嗗垎鐗囷紝鍥犳瀵箂can,keys绛夊懡浠ょ殑鏀寔涔熸瘮杈冨急锛岄渶瑕佽繘琛屼竴瀹氱殑鏀归€犮€?
缁撳悎鐩墠鍏徃瀵箁edis鐨勪娇鐢ㄦ儏鍐碉紝鍊惧悜閫夋嫨绗竴绉嶈В鍐虫柟妗堛€?

涓€銆佷笅杞?
鐩墠瀹樼綉鏈€鏂扮増鏄?.0锛屽畼缃戣3.2鏄竴涓箙缁忚€冮獙鐨勭増鏈紝鐩稿鏉ヨ4.0杩樹笉澶熸垚鐔熴€傞偅灏变笅涓?.2鐨勫惂銆?涓嬭浇鍦板潃锛歨ttp://download.redis.io/releases/redis-3.2.11.tar.gz

浜屻€佸畨瑁?
cd /usr/local
tar -zxvf redis-3.2.11.tar.gz

涓夈€侀厤缃?
cd redis-3.2.11
vi sentinel.conf
port 26379
#鍚庡彴鍚姩
daemonize yes
#璁板綍鏃ュ織鏂囦欢
logfile "/var/log/logstash/sentinel.log"
#璁剧疆杩滅▼璁块棶鍦板潃
bind 127.0.0.1 192.168.3.10
#鐩戞帶192.168.3.131 6379鐨剅edis涓诲疄渚嬶紝sentinel浼氳嚜鍔ㄥ彂鐜板苟鐩戞帶瀹冪殑浠庡疄渚嬨€傚涓洃鎺х浉鍚宮aster鐨剆entinel浼氳嚜鍔ㄧ粍鎴愰泦缇ゃ€?2琛ㄧず鑷冲皯涓や釜sentinel瀹炰緥璁や负澶辨晥鎵嶄細鍚姩鏁呴殰杩佺Щ
sentinel monitor mymaster 192.168.3.131 6379 2
#璁剧疆杩炴帴redis master鐨勫瘑鐮?
sentinel auth-pass mymaster 123456
#濡傛灉30s娌¤繛涓婏紝鍒欒涓簉edis瀹炰緥澶辨晥
sentinel down-after-milliseconds mymaster 30000
#濡傛灉180s娌″畬鎴恌ailover锛屽垯璁や负鏈failover澶辫触锛岄噸鏂拌繘琛宖ailover
sentinel failover-timeout mymaster 180000
#鍦ㄦ墽琛屾晠闅滆浆绉绘椂锛?鏈€澶氬彲浠ユ湁澶氬皯涓粠Redis瀹炰緥鍦ㄥ悓姝ユ柊鐨勪富瀹炰緥
sentinel parallel-syncs mymaster 1
#sentinel妫€娴嬪埌redis瀹炰緥寮傚父鏃讹紝璋冪敤鎶ヨ鑴氭湰銆傝閰嶇疆椤瑰彲閫夛紝浣嗘槸寰堝父鐢ㄣ€?
sentinel notification-script mymaster /usr/local/redis-3.2.11/bin/notify.sh



閫氱煡鑴氭湰鍐欎竴鍙ユ棩蹇楋紝閫氳繃filebeat+ELK閭欢閫氱煡绠$悊鍛樸€?
mkdir bin
mkdir -p /var/log/logstash
vi /usr/local/redis-3.2.11/bin/notify.sh
echo "master failovered at `date`" > /var/log/logstash/redis_failover.log

chmod 755 ./bin/notify.sh
cd src
make && make install
cp redis-sentinel ../bin
cp redis-cli ../bin

鍥涖€佸惎鍔?
cd ../bin
redis-sentinel /usr/local/redis-3.2.11/sentinel.conf

涓や釜璀﹀憡锛?
1锛塈ncreased maximum number of open files to 10032 (it was originally set to 1024).
瑙e喅鏂规硶锛?
echo "ulimit -n 10032" >> /etc/profile
source /etc/profile
(鍙互閫氳繃ulimit -a 鏌ョ湅璁剧疆缁撴灉)

2锛塗he TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
瑙e喅鏂规硶锛?
echo "net.core.somaxconn = 512" > /etc/sysctl.conf
sysctl -p

璁剧疆寮€鏈鸿嚜鍚姩锛?
echo "redis-sentinel /usr/local/redis-3.2.11/sentinel.conf" >> /etc/rc.local

浜斻€佸仠姝?
./redis-cli -p 26379
shutdown

鍏€佹搷浣滃懡浠?
./redis-cli -p 26379
info sentinel
sentinel masters
sentinel slaves mymaster
sentinel get-master-addr-by-name mymaster
sentinel reset <pattern>
sentinel failover <master name>

涓冦€侀泦缇?
鍥犱负鎶曠エ鏈哄埗鑷冲皯闇€瑕?鍙皊entinel锛?鎵€浠ュ湪鍙﹀涓ゅ彴鏈哄櫒閲嶅浠ヤ笂鎿嶄綔銆?

鍏€佹敞鎰忛棶棰橈細
1. 濡傛灉redis鏈嶅姟璁剧疆浜嗗瘑鐮侊紝閭d箞master鐨剅edis.conf涔熻璁剧疆 masterauth "123456"锛?鍚﹀垯褰撲富浠庡垏鎹箣鍚庯紝浠庤妭鐐硅繛涓嶄笂涓昏妭鐐?
2. 闆嗙兢杩愯鍑犲ぉ涔嬪悗锛岀獊鐒跺彂鐜版祴璇曠幆澧?
master0:name=mymaster,status=sdown,address=192.168.3.131:6379,slaves=0,sentinels=1

sdown鏄鏄庝富瑙備笅绾夸簡锛宻entinels=1鏄鏄庢壘涓嶅埌鍏朵粬鐨剆entinel浜嗭紝鎵€浠ユ病鏈夎揪鍒版渶灏?绁ㄧ殑閫変妇瑕佹眰锛宻down涓嶄細鍙樻垚odown. slaves=0璇存槑娌℃湁鍙戠幇redis slave. 璨屼技鏄彂鐜版満鍒跺嚭闂浜嗐€?
妫€鏌ラ厤缃細
protected-mode yes
bind 192.168.3.18 127.0.0.1

濂藉儚涔熸病鏈夐棶棰樸€傛煡浜嗗緢涔咃紝鎶辩潃璇曡瘯鐪嬫€佸害鏀规垚锛?
protected-mode no
bind 0.0.0.0

閲嶅惎sentinel鑺傜偣灏卞ソ浜嗐€?
master0:name=mymaster,status=ok,address=192.168.3.131:6379,slaves=1,sentinels=3

鐒跺悗鎶婇厤缃敼鍥炲幓閲嶅惎锛屼篃娌℃湁闂锛屽按灏€?



文章评论

如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
程序员应该关注的一些事儿
程序员应该关注的一些事儿
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
我的丈夫是个程序员
我的丈夫是个程序员
每天工作4小时的程序员
每天工作4小时的程序员
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
不懂技术不要对懂技术的人说这很容易实现
不懂技术不要对懂技术的人说这很容易实现
2013年美国开发者薪资调查报告
2013年美国开发者薪资调查报告
5款最佳正则表达式编辑调试器
5款最佳正则表达式编辑调试器
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
鲜为人知的编程真相
鲜为人知的编程真相
什么才是优秀的用户界面设计
什么才是优秀的用户界面设计
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
编程语言是女人
编程语言是女人
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
那些性感的让人尖叫的程序员
那些性感的让人尖叫的程序员
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
10个调试和排错的小建议
10个调试和排错的小建议
一个程序员的时间管理
一个程序员的时间管理
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
Google伦敦新总部 犹如星级庄园
Google伦敦新总部 犹如星级庄园
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
程序员和编码员之间的区别
程序员和编码员之间的区别
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
为什么程序员都是夜猫子
为什么程序员都是夜猫子
漫画:程序员的工作
漫画:程序员的工作
那些争议最大的编程观点
那些争议最大的编程观点
程序员必看的十大电影
程序员必看的十大电影
总结2014中国互联网十大段子
总结2014中国互联网十大段子
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
亲爱的项目经理,我恨你
亲爱的项目经理,我恨你
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
程序员眼里IE浏览器是什么样的
程序员眼里IE浏览器是什么样的
2013年中国软件开发者薪资调查报告
2013年中国软件开发者薪资调查报告
代码女神横空出世
代码女神横空出世
程序员都该阅读的书
程序员都该阅读的书
写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
Java程序员必看电影
Java程序员必看电影
如何成为一名黑客
如何成为一名黑客
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有