單機(jī)部署
下載地址http://redis.io/download
安裝步驟:
1 首先需要安裝gcc宁否,把下載好的redis-3.0.0-rc2.tar.gz 放到linux /usr/local文件夾下
2 進(jìn)行解壓 tar -zxvf redis-3.0.0-rc2.tar.gz
3 進(jìn)入到redis-3.0.0目錄下,進(jìn)行編譯 make
4 進(jìn)入到src下進(jìn)行安裝 make install? 驗(yàn)證(ll查看src下的目錄缀遍,有redis-server 家淤、redis-cil即可)
5 建立倆個(gè)文件夾存放redis命令和配置文件
mkdir -p /usr/local/redis/etc
mkdir -p /usr/local/redis/bin
6 把redis-3.0.0下的redis.conf 移動到/usr/local/redis/etc下,
? cp redis.conf /usr/local/redis/etc/
7 把redis-3.0.0/src里的mkreleasehdr.sh瑟由、redis-benchmark、redis-check-aof冤寿、redis-check-dump歹苦、redis-cli、redis-server
文件移動到bin下督怜,命令:
mv mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server /usr/local/redis/bin
8 啟動時(shí)并指定配置文件:./redis-server /usr/local/redis/etc/redis.conf(注意要使用后臺啟動殴瘦,所以修改redis.conf里的 daemonize 改為yes)
9 驗(yàn)證啟動是否成功:
ps -ef | grep redis 查看是否有redis服務(wù) 或者 查看端口:netstat -tunpl | grep 6379
進(jìn)入redis客戶端 ./redis-cli 退出客戶端quit
退出redis服務(wù):
(1)pkill redis-server 、
(2)kill 進(jìn)程號号杠、
(3)/usr/local/redis/bin/redis-cli shutdown
6.外網(wǎng)怎么測試連接redis服務(wù)器呢蚪腋,首先需要防火墻允許redis端口6379開放出來。
a) iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 6379 -j ACCEPT
#允許6379端口
b) service iptables save? #保存iptables規(guī)則
c) iptables -nvL 查看iptables表的規(guī)則
主從配置
主服務(wù)器redis不做任何操作
從服務(wù)器redis在redis.conf 文件上
加上?
slaveof
哨兵
在其中一臺從服務(wù)器配置sentinel.conf
(1)copy文件sentinel.conf?到/usr/local/redis/etc/中
(2)修改?sentinel.conf?文件
sentinel?monitor?mymaster?192.168.204.130?6379 1
sentinel?monitor?<名稱(任意)>??<端口> <投票獲得票數(shù)>
sentinel?down-after-milliseconds?mymaster?5000?默認(rèn)?1秒檢測一次姨蟋,這里配置5s為宕機(jī)狀態(tài)
sentinel?parallel-syncs?mymaster?2??多少個(gè)從節(jié)點(diǎn)參與哨兵選舉
sentinel?failover-timeout?mymaster?180000??主節(jié)點(diǎn)過期失效的時(shí)間
啟動哨兵
./redis-server?/user/local/redis/etc/sentinel.conf --sentinel&?(&?表示在后臺啟動屉凯,默認(rèn)端口是?26379)
查看哨兵信息
./redis-cli?-h?192.168.204.131?-p?26379?info?sentinel
?Redis?3.0?集群搭建?
/*********************?Redis?3.0?集群搭建?********************************/
在redis3.0以前,提供了Sentinel工具來監(jiān)控各Master的狀態(tài);
如果Master異常眼溶,則會做主從切換悠砚,將slave作為master,將master作為slave堂飞。
其配置也是稍微的復(fù)雜灌旧,并且各方面表現(xiàn)一般。現(xiàn)在redis3.0已經(jīng)支持集群的容錯(cuò)功能绰筛,并且非常簡單枢泰。
下面我們來進(jìn)行學(xué)習(xí)下redis3.0如何搭建集群。
集群搭建:至少要三個(gè)master
------------------------------------------------------------------------
第一步:創(chuàng)建一個(gè)文件夾redis-cluster铝噩,然后在其下面分別創(chuàng)建6個(gè)文件夾如下:
(1)mkdir?-p?/usr/local/redis-cluster?
(2)mkdir?7001衡蚂、mkdir?7002、mkdir?7003、mkdir?7004讳窟、mkdir?7005让歼、mkdir?7006
第二步:把之前的redis.conf配置文件分別copy到700*下,進(jìn)行修改各個(gè)文件內(nèi)容丽啡,也就是對700*下的每一個(gè)copy的redis.conf文件進(jìn)行修改谋右!如下:(1)daemonize?yes
(2)port?700*(分別對每個(gè)機(jī)器的端口號進(jìn)行設(shè)置)
(3)bind?192.168.1.171(必須要綁定當(dāng)前機(jī)器的ip,不然會無限悲劇下去哇..深坑勿入2构俊8闹础!)
(4)dir?/usr/local/redis-cluster/700*/(指定數(shù)據(jù)文件存放位置坑雅,必須要指定不同的目錄位置辈挂,不然會丟失數(shù)據(jù),深坑勿入9痢V盏佟!)
(5)cluster-enabled?yes(啟動集群模式遥诉,開始玩耍)
(6)cluster-config-file?nodes700*.conf(這里700x最好和port對應(yīng)上)
(7)cluster-node-timeout?5000
(8)appendonly?yes
第三步:注意每個(gè)文件要修改端口號拇泣,bind的ip,數(shù)據(jù)存放的dir矮锈,并且nodes文件都需要進(jìn)行修改霉翔!
第四步:由于redis集群需要使用ruby命令,所以我們需要安裝ruby
(1)yum?install?ruby
(2)yum?install?rubygems
(3)gem?install?redis?(安裝redis和ruby的接口)
第五步:分別啟動6個(gè)redis實(shí)例苞笨,然后檢查是否啟動成功
(1)usr/local/redis/bin/redis-server?/usr/local/redis-cluster/700*/redis.conf?
(2)ps?-el?|?grep?redis?查看是否啟動成功
第六步:首先到redis3.0的安裝目錄下债朵,然后執(zhí)行redis-trib.rb命令。
(1)cd?/usr/local/redis3.0/src
(2)./redis-trib.rb??create?--replicas?1?192.168.1.171:7001?192.168.1.171:7002?192.168.1.171:7003?192.168.1.171:7004?192.168.1.171:7005?192.168.1.171:7006
第七步:到此為止我們集群搭建成功瀑凝!進(jìn)行驗(yàn)證:
(1)連接任意一個(gè)客戶端即可:./redis-cli?-c?-h?-p?(-c表示集群模式序芦,指定ip地址和端口號)如:/usr/local/redis/bin/redis-cli?-c?-h?192.168.1.171?-p?700*
(2)進(jìn)行驗(yàn)證:cluster?info(查看集群信息)、cluster?nodes(查看節(jié)點(diǎn)列表)
(3)進(jìn)行數(shù)據(jù)操作驗(yàn)證
(4)關(guān)閉集群則需要逐個(gè)進(jìn)行關(guān)閉猜丹,使用命令:usr/local/redis/bin/redis-cli?-c?-h?192.168.1.171?-p?700*?shutdown
第八步:(補(bǔ)充)
友情提示:當(dāng)出現(xiàn)集群無法啟動時(shí)芝加,刪除臨時(shí)的數(shù)據(jù)文件,再次重新啟動每一個(gè)redis服務(wù)射窒,然后重新構(gòu)造集群環(huán)境藏杖。
第九步:(集群操作文章)
redis-trib.rb官方群操作命令:http://redis.io/topics/cluster-tutorial
推薦博客:http://blog.51yip.com/nosql/1726.html/comment-page-1