RedisCluster僞集羣搭建
1.redis官網下載redis-4.0.11.tar.gz
http://download.redis.io/releases/redis-4.0.11.tar.gz
2.解壓 redis-4.0.11.tar.gz
tar -zxvf redis-4.0.11.tar.gz -C /usr/local/
3.編譯redis
/usr/local/redis-4.0.11
#編譯redis
make
#安裝redis
make install PREFIX=/usr/local/redis
注意:如果編譯報如下截圖錯誤,需要安裝gcc
3.1安裝gcc
yum -y install gcc
#驗證gcc是否安裝成功
rpm -qa|grep gcc
出現如下如:說明gcc安裝成功
3.2重新編譯redis
make
4.移動配置文件到redis安裝目錄
cd /usr/local/redis
#創建模板配置文件目錄
mkdir etc
#移動配置文件到etc目錄
cp /usr/local/redis-4.0.11/redis.conf /usr/local/redis/etc/
5.創建redis僞集羣6個實例
mkdir redis-cluster
cd redis-cluster
mkdir 7001 7002 7003 7004 7005 7006
6.修改etc目錄下的redis.conf配置文件(如下圖所示)
cp /usr/local/redis/etc/redis.conf /usr/local/redis/etc/redis.conf.bak
vi /usr/local/redis/etc/redis.conf
6.1修改redis端口(7001 7002 7003 7004 7005 7006)
6.2修改IP
6.3修改成後臺進程啓動(no 改成 yes)
6.4修改redis數據存放位置
6.5修改redis的pid文件名
6.6開啓aof模式
6.7開啓集羣模式
6.8這兩個配置可以忽略
cluster-config-file nodes7001.conf(7001和port要對應)
cluster-node-timeout 15000
6.8把redis.conf配置文件複製到對應服務的端口文件夾目錄下(並修改:端口、數據存儲目錄、pid文件名)
cp /usr/local/redis/etc/redis.conf /usr/local/redis/redis-cluster/7001
cp /usr/local/redis/etc/redis.conf /usr/local/redis/redis-cluster/7002
cp /usr/local/redis/etc/redis.conf /usr/local/redis/redis-cluster/7003
cp /usr/local/redis/etc/redis.conf /usr/local/redis/redis-cluster/7004
cp /usr/local/redis/etc/redis.conf /usr/local/redis/redis-cluster/7005
cp /usr/local/redis/etc/redis.conf /usr/local/redis/redis-cluster/7006
#替換redis配置文件端口、數據存儲目錄、pid文件名
#替換端口:
%s/7001/7002
%s/7001/7003
%s/7001/7004
%s/7001/7005
%s/7001/7006
7.啓動6臺redis實例
cd /usr/local/redis/bin/
./redis-server /usr/local/redis/redis-cluster/7001/redis.conf
./redis-server /usr/local/redis/redis-cluster/7002/redis.conf
./redis-server /usr/local/redis/redis-cluster/7003/redis.conf
./redis-server /usr/local/redis/redis-cluster/7004/redis.conf
./redis-server /usr/local/redis/redis-cluster/7005/redis.conf
./redis-server /usr/local/redis/redis-cluster/7006/redis.conf
7.1如果報如下圖錯(在對應的實例文件下創建一個data目錄)
8.用ps -ef | grep redis 這個時候可以看到6個實例的進程了
9.用redis-cli客戶端連接redis
cd /usr/local/redis/bin/
./redis-cli -c -h 192.168.0.101 -p 7001
出現如下圖無hash槽錯誤(需要安裝ruby)
10.安裝ruby(如果不切換yum源,默認匹配版本有問題)
#切換高版本yum源
yum install centos-release-scl-rh
#安裝ruby 2.4版本
yum install rh-ruby24 -y
#加載環境變量
scl enable rh-ruby24 bash
#查看ruby 版本
ruby -v
#安裝rubygems
yum install rubygems
#安裝redis gem依賴
gem install redis
出現如下圖安裝gem redis依賴OK
11.使用redis.trib.rb 創建集羣
cd /usr/local/redis/bin/
cp /usr/local/redis-4.0.11/src/redis-trib.rb /usr/local/redis/bin/
./redis-trib.rb create --replicas 1 192.168.0.101:7001 192.168.0.101:7002 192.168.0.101:7003 192.168.0.101:7004 192.168.0.101:7005 192.168.0.101:7006
出現如下圖錯誤(你的redis實例沒有啓動)
11.1重新執行創建集羣命令
./redis-trib.rb create --replicas 1 192.168.0.101:7001 192.168.0.101:7002 192.168.0.101:7003 192.168.0.101:7004 192.168.0.101:7005 192.168.0.101:7006
12.看見如下圖,說明redis cluster集羣安裝成功
13.用redis-cli連接集羣,測試添加數據
cd /usr/local/redis/bin/
./redis-cli -c -h 192.168.0.101 -p 7001
見如下圖,說明redis-cluster集羣搭建成功