Redis集羣部署

1、概述java

    Redis3.0版本以後支持Cluster.node

2、redis cluster安裝redis

    一、下載和解包vim

cd /usr/local/ wget http://download.redis.io/releases/redis-5.0.5.tar.gz
tar -zxvf redis-5.0.5.tar.gz
   

 二、 編譯安裝ruby

cd redis-5.0.5 make && make install 

  三、建立redis節點bash

     測試咱們選擇2臺服務器,分別爲:192.168.1.237,192.168.1.238.每分服務器有3個節點。服務器

  我先在192.168.1.237建立3個節點:app

cd /usr/local/ mkdir redis_cluster //建立集羣目錄 
cd /usr/local/redis_cluster
mkdir 7000 7001 7002 //分別表明三個節點 其對應端口 7000 7001 7002
//建立7000節點爲例,拷貝到7000目錄 cp /usr/local/redis-5.0.5/redis.conf ./redis_cluster/7000/ //拷貝到7001目錄 cp /usr/local/redis-5.0.5/redis.conf ./redis_cluster/7001/ //拷貝到7002目錄 cp /usr/local/redis-5.0.5/redis.conf ./redis_cluster/7002/

   分別對7001,700二、7003文件夾中的3個文件修改對應的配置post

bind ...//機器ip地址
port 7000 //端口7000,7002,7003

daemonize yes //redis後臺運行 pidfile /var/run/redis_7000.pid //pidfile文件對應7000,7002,7003 appendonly yes //aof日誌開啓 有須要就開啓,它會每次寫操做都記錄一條日誌 cluster-enabled yes //開啓集羣 把註釋#去掉 cluster-config-file nodes_7000.conf //集羣的配置 配置文件首次啓動自動生成 7000,7001,7002 cluster-node-timeout 5000 //請求超時 設置5秒夠了

   在192.168.1.238建立3個節點:對應的端口改成7003,7004,7005.配置對應的改一下就能夠了。測試

 把修改後的配置文件,copy到8002-8006,修改第二、三、5項裏的端口號,能夠用批量替換:
vim redis.config
文件中使用 esc:
   :%s/源字符串/目的字符串/g

   四、兩臺機啓動各節點(兩臺服務器方式同樣)

cd /usr/local 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

-bash: redis-server: command not found:

  ln -s /usr/local/redis-5.0.5/src/redis-server /usr/bin/redis-server

重啓命令:

  /usr/local/redis-5.0.5/src/redis-cli -c -h 127.0.0.1  -p 7002 shutdown

五、查看服務

      ps -ef | grep redis   #查看是否啓動成功

     netstat -tnlp | grep redis #能夠看到redis監聽端口

3、建立集羣(redis5之前的版本集羣是依靠ruby腳本redis-trib.rb實現)

 注意防火牆,能夠相互訪問

redis-5.0.5/src/redis-cli --cluster create --cluster-replicas 1 172.10.0.121:7000 172.10.0.121:7001 172.10.0.121:7002 172.10.0.123:7003 172.10.0.123:7004 172.10.0.123:7005

 

解釋下, --replicas  1  表示 自動爲每個master節點分配一個slave節點    上面有6個節點,程序會按照必定規則生成 3個master(主)3個slave(從)

    前面已經提醒過的 防火牆必定要開放監聽的端口,不然會建立失敗。

 運行中,提示Can I set the above configuration? (type 'yes' to accept): yes    //輸入yes

 接下來 提示  Waiting for the cluster to join..........  安裝的時候在這裏就一直等等等,沒反應,傻傻等半天,看這句提示上面一句,Sending Cluster Meet Message to join the Cluster.

    這下明白了,我剛開始在一臺Server上去配,也是不須要等的,這裏還須要跑到Server2上作一些這樣的操做。

    在127.0.0.1, redis-cli -c -p 700*  分別進入redis各節點的客戶端命令窗口, 依次輸入 cluster meet 192.168.1.238 7000……

    回到Server1,已經建立完畢了。

    查看一下 /usr/local/redis/src/redis-cli check 127.0.0.1:7000

    到這裏集羣已經初步搭建好了。

 

4、測試

1)鏈接任意一個客戶端便可:
 
/usr/local/redis-5.0.2/src/redis-cli -a xxx -c -h 192.168.5.100 -p 8001
 
提示:-a訪問服務端密碼,-c表示集羣模式,指定ip地址和端口號   ./redis-cli -c -a xxx -h 192.168.5.100 -p 8001

 

2)進行驗證: cluster info(查看集羣信息)、cluster nodes(查看節點列表)
 

4)關閉集羣則須要逐個進行關閉,使用命令:

/usr/local/redis/src/redis-cli -a xxx -c -h 192.168.0.60 -p 8001 shutdown

相關文章
相關標籤/搜索