安裝環境:
兩台虛擬機都是Centos 7.0
IP分別為:192.168.149.132 192.168.149.133
Redis采用的版本是redis-3.2.4
集群是采用兩台虛擬機模擬8個節點,一台機器4個節點,創建出4 master、4salve 環境。
1、首先在192.168.149.132上安裝單機版
下載安裝包:
wget http://download.redis.io/releases/redis-3.2.4.tar.gz
解壓:
tar –xvf redis-3.2.4.tar.gz
進入安裝目錄進行安裝,注意要使用有root權限的賬戶進行操作,因為在安裝過程中需要操作許多系統文件路徑,如果沒有權限則會安裝報錯。
make && make install
其中有許多依賴包,如果缺就安裝即可,一般不會缺。
至此單機redis安裝完畢,接下來啟動服務:
cd src
./redis-server
Ok服務啟動成功
接下來我們小小測試一下。沒問題!
一般redis我們經常做為消息服務器使用,如下:
當然redis作為消息服務器有更加復雜的應用,可以自己去摸索。
2、集群配置,在192.168.149.133上同樣安裝redis
拷貝文件:
redis-trib.rb是官方提供的一款集群工具,后面要用
創建redis節點:
在redis安裝目錄下創建 redis_cluster目錄
在 redis_cluster 目錄下,創建名為7010、7011、7012、7013的目錄
並將 redis.conf 拷貝到這三個目錄中,分別修改這三個redis.conf配置文件,修改內容如下:
port 7010 //端口7010 7011 7012 7013
bind 本機ip //默認ip為127.0.0.1 需要改為其他節點機器可訪問的ip 否則創建集群時無法訪問對應的端口,無法創建集群
daemonize yes //redis后台運行
pidfile /var/run/redis_7010.pid //pidfile文件對應
cluster-enabled yes //開啟集群 把注釋#去掉
cluster-config-file nodes_7010.conf //集群的配置 配置文件首次啟動自動生成
cluster-node-timeout 15000 //請求超時 默認15秒,可自行設置
appendonly yes //aof日志開啟 有需要就開啟,它會每次寫操作都記錄一條日志
啟動集群服務:
查看啟動情況:
沒有問題
Redis 官方提供了 redis-trib.rb 這個工具,就在解壓目錄的 src 目錄中,之前已將它復制到 /usr/local/bin 目錄中,可以直接在命令行中使用了。使用下面這個命令即可完成集群。
redis-trib.rb create --replicas 1 192.168.149.133:7010 192.168.149.133:7011 192.168.149.133:7012 192.168.149.133:7013 192.168.149.132:7014 192.168.149.132:7015 192.168.149.132:7016 192.168.149.132:7017
報錯了,因為這個工具是用 ruby 實現的,所以需要安裝 ruby。
安裝ruby:
yum install ruby ruby-devel rubygems rpm-build
gem install redis
安裝成功后執行之前的命令,又報錯了:
redis集群不僅需要開通redis客戶端連接的端口,而且需要開通集群總線端口
集群總線端口為redis客戶端連接的端口 + 10000
修改防火牆配置將端口加入進去,注意兩台虛擬機都需要:
cd /etc/sysconfig
vi iptables
保存后重啟防火牆
ps:如果沒有iptables-services服務的話,可以先安裝:yum install iptables-services
好了,現在再次創建集群:
終於配置成功啟動
ps:這里一不小心就有個巨坑錯誤如下:
提示某個節點不為空,讓你去檢查,其實這里是因為我們在上一次啟動配置或者redis非正常停止的時候,有生成過一些.aof或者.rdb文件,只需要刪除掉就ok。
網上有相關方法,如果碰到可以針對性的去找找。
接下來我們試試是否可以使用了。
使用192.168.149.133的7011節點輸入數據,7010節點監聽
中文居然被轉譯了,再來一次
經過測試我們的集群可以使用了啦!簡單吧