Ruby 2.5.1(6個節點中,只須要有一個節點安裝Ruby環境)node
Redis 4.0.10redis
關閉防火牆或者添加防火牆策略 6379 和16379vim
6個節點上分別啓動redis-server,並在其中一個安裝有Ruby環境的節點上運行redis-trib.rb腳本,建立集羣。ruby
部署方式:服務器
在每一個服務節點上:app
上傳:redis包tcp
1. 解壓redis-4.0.10壓縮文件工具
tar –xf redis-4.0.10.tar.gz性能
2. 進入redis-4.0.10目錄,利用該目錄下的makefile進行編譯安裝測試
cd redis-4.0.10
make
make install
完成後,在/usr/local/bin目錄下會生成下面5個文件,因爲該目錄屬於環境變量路徑,在後面的操做中能夠直接使用這些文件而不須要再次指定目錄。
文件名 |
功能 |
redis-benchmark |
性能測試工具 |
redis-check-aof |
aof日誌文件檢測工具 |
redis-check-dump |
rdb快照文件檢測工具 |
redis-cli |
客戶端 |
redis-server |
服務端 |
3. 建立一個目錄,用於存放Redis服務器相關文件
mkdir /home/redis
4. 在該目錄下建立Redis配置文件
cd /root/redis
vi redis.conf
redis.conf文件內容以下:
port 6379
bind (改成具體服務器地址)
cluster-enabled yes
cluster-config-file "node_6379.conf" #多個集羣節點在一塊兒的話,必需要加端口號
cluster-node-timeout 5000
appendonly no
dir "/root/redis" #集羣數據文件落地位置,儘可能放到大一點的目錄裏面
pidfile "/root/redis/node_pid.pid" #/root/redis/這個目錄要存在
daemonize yes
安裝ruby
在線安裝:# yum install ruby
離線安裝:# tar -zxvf ruby-2.4.1.tar.gz #先下載ruby-2.5.1.tar.gz
# ./configure –-prefix=/usr/local/ruby -prefix是將ruby安裝到指定目錄,也能夠自定義
# make && make install
# ruby -v
安裝redis庫
在線安裝:gem install redis
離線安裝:gem install -l redis #先下載redis-3.2.1.gem
#redis-servce ./redis-6379.conf #在redis配置文件的根目錄下啓動
#vim /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 6379 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 16379 -j ACCEPT
經過上述步驟,在6個節點上分別啓動Redis服務,而後在其中安裝有Ruby的服務器節點上,運行Redis安裝包中解壓出來的集羣部署腳本redis-trib.rb
redis-trib.rb create --replicas 1 具體服務器地址:6379 具體服務器地址:6379 具體服務器地址:6379 具體服務器地址:6379 具體服務器地址:6379 具體服務器地址:6379
將上面命令中的具體服務器地址替換爲各個Redis服務節點的地址。腳本運行後,命令窗口中出現[OK] All 16384 slots covered,表明集羣建立成功。6個節點將會以三個主節點、三個從節點的形式運行,每一個從節點都會與其對應的主節點保持數據一致。
注:集羣建立之後,修改配置須要從新建立集羣(從新建集羣的時候須要先刪除配置文件中的密碼,不然會執行不成功)
在建立完集羣后,須要分別對每個節點設置相同的密碼。使用前面提到的/usr/local/bin目錄下的redis-cli訪問redis服務器,並熱更新密碼配置
redis-cli –h 具體服務器地址 –p 6379
> config set requirepass password #執行完須要輸入密碼執行master密碼設置
> config set masterauth password
> config rewrite
使用ctrl + c退出redis-cli。注意替換部分的節點地址和端口。password替換爲節點的實際訪問密碼。對集羣的6個節點均執行上面的命令,爲每一個節點都設置相同的密碼。
# redis-cli -h IP***** -c -p 6379 #-c集羣模式
>set key值 value
>get key值 或者 keys *查看全部值(這個只適合剛部署)
查看集羣狀態:
>cluster info #查看集羣的狀態
>cluster nodes #查看集羣的節點關係
啓動ruby腳本後,若建立集羣失敗,則
a) 將全部的redis服務所有停掉,先查看redis的進程id,能夠查看指定的pidfile查看進程id也可使用命令lsof -i:redis端口號查看進程,也可使用ps -ef | grep redis 來查看進程id,而後使用kill -9殺死該進程,關閉redis實例。
b) 將redis目錄下的nodes.conf和dump.rdb文件刪除
c) 修改redis.conf文件,去掉其中的密碼配置項requirepass和masterauth,使節點下次啓動時無需密碼便可訪問,以便創建集羣
d) 重啓每臺機器上的redis,而後再啓動ruby腳本,從新建立集羣
e) 執行3.8.3中的步驟,爲集羣設置密碼