建立6個節點,用於存儲數據,信息都除了端口不一樣都是同樣的node
vim redis-7000.conf # 插入信息 port 7000 daemonize yes dir "/opt/redis/data" logfile "7000.log" dbfilename "dump-7000.rdb" cluster-enabled yes #開啓集羣模式 cluster-config-file nodes-7000.conf #集羣內部的配置文件
啓動6個數據庫實例redis
redis-server redis-7000.conf redis-server redis-7001.conf redis-server redis-7002.conf redis-server redis-7003.conf redis-server redis-7004.conf redis-server redis-7005.conf
檢查其日誌和進程狀態數據庫
# 查看日誌 cat 7000.log # 查看redis服務端 進程號 netstat -tunlp|grep redis ps -ef |grep redis
開啓分配redis集羣狀態,以及槽位分配,編程
準備ruby的編程環境並下載,vim
# 1.下載ruby的源碼包 wget https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz # 2. 解壓ruby源碼 tar -xvf ruby-2.3.1.tar.gz # 3. cd 到ruby-2.3.1,編譯 ./configure --prefix=/opt/ruby/ # 4 安裝 make && make install # 將其加入環境變量中 vim /etc/profile 插入內容 export PATH=$PATH:/opt/ruby/bin # 讀出該文件,使其生效 source /etc/profile
安裝ruby操做redis模塊ruby
# 1. 下載ruby操做redis的模塊 wget http://rubygems.org/downloads/redis-3.3.0.gem # 2. 安裝 gem install -l redis-3.3.0.gem # 3. 搜索建立redis集羣的命令 find /opt -name redis-trib.rb 搜索結果: /opt/redis-4.0.10/src/redis-trib.rb
一鍵建立redis集羣分佈式
/opt/redis-4.0.10/src/redis-trib.rb create --replicas 1 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 # 參數解析 --replicas 進行身份受權 後面的1 表明,每一個主節點,只有一個從節點 # redis-5.03版本建立集羣的命令爲下 redis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 --cluster-replicas 1
查看集羣節點,是否能正常寫入數據工具
redis-cli -p 7000 -c # 參數解析 -p 指定數據庫端口 -c 指定開啓集羣模式
查看集羣狀態性能
redis-cli -p 7000 cluster info redis-cli -p 7000 cluster nodes #等同於查看nodes-7000.conf文件節點信息 集羣主節點狀態 redis-cli -p 7000 cluster nodes | grep master 集羣從節點狀態 redis-cli -p 7000 cluster nodes | grep slave
查看集羣狀態代理
[root@localhost /opt/redis/data]#redis-cli -p 7000 cluster info cluster_state:ok cluster_slots_assigned:16384 cluster_slots_ok:16384 cluster_slots_pfail:0 cluster_slots_fail:0 cluster_known_nodes:6 cluster_size:3 cluster_current_epoch:6 cluster_my_epoch:1 cluster_stats_messages_ping_sent:531 cluster_stats_messages_pong_sent:586 cluster_stats_messages_sent:1117 cluster_stats_messages_ping_received:581 cluster_stats_messages_pong_received:531 cluster_stats_messages_meet_received:5 cluster_stats_messages_received:1117