目錄node
1.準備6個數據庫節點,也就是6個redis實例,也就是6個配置文件linux
配置文件以下redis
redis-7000.conf redis-7002.conf redis-7004.conf redis-7001.conf redis-7003.conf redis-7005.conf
配置文件,內容以下數據庫
port 7000 daemonize yes dir "/opt/data" logfile "7000.log" dbfilename "dump-7000.rdb" cluster-enabled yes cluster-config-file nodes-7000.conf cluster-require-full-coverage no
分別準備6個redis節點,經過sed命令快速建立,僅僅是端口的區分vim
[root@master clusterredis]# sed "s/7000/7001/g" redis-7000.conf > redis-7001.conf [root@master clusterredis]# [root@master clusterredis]# sed "s/7000/7002/g" redis-7000.conf > redis-7002.conf [root@master clusterredis]# sed "s/7000/7003/g" redis-7000.conf > redis-7003.conf [root@master clusterredis]# [root@master clusterredis]# [root@master clusterredis]# [root@master clusterredis]# sed "s/7000/7004/g" redis-7000.conf > redis-7004.conf [root@master clusterredis]# sed "s/7000/7005/g" redis-7000.conf > redis-7005.conf
2.分別啓動6個數據庫實例ruby
root@master clusterredis]# redis-server redis-7000.conf [root@master clusterredis]# redis-server redis-7001.conf [root@master clusterredis]# redis-server redis-7002.conf [root@master clusterredis]# redis-server redis-7003.conf [root@master clusterredis]# redis-server redis-7004.conf [root@master clusterredis]# redis-server redis-7005.conf
3.開始分配redis數據庫的槽位, 經過ruby腳本,自動化分配槽位工具
4.配置ruby的解釋器環境ui
1.下載源碼 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 ./configure --prefix=/opt/ruby/ make && make install 3.配置ruby的環境變量 /opt/ruby/bin source /etc/profile vim /etc/profile 4.下載ruby操做redis的模塊 wget http://rubygems.org/downloads/redis-3.3.0.gem 5.經過ruby的包管理工具安裝它 gem install -l redis-3.3.0.gem 6.經過ruby的腳本,自動化分配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 7.驗證集羣是否開啓 redis-cli -p 7000 cluster info 以下: [root@yugo /opt/redis/src 18:42:14]#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:10468 cluster_stats_messages_pong_sent:10558 cluster_stats_messages_sent:21026 cluster_stats_messages_ping_received:10553 cluster_stats_messages_pong_received:10468 cluster_stats_messages_meet_received:5 cluster_stats_messages_received:21026
8.登錄redis集羣,寫入數據,查看數據流向code
127.0.0.1:7000> set name chao -> Redirected to slot [5798] located at 127.0.0.1:7001 OK 127.0.0.1:7001> exit [root@yugo /opt/redis/src 18:46:07]#redis-cli -c -p 7000 127.0.0.1:7000> ping PONG 127.0.0.1:7000> keys * (empty list or set) 127.0.0.1:7000> get name -> Redirected to slot [5798] located at 127.0.0.1:7001 "chao"
數據會在集羣中,在節點間重定向server
9.redis集羣到此完畢