1. 程式人生 > >如何創建redis集群

如何創建redis集群

記錄 master clu 無法創建 分享 cnblogs images only rpm

1.下載redis源碼包

wget http://download.redis.io/releases/redis-3.2.4.tar.gz
2.解壓並安裝
tar xvf redis-3.2.4.tar.gz
cd redis-3.2.4
make && make instal
技術分享

3.將src文件夾將可執行文件拷貝到/usr/local/bin目錄下,因為已經有redis2版本了,所以復制過去之後命名帶上3

cp src/redis-server /usr/local/bin/redis-server3
cp src/redis-cli /usr/local/bin/redis-cli3
cp src/redis
-trib.rb /usr/bin/redis-trib.rb3

4.創建節點配置文件,至少要6個節點才能創建一個集群【這裏示範在同一臺機器上創建6個節點來搭建集群,當然你也可以選擇兩臺機器做成3個master和3個slave的形式】

創建6個文件夾並將redis.conf文件復制過去並修改,以7001文件配置為例,後面同步修改7001為7002-7006就可以了

mkdir -p cluster/7001 cluster/7002 cluster/7003 cluster/7004 cluster/7005 cluster/7006
cp redis.conf cluster/7001
vim cluster/7001/redis.conf

主要修改以下幾處

port  7001                                 //端口7000,7002,7003        
bind 127.0.0.1                             //默認ip為127.0.0.1,所以本機可以不寫,如果是多臺機器需要改為其他節點機器可訪問的ip 否則創建集群時無法訪問對應的端口,無法創建集群
daemonize    yes                           //redis後臺運行
pidfile  /var/run/redis_7001.pid           //pidfile文件對應7000,7001,7002
cluster-enabled  yes                       //開啟集群  把註釋#去掉
cluster-config-file  nodes_7001.conf       //集群的配置  配置文件首次啟動自動生成 7001
cluster
-node-timeout 15000 //請求超時 默認15秒,可自行設置 appendonly yes //aof日誌開啟 有需要就開啟,它會每次寫操作都記錄一條日誌

5.啟動剛剛創建的節點

redis-server3 cluster/7001/redis.conf
redis-server3 cluster/7002/redis.conf
redis-server3 cluster/7003/redis.conf
redis-server3 cluster/7004/redis.conf
redis-server3 cluster/7005/redis.conf
redis-server3 cluster/7006/redis.conf

6.查看redis節點啟動情況,出現以下信息說明啟動正常

ps -ef|grep redis
root      6106     1  0 15:49 ?        00:00:00 redis-server3 127.0.0.1:7001 [cluster]
root      6112     1  0 15:49 ?        00:00:00 redis-server3 127.0.0.1:7003 [cluster]
root      6116     1  0 15:49 ?        00:00:00 redis-server3 127.0.0.1:7004 [cluster]
root      6120     1  0 15:49 ?        00:00:00 redis-server3 127.0.0.1:7005 [cluster]
root      6124     1  0 15:49 ?        00:00:00 redis-server3 127.0.0.1:7006 [cluster]
root      6689     1  0 15:50 ?        00:00:00 redis-server3 127.0.0.1:7002 [cluster]

netstat -tnlp|grep redis
tcp 0 0 127.0.0.1:7001 0.0.0.0:* LISTEN 6106/redis-server3
tcp 0 0 127.0.0.1:7002 0.0.0.0:* LISTEN 6689/redis-server3
tcp 0 0 127.0.0.1:7003 0.0.0.0:* LISTEN 6112/redis-server3
tcp 0 0 127.0.0.1:7004 0.0.0.0:* LISTEN 6116/redis-server3
tcp 0 0 127.0.0.1:7005 0.0.0.0:* LISTEN 6120/redis-server3
tcp 0 0 127.0.0.1:7006 0.0.0.0:* LISTEN 6124/redis-server3
tcp 0 0 127.0.0.1:17001 0.0.0.0:* LISTEN 6106/redis-server3
tcp 0 0 127.0.0.1:17002 0.0.0.0:* LISTEN 6689/redis-server3
tcp 0 0 127.0.0.1:17003 0.0.0.0:* LISTEN 6112/redis-server3
tcp 0 0 127.0.0.1:17004 0.0.0.0:* LISTEN 6116/redis-server3
tcp 0 0 127.0.0.1:17005 0.0.0.0:* LISTEN 6120/redis-server3
tcp 0 0 127.0.0.1:17006 0.0.0.0:* LISTEN 6124/redis-server3

6.創建集群

出現錯誤,看提示信息原來這個工具是基於ruby實現的,所以需要先安裝ruby

redis-trib.rb3 create --replicas 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 127.0.0.1:7006
/usr/share/ruby/vendor_ruby/2.0/rubygems/core_ext/kernel_require.rb:55:in `require: cannot load such file -- redis (LoadError)
    from /usr/share/ruby/vendor_ruby/2.0/rubygems/core_ext/kernel_require.rb:55:in `require    from /usr/local/bin/redis-trib.rb3:25:in `<main>

安裝ruby,查看yum提供ruby的安裝,那直接用yum安裝就行了

yum list|grep ^ruby
yum -y install ruby ruby-devel rubygems rpm-build
gem install redis

重新創建集群

待續

如何創建redis集群