這里是在虛擬機環境下同一台服務器用不同的端口來搭建redis集群
1.在/usr/local/下新建redis-cluster目錄並在redis-cluster下新建7031~7036共6個文件夾,這6個文件夾代表創建redis集群的6個節點
1.cd /usr/local/
2.mkdir -p /usr/local/redis-cluster
3.mkdir 7031 7032 7033 7034 7035 7036
2.將已有的/usr/local/redis/下的redis.conf拷貝到新創建的7031目錄中
1.切換到 cd /usr/local/redis/ 下 cp redis.conf /usr/local/redis-cluster/7031
2.cd /usr/local/redis-cluster/7031
3.vim redis.conf
修改項如下:
1.綁定端口,port 7031
2.綁定IP,bind 192.168.174.128
3.指定數據存放路徑,dir /usr/local/redis-cluster/7031
4.啟動集群模式,cluster-enabled yes
5.指定集群節點配置文件,cluster-config-file nodes-7031.conf
7.后台啟動,daemonize yes
8.指定集群節點超時時間,cluster-node-timeout 5000
9.指定持久化方式,appendonly yes
3.將7031的redis.conf改完后再拷貝到剩下的5個目錄中,然后只要全局替換redis.conf中的7031為相應的節點即可
1.切換到 cd /usr/local/redis-cluster/7031 下 cp redis.conf /usr/local/redis-cluster/7032
2.cd /usr/local/redis-cluster/7032
3.vim redis.conf
只要全局替換redis.conf中的7031為相應的節點即可
4.安裝ruby 由於Redis 集群客戶端實現很少,redis集群的啟動需要用到ruby實現的redis-trib.rb,所以我們需要先安裝ruby。
1.yum install ruby
2.yum install rubygems
3.安裝ruby和redis的接口程序 gem install redis
不過在安裝 gem install redis之前最好先 安裝rvm 因為CentOS7 yum庫中ruby的版本支持到 2.0.0,可gem 安裝redis需要最低是2.2.2,采用rvm來更新ruby
4.gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
5.curl -sSL https://get.rvm.io | bash -s stable
6.find / -name rvm -print
7.source /usr/local/rvm/scripts/rvm
8.查看rvm庫中已知的ruby版本
rvm list known
9.安裝一個ruby版本
rvm install 2.4.1
10.使用一個ruby版本
rvm use 2.4.1
11. rvm use 2.4.1 --default
12.rvm remove 2.3.4
13.ruby --version
14.gem install redis
5.啟動redis實例
1.cd /usr/local/redis-cluster
2.for((i=1;i<=6;i++)); do /usr/local/redis/bin/redis-server /usr/local/redis-cluster/703$i/redis.conf; done
6.查看redis是否運行成功
ps -aux | grep redis
7.找到redis-trib.rb文件 一般在redis源碼目錄src下的redis-trib.rb
1.如果不知道 find / -name "redis-trib.rb"
2.進入 /src/bin/
./redis-trib.rb create --replicas 1 192.168.2.128:7031 192.168.2.128:7032 192.168.2.128:7033 192.168.2.128:7034 192.168.2.128:7035 192.168.2.128:7036
redis-trib.rb 程序的命令是 create,表示創建一個新的集群。選項 --replicas 1 表示為集群中的每個主節點創建一個從節點
8.集群搭建成功 測試
9.關閉集群
for((i=1;i<=6;i++)); do /usr/local/redis/bin/redis-cli -c -h 192.168.174.128 -p 703$i shutdown; done
10.備注:
for((i=1;i<=6;i++)); do cd 703$i; rm -rf appendonly.aof; rm -rf dump.rdb; rm -rf nodes-703$i.conf; cd ..; done