redis離線集羣安裝

環境準備:

  • redis-4.0.7.tar.gz redis的安裝包
  • Ruby環境(集羣搭建須要用ruby建立, ruby環境在2.2以上。)
  • rubygems-2.7.4.tgz 和 redis-3.2.2.gem (後面的是redis集羣須要的ruby插件,rubygems是ruby的一個包管理工具,經過rubygems安裝redis-3.2.2.gem。)
  • centos7,注意安裝系統的基礎環境,包括zlib和openssl。

安裝步驟

一、解壓編譯redis

yum -y install gcc*node

cd /usr/local/redis

mkdir redisvim

redis放到redis目錄下centos

tar -vxf redis-3.2.5.tar.gzruby

cd redis-3.2.5.tar.gzapp

make && make install工具

cd src測試

./redis-servercentos7

看到這個界面redis單機版啓動成功,驗證:
另外打開一個鏈接,到根目錄下執行spa

cd /usr/local/redis/redis-3.2.5/src/

./redis-cli

ping

二、配置集羣環境

2.一、建立集羣目錄

redis安裝目錄下建立redis_cluster目錄:

 

mkdir redis_cluster 

 

redis_cluster中建立子目錄:

cd redis_cluster/

mkdir 7000

mkdir 7001

mkdir 7002

mkdir 7003

mkdir 7004

mkdir 7005

 

2.二、配置redis.conf

修改每一個redis.conf的配置,

cp redis.conf ./redis_cluster/

cd ./redis_cluster/

vim redis.conf

須要修改的內容以下:

port 7000    //配置集羣的端口,分別是700070017002

bind 本機的IP    //這裏的默認配置是127.0.0.1改成內網ip

daemonize yes   //容許redis在後臺運行

pidfile  /var/run/redis_7000.pid  //改爲和端口一致

cluster-enabled  yes   // 開啓集羣 把註釋去掉

cluster-config-file nodes.conf

cluster-node-timeout 5000

cluster-config-file node_7000.conf  //集羣的配置,和端口一致

cluster-node-timeout  15000  // 請求超時,默認爲15

appendonly  yes // aof日誌開啓,有須要就開啓,每一次寫操做都會記錄一條日誌。

保存退出

 

redis.conf拷貝到這三個目錄中去:(redis.conf在安裝目錄下)

cp redis.conf ./7000

cp redis.conf ./7001

cp redis.conf .//7002

...

 

修改每一個目錄下redis.conf文件的端口和配置

cd 7001/

vim redis.conf

 

修改完成以後啓動服務:

cd ../../src/

./redis-server ../redis_cluster/7000/redis.conf

 

查看啓動狀況:

 

三、安裝ruby環境

3.一、下載、安裝ruby

mkdir /usr/local/ruby

cd ruby/

把包放到改目錄下

 

tar -xvf ruby-2.4.1.tar

cd ruby-2.4.1

./configure

make && make install

驗證:
ruby -v

 

3.二、下載安裝rubygems

cd /usr/local

mkdir rubygems

把文件放到該目錄下

tar -vzxf rubygems-2.7.4.tgz

cd rubygems-2.7.4/

ruby setup.rb

 

4.1.二、下載安裝OpenSSL

這個問題和zlib的解決方案相似,可類比解決。

cd /usr/local

mkdir openssl

tar -xvf openssl-1.0.2n.tar.gz

./config -fPIC --prefix=/usr/local/openssl enable-shared

./config -t

make && make install

4.1.三、編譯ruby中的openssl

cd /usr/local/ruby/ruby-2.5.0/ext/openssl/

ruby extconf.rb --with-openssl-include=/usr/local/openssl/include/ --with-openssl-lib=/usr/local/openssl/lib

make 

vim Makefile 把全部的 $(top_srcdir) 換成 ../.. 注意替換全部

 

make install

 

四、安裝ruby-redis插件

4.1.一、下載redis-3.2.2.gem

剛剛安裝rubygems就是爲了安裝這個插件。
把文件放到 /usr/local/redis 目錄下。

gem install redis-3.2.2.gem

 

五、啓動一個集羣

cd /usr/local/redis/redis-4.0.7/src

./redis-trib.rb create --replicas 1 192.168.1.155:7000 192.168.1.155:7001 192.168.1.155:7002 192.168.1.155:7003 192.168.1.155:7004 192.168.1.155:7005

 

而後測試一下集羣:
隨便鏈接一個節點:

./redis-cli -h 192.168.1.155 -p 7005 -c

set test1 'test001'

 

而後再鏈接另一個節點:

 ./redis-cli -h 192.168.1.155 -p 7001 -c

> get test1

 

 

到此集羣建立成功!

 

集羣的操做

可使用可視化工具查看和管理redis集羣。

一、建立一個集羣

./redis-trib.rb create --replicas 1 192.168.80.230:7000 192.168.80.230:7001 192.168.80.230:7002 192.168.80.231:7003 192.168.80.231:7004 192.168.80.231:7005

 

二、鏈接集羣

cd /usr/local/redis/redis-4.0.7/src

./redis-cli -p 7003 -c -h 192.168.80.231

參數說明: -p port 端口 -h host 主機 -c cluster 集羣

鏈接進集羣以後 輸入ping , 若是響應了pong 表示鏈接集羣成功:

 

鏈接進集羣以後能夠查看當前集羣的信息和節點的信息
CLUSTER INFO 列出當前節點的信息

 

CLUSTER NODES 列出當前集羣中的節點信息

 

前面一段很長的字符串就是節點的id。從這個命令能夠知道哪些節點還活着,哪些節點已經掛了。端口後面帶着fail的都是掛掉的節點。

三、關閉一個節點

退出集羣鏈接才能關閉某一個節點:

./redis-cli -c -h 192.168.80.230 -p 7000 shutdown

這條命令的意思是關閉230機器上端口爲7000的redis節點。
關閉以後能夠鏈接集羣去執行 CLUSTER NODES ,這個節點的狀態已是fail。

四、節點加入、移出集羣

添加一個節點以前務必保證該節點已經啓動了,若是該節點以前在建立集羣時已經在集羣裏面了,關閉該節點而後再從新啓動,該節點會自動加入集羣。

 ./redis-server ../redis_cluster/7000/redis.conf

而後鏈接進集羣,若是該節點以前不在集羣中,鏈接集羣輸入cluster meet 命令就能夠指定某個節點加入集羣。

CLUSTER MEET 192.168.80.230:7000

CLUSTER forget fd72b78b1eaa430ca309bc5226d90fe67199a576

這個一長段字符串是節點的id,forget以後能夠再去看節點的信息。

 

forget以後,若是一分鐘不進行任何操做,該節點會自動加入集羣。

相關文章
相關標籤/搜索