Redis3 0集群遇到的那些坑

2021-08-21 08:19:01 字數 2213 閱讀 9932

centos7.4 + redis3.0

先放步驟

wget 

tar zxvf redis-3.0.0.tar.gz -c /usr/local/redis

cd /usr/local/redis/redis-3.0.0
make install
裝好之後開啟守護執行緒後台啟動

vi ./redis.conf

daemonize yes

./src/redis-server ./redis.conf

這時候應該redis單機已經啟動

接下來複製5份redis.conf配置檔案(這裡想清晰一點的可以先建好集群節點資料夾,然後cp配置檔案到資料夾下)

cp -a ./redis.conf ./redis-7000.conf

cp -a ./redis.conf ./redis-7001.conf

cp -a ./redis.conf ./redis-7002.conf

cp -a ./redis.conf ./redis-7003.conf

cp -a ./redis.conf ./redis-7004.conf

修改每個配置檔案的以下地方

pidfile /var/run/redis-7000.pid

logfile /mydata/logs/redis-logs/redis-7000.log

port 7000

dbfilename dump-7000.rdb

cluster-enabled yes

cluster-config-file nodes-7000.conf

啟動集群前先把環境裝好

yum install ruby rubygems

gem install redis

第乙個坑

error:  error installing redis:

redis requires ruby version >= 2.2.2.

ruby要求版本大於2.2.2 但是預設裝的ruby是2.0的

然後通過rvm安裝ruby

先安裝curl

yum install curl

curl -l get.rvm.io | bash -s stable

source /usr/local/rvm-1.4.9/script/rvm
最開始用的這個最後安裝ruby的時候總是找不到ruby目錄

下面是正確步驟

最新修改:

yum install libssl-dev libxslt-dev libxml2-dev

curl -l get.rvm.io | bash -s stable

source /etc/profile.d/rvm.sh

檢視rvm庫里的ruby版本

rvm list known
rvm install 2.4.4
設定預設版本

rvm use 2.4.4 --default

gem install redis

做乙個redis集群的命令軟鏈

cp -a /usr/local/redis/redis-3.0.0/redis-trib.rb /usr/bin
分別啟動或者指令碼啟動6個redis節點

然後開啟集群

redis-trib.rb create --replicas 1 \

192.168.1.110:6379 \

192.168.1.110:7000 \

192.168.1.110:7001 \

192.168.1.110:7002 \

192.168.1.110:7003 \

192.168.1.110:7004

注意replicas後面的那個1 代表1個主節點對應1個從節點 相應的6個節點就是3主3從, 前面3個是主節點後面3個是從節點

不要漏了那個1...

redis集群就搭好了

Redis3 0 集群搭建

redis3.0 部僅提供了哨兵監控,熱切換,還提供了集群解決方案,接下來簡單的搭建redis3.0集群 1 新建三個redis server例項,我們可以將redis.conf分別copy到7001,7002,7003的資料夾中,並修改相應的配置 vi redis3.0 instance 7001...

019redis3 0集群刪除節點

1 如果刪除的節點是主節點,這裡我們刪除 192.168.2.20 7006 節點,這個節點有 1000 個雜湊槽 首先要把節點中的雜湊槽轉移到其他節點中,執行下面的命令 cd usr local redis3.0 src redis trib.rb reshard 192.168.2.20 700...

搭建redis集群遇到的坑

bin bash 日期 2017.4.23 20.15 用途 通過ruby指令碼啟動redis偽集群 if 2 start then echo 正在啟動redis例項 echo 正在啟動redis集群.param cd usr local redis cluster for num in 1 2 3...