兩臺機器部署:
現有兩臺機器10.100.16.83和10.100.16.84局域網IP部署集羣環境:
使用最新的穩定版本redis-5.優勢是這個版本把集羣啓動從ruby中遷移到C中了,這樣就不用安裝ruby環境。直接使用redis-cli --cluster create
命令就可以了。
單機環境配置,配置完成後用於創建多個port的配置直接使用.
redis-config:
- bind : 本機ip
- daemonize no
- protected-mode no
- port 7379
- cluster-enabled yes
- cluster-node-timeout 1500
mkdir /data/work/redis/redis_cluster
進入redis_cluster,創建7000 7001 7002三個文件夾
同樣的操作第二個機器,創建7003 7004 7005 三個文件夾
五:更新配置文件
cp redis.conf redis_cluster/7000
cp redis.conf redis_cluster/7001
cp redis.conf redis_cluster/7002
第二臺機器操作
cp redis.conf redis_cluster/7003
cp redis.conf redis_cluster/7004
cp redis.conf redis_cluster/7005
把6個配置的內容更新爲下面的,如果不想清空源文件,則把下面的語句都粘到配置文件的最後面,保證相同參數最終覆蓋,同時下面的註釋需要去掉
port 7000 //端口7000,7002,7003
bind 10.100.16.83或10.100.16.84 // 默認ip爲127.0.0.1 需要改爲其他節點機器可訪問的ip 否則創建集羣時無法訪問對應的端口,無法創建集羣
daemonize yes //redis後臺運行
pidfile /var/run/redis_7000.pid //pidfile文件對應7000,7001,7002
cluster-enabled yes //開啓集羣 把註釋#去掉
cluster-config-file nodes_7000.conf //集羣的配置 配置文件首次啓動自動生成 7000,7001,7002
cluster-node-timeout 15000 //請求超時 默認15秒,可自行設置
appendonly yes //aof日誌開啓 有需要就開啓,它會每次寫操作都記錄一條日誌
六:啓動節點,進行測試
cd /usr/local/bin
第一臺機器上執行
./redis-server redis_cluster/7000/redis.conf
./redis-server redis_cluster/7001/redis.conf
./redis-server redis_cluster/7002/redis.conf
另外一臺機器上執行
./redis-server redis_cluster/7003/redis.conf
./redis-server redis_cluster/7004/redis.conf ./redis-server redis_cluster/7005/redis.conf
然後ps -ef|grep redis查看進程是否啓動
創建集羣命令:
redis-cli --cluster create 10.100.16.83:7000 10.100.16.83:7001 10.100.16.83:7002 10.100.16.84:7003 10.100.16.84:7004 10.100.16.84:7005 --cluster-replicas 1
查看是否正常使用:
第一臺機器
redis-cli -h 10.100.16.83 -c -p 7001
第二臺機器
redis-cli -h 10.100.16.84 -c -p 7005 這樣直接使用命令是加入了環境變量
然後在第一個窗口隨便敲個命令
10.100.16.83:7001> set a b
在第二個窗口敲一個get命令
10.100.16.84:7005> get a
-> Redirected to slot [15495] located at 10.100.16.83:7001
"b"
結果是b,說明集羣是正常的。
參考:
redis集羣安裝(2臺機器) – 這個是中文詳細教程,後面部分集羣命令是redis-5以下可以使用,5以上版本就不需要了。
Redis cluster tutorial — 官網集羣安裝,有最新的怎麼安裝部分
Download – redis官方下載地址,最好使用的是Stable 版本