在三臺虛擬機上進行搭建,每臺一主一從,模擬生產環境。
一:安裝redis3.0
1.首先下載redis3.0
$ wget http://download.redis.io/releases/redis-3.0.5.tar.gz
2.安裝編譯需要的工具
$ yum install make
$ yum install gcc
$ yum install -y tcl
3.安裝
$ tar -zxf redis3.0.5.tar.gz
$ mv redis3.0.5 /usr/local/redis3.0
$ cd /usr/local/redis3.0
$ make
$ make test
$ make install
二:安裝redis-cluster環境
1.安裝redis-cluster依賴包
(1)安裝ruby
$ yum install ruby ruby-rdoc
(2)安裝rubygems$ yum install rubygems
(3)安裝redis的api接口
首先下載redis-3.0.0.gem,我的分享鏈接http://pan.baidu.com/s/1i3vZPTN,下載到/usr/local/src下,然後執行安裝
$ gem install -l redis-3.0.0.gem
我這裏使用了三臺虛擬機131/132/133,每臺一主一從,端口分別爲6379/6380,以131爲例進行配置,其他兩臺操作一樣。
(1)創建目錄
$ mkdir -p /usr/local/rediscluster/6379
$ mkdir -p /usr/local/rediscluster/6380
(2)配置各個端口
$ cp /usr/local/redis3.0/redis.conf /usr/local/rediscluster/6379
$ cp /usr/local/redis3.0/redis.conf /usr/local/rediscluster/6380
修改6379和6380下的redis.conf:
daemonize yes
port 6379(6380下的配置爲 port 6380)
cluster-enabled yes
cluster-config-file nodes-6379.conf (6380下的配置爲 cluster-config-file nodes-6380.conf)
cluster-node-timeout 15000
appendonly yes
至此一主一從的配置就完畢了,現在開啓服務,
$ cd /usr/local/rediscluster/6379
$ redis-server redis.conf
$ cd /usr/local/rediscluster/6380
$ redis-server redis.conf
查看是否啓動成功:
$ ps aux | grep redis
其他兩臺虛擬機也按照上面的方法進行配置,配置成功以後開始構建我們的三主三從的集羣服務:
(3)構建集羣
首先關掉三臺服務器的防火牆
$ service iptables stop
然後構建集羣(在任意一臺上操作都可以):
$ cd /usr/local/redis3.0/src
$ ./redis-trib.rb create --replicas 1 192.168.80.131:6379 192.168.80.132:6379 192.168.80.133:6379 192.168.80.131:6380 192.168.80.132:6380 192.168.80.133:6380
注:--replicas 後面的1表示每個master配備一個slave,前三個爲master,後三個對應的是各自的slave。
當看到如下輸出時,表示構建成功:
[OK] All nodes agree about slots configuration.
>>> Check for open slots...
>>> Check slots coverage...
[OK] All 16384 slots covered.
檢查集羣狀態:
$ ./redis-trib.rb check 192.168.80.128:6379
至此,完整的集羣就已經搭建完畢!關於集羣測試和其他相關操作會在下篇中寫道!