1. 程式人生 > >redis叢集部署文件

redis叢集部署文件

1. 安裝redis客戶端
1.1下載並解壓
cd /home
wget http://download.redis.io/releases/redis-3.2.4.tar.gz
tar -zxvf redis-3.2.4.tar.gz
1.2 編譯安裝
cd redis-3.2.4
make && make install
1.3 建立redis軟連線
cd src
cp redis-trib.rb /usr/local/bin/  
1.4 安裝redis rurb
yum -y install ruby ruby-devel rubygems rpm-build
gem install redis

Ps:如果提示ruby >=2.2.2 則需要升級ruby版本,我們公司的映象基本都需要升級。
升級步驟:
bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)

source ~/.rvm/scripts/rvm
查詢已安裝版本
rvm list
查詢版本列表
rvm listrvm list known
安裝一個2.2.2以上的ruby版本
rvm install 2.2.3
使用新版本的ruby
rvm use 2.2.3
設定為預設版本
rvm use 2.2.3 --default
移除之前的版本
rvm remove 1.x.x

執行完成後 再重複執行1.4的步驟

2.叢集配置準備
cd /home/redis-3.2.4
mkdir cluster
cd cluster/
mkdir 9100 9101 9102
cp redis.conf redis_cluster/9100
cd 9100/
mv redis.conf redis_9100.conf
cp redis.conf redis_cluster/9101
cd 9101/
mv redis.conf redis_9101.conf
cp redis.conf redis_cluster/9102 
cd 9102/
mv redis.conf redis_9102.conf
同理第二臺上建立9103 9104 9105 3個節點配置
修改每個節點的配置(以修改redis_9100.conf為例子)
vi redis_9100.conf
修改如下幾點的配置:

  1. port修改為 9100
    在這裡插入圖片描述
  2. pidfile 修改為:/var/run/redis_9100.pid
    在這裡插入圖片描述
  3. logfile 修改為"/home/redis/redis-3.2.9/log/redis_9100.log"
    在這裡插入圖片描述
  4. dbfilename修改為 dump_9100.rdb
    在這裡插入圖片描述
    5.appendfilename修改為 “appendonly_9100.aof”
    在這裡插入圖片描述
  5. cluster-config-file 修改為nodes_9100.conf
    在這裡插入圖片描述
  6. bind將繫結ip127.0.0,1修改為本機內網ip
    在這裡插入圖片描述
  7. daemonize 修改為 yes
    在這裡插入圖片描述
  8. yescluster-enabled yes //開啟叢集模式 把註釋#去掉
    在這裡插入圖片描述
  9. cluster-node-timeout 1000 //請求超時時間
    在這裡插入圖片描述
  10. appendonly yes //開啟aof同步日誌
    在這裡插入圖片描述
  11. cluster-migration-barrier 2 //設定最小節點數,2臺裝置做叢集寫2,4臺設定做叢集 這裡寫4 以此類推。截圖是4臺裝置做的叢集的配置
    在這裡插入圖片描述

所有節點配置檔案都需要完成以上12個步驟。

3.啟動redis叢集
完成2步驟,設定完所有節點配置後,進入不同的伺服器上分別啟動所有節點。(以啟動1臺為例)命令:
cd /home/redis/redis-3.2.9/src
./redis-server …/cluster/9103/redis_9103.conf
./redis-server …/conf/redis_9101.conf
./redis-server …/conf/redis_9102.conf

./redis-server …/cluster/9100/redis_9100.conf
執行完成後檢查每臺是否啟動了redis節點,命令:
ps -ef|grep redis

每臺裝置的節點全部啟動完成,檢查後,用以為命令啟動redis叢集:
cd /home/redis/redis-3.2.9/src
./redis-trib.rb create --replicas 1 172.16.40.73:9100 172.16.40.73:9101 172.16.40.73:9102 172.16.40.74:9103 172.16.40.74:9104 172.16.40.74:9105

===================================================================================
cd /home/redis/redis-3.2.9/src
./redis-trib.rb create --replicas 1 172.16.38.194:9100 172.16.38.194:9101 172.16.38.194:9102 172.16.38.194:9112 172.16.38.195:9103 172.16.38.195:9104 172.16.38.195:9105 172.16.38.195:9113
(如果是4臺的叢集:將–replicas 1改為–replicas 3)

  1. 驗證redis叢集
    cd /home/redis/redis-3.2.9/src
    ./redis-cli -h 172.16.40.73 -p 9100 -c
    ./redis-cli -h 172.16.38.195 -p 9103 -c //-c的意思為叢集模式進入節點,如果沒有叢集啟動進入不了
    set a 1 //驗證叢集是否可以插入資料
    get a 1 //驗證叢集是否可以獲取資料

./redis-cli -h 172.16.35.178 -p 6440

cluster info //檢查叢集情況 cluster_state為ok則代表叢集正常
在這裡插入圖片描述
cluster nodes //檢視叢集節點情況,如果有掛掉的節點,這上面會顯示fail

./redis-cli -h 172.16.35.178 -p 6440

./redis-cli -h 172.16.38.194 -p 9100 -c

修改節點配置檔案的慢查詢時長
slowlog-log-slower-than 10000
清空慢查詢日誌
config set slowlog-log-slower-than 200000
config rewrite
重置日誌
slowlog reset
查詢慢查詢日誌
slowlog get