詳細可以參看《redis官網文檔》或者《redis中文網》,按照步驟操作就可以了
mkdir cluster-test cd cluster-test/ mkdir 7000 7001 7002 7003 7004 7005
按照如下配置修改redis.conf,並放入對應的目錄中
//默認ip爲127.0.0.1 直接註釋掉 配置文件56行 bind 127.0.0.1 //端口7000,7002,7003 配置文件92行 port 7000 // daemonize 的參數爲yes,表示後臺運行 配置文件136行 daemonize yes //pidfile文件對應7000,7001,7002 我是一臺虛擬機創建6個redis實例,所以需要改配置文件,配置文件158行 pidfile /var/run/redis_7000.pid //aof日誌開啓,默認是no 有需要就開啓,它會每次寫操作都記錄一條日誌 配置文件672行 appendonly yes //開啓集羣 把註釋#去掉 配置文件814行 cluster-enabled yes //集羣的配置 配置文件首次啓動自動生成 7000,7001,7002 配置文件822行 cluster-config-file nodes_7000.conf //請求超時 默認15秒,可自行設置 配置文件828行 cluster-node-timeout 15000
./redis-server cluster-test/7000/redis.conf ./redis-server cluster-test/7001/redis.conf ./redis-server cluster-test/7002/redis.conf ./redis-server cluster-test/7003/redis.conf ./redis-server cluster-test/7004/redis.conf ./redis-server cluster-test/7005/redis.conf
查看redis啓動的進程
ps -ef|grep redis
現在我們已經有了六個正在運行中的 Redis 實例, 接下來我們需要使用這些實例來創建集羣, 併爲每個節點編寫配置文件。
通過使用 Redis 集羣命令行工具 redis-trib , 編寫節點配置文件的工作可以非常容易地完成: redis-trib 位於 Redis 源碼的 src 文件夾中, 它是一個 Ruby 程序, 這個程序通過向實例發送特殊命令來完成創建新集羣, 檢查集羣, 或者對集羣進行重新分片(reshared)等工作。
首先進入redis的tar包解壓的目錄(我的是在/opt/redis-4.0.10/src下)
cd /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 表示我們希望爲集羣中的每個主節點創建一個從節點。之後跟着的其他參數則是這個集羣實例的地址列表,3個master3個slave redis-trib 會打印出一份預想中的配置給你看, 如果你覺得沒問題的話, 就可以輸入 yes , redis-trib 就會將這份配置應用到集羣當中,讓各個節點開始互相通訊,最後可以得到如下信息:
輸入yes 成功後,如下所示
另外,如果執行命令的時候報錯;這個工具是用 ruby 實現的,所以需要安裝 ruby
yum -y install ruby ruby-devel rubygems rpm-build
再執行
gem install redis
如果執行gem install redis出錯,可以參看《執行gem install redis時提示redis requires Ruby version >= 2.2.2.錯誤解決方法》
可以看到,set的時候,會把參數塞到不同的槽位上(節點上)