centos7 redis安裝/集群部署/slots遷移


一.安裝依賴

1.ruby

安裝 yum install ruby

安裝后查看版本 ruby -v (redis依賴版本為2.0以上)

若不滿足則卸載 yum remove ruby ruby-devel

重新安裝

方法一:換yum源安裝

yum install centos-release-scl-rh  //會在/etc/yum.repos.d/目錄下多出一個CentOS-SCLo-scl-rh.repo源

yum install rh-ruby25? -y    //直接yum安裝即可

scl? enable? rh-ruby25 bash    //必要一步

ruby -v    //查看安裝版本

方法二:下載tar壓縮包安裝

wget http://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.5.tar.gz

tar zxvf? ruby-2.3.5.tar.gz

cd ruby-2.3.5

./configure? --prefix=/opt/ruby

make && make install

ln -s /opt/ruby/bin/ruby /usr/bin/ruby

ln -s /opt/ruby/bin/gem /usr/bin/gem

ruby -v    //查看一下

方法三:RVM 安裝

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E37D2BAF1CF37B13E2069D6956105BD0E739499BDB

可能會等待一段時間,然后執(zhí)行下面命令:

curl -sSL https://get.rvm.io | bash -s stable

source? /etc/profile.d/rvm.sh    //按照提示,執(zhí)行該命令

rvm list known    // list一下可以安裝的版本

rvm install 2.4.1? ?  // 直接跟版本號即可

ruby -v     //查看驗證下已經(jīng)安裝的版本

gem -v

2.gem

yum install rubygems

3.redis接口

下載https://rubygems.org/gems/redis/versions/3.3.5

gem install -l redis-3.3.5.gem

gem list|grep redis //查看安裝版本

二.redis

1.安裝

下載源碼http://download.redis.io/releases/redis-4.0.1.tar.gz?

安裝redis需要先將官網(wǎng)下載的源碼進(jìn)行編譯,編譯依賴gcc環(huán)境,如果沒有g(shù)cc環(huán)境,需要安裝gcc:yum install gcc-c++

解壓命令:?

tar -zxvf redis-4.0.1.tar.gz?

//進(jìn)入解壓后的目錄進(jìn)行編譯?

cd /usr/local/redis-4.0.1?

make?

//安裝到指定目錄,如 /usr/local/redis?

cd /usr/local/redis-4.0.1?

make PREFIX=/usr/local/redis install?

2.配置文件

bind 192.168.182.128

protected-mode no

port 7001

daemonize yes

supervised no

pidfile /var/run/redis_7001.pid

loglevel notice

logfile "/home/test/redis/7001/log"

databases 16

always-show-logo yes

save 900 1

save 300 10

save 60 10000

rdbcompression yes

dbfilename dump.rdb

dir /home/test/redis/7001/data/

appendonly no

appendfilename "appendonly.aof"

# appendfsync always

appendfsync everysec

# appendfsync no

cluster-enabled yes

cluster-config-file nodes-7001.conf

cluster-node-timeout 15000

masterauth "****"

requirepass "****"

3.啟動

/home/test/redis/bin/redis-server /home/test/redis/7001/redis11.conf

/home/test/redis/bin/redis-server /home/test/redis/7002/redis12.conf

/home/test/redis/bin/redis-server /home/test/redis/7003/redis13.conf

4.檢測

ps -el | grep redis

5.創(chuàng)建集群

/home/test/redis/bin/redis-trib.rb create --replicas 1 192.168.182.128:7001 192.168.182.128:7002 192.168.182.128:7003 192.168.182.129:7001 192.168.182.129:7002 192.168.182.129:7003

6.連接

/home/test/redis/bin/redis-cli -c -h 192.168.182.128 -p $1 -a ****

三.sentinel

1.配置

bind 192.168.182.128

port 27001

daemonize yes

dir /tmp

sentinel monitor mymaster1 192.168.182.128 7001 2

sentinel monitor mymaster2 192.168.182.128 7002 2

sentinel monitor mymaster3 192.168.182.129 7001 2

sentinel down-after-milliseconds mymaster1 30000

sentinel down-after-milliseconds mymaster2 30000

sentinel down-after-milliseconds mymaster3 30000

sentinel parallel-syncs mymaster1 1

sentinel parallel-syncs mymaster2 1

sentinel parallel-syncs mymaster3 1

sentinel failover-timeout mymaster1 180000

sentinel failover-timeout mymaster2 180000

sentinel failover-timeout mymaster3 180000

2.啟動

/home/test/redis/bin/redis-sentinel /home/test/redis/sentinel/sentinel.conf

3.檢查

ps -el | grep sentinel

四.redis集群增減節(jié)點/遷移slots

1.新增主節(jié)點

redis-trib.rb add-node? 192.168.182.130:7001 192.168.182.128:7001

2.新增從節(jié)點

redis-trib.rb add-node –-slave 192.168.182.130:7003 192.168.182.128:7001

redis-trib.rb add-node –-slave 192.168.182.130:7002 192.168.182.128:7001

3.密碼

//使密碼失效

CONFIG SET masterauth ""

CONFIG SET requirepass ""

config rewrite

//添加密碼

CONFIG SET masterauth ****

CONFIG SET requirepass ****

config rewrite

4.遷移solt

./redis-trib.rb reshard 192.168.182.128:7001

填入遷移solt個數(shù)

填入接收節(jié)點

填入源節(jié)點

done

5.將主節(jié)點變更為從節(jié)點

CLUSTER REPLICATE 35eeecb262bd3c6a5537d46c337df12022bb55c9? //將當(dāng)前節(jié)點變更為node_id指定節(jié)點的從節(jié)點

6.檢查集群

./redis-trib.rb check 192.168.182.128:7001

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容