目錄
- 一、cluster(叢集)概述
- 二、cluster特性
- 三、優缺點
- 四、搭建叢集
-
- 4.1環境
- 4.2安裝reids
- 4.3修改配置檔案
- 4.4開啟redis服務
- 4.5測試群集
- 4.6檢視叢集狀态
- 4.7檢視節點資訊
一、cluster(叢集)概述
cluster同時滿足了sentinel的一些特性達到了高可用目的,不同點是采用hash算法根據key自動将資料配置設定到不同的節點當中,新增節點非常友善,當資料量過大時,可增加機器進行擴容,解決了單機容量受限的問題。
二、cluster特性
1、多個redis節點直接資料共享
2、所有的節點都是一主一從或一主多從
3、不支援同時處理多個key(如MSET/MGET),因為cluster需要把key配置設定節點,高并發量同時建立key-value會降低性能并導緻不可預測的行為
4、支援線上增加、删除節點
5、不支援多資料庫選擇
三、優缺點
優點:
無中心架構
可擴充性高
高可用性
降低運維成本,提高系統的擴充性和可用性。
缺點:
資料通過異步複制,不保證資料的強一緻性。
多個業務使用同一套叢集時,無法根據統計區分冷熱資料,資源隔離性較差,容易出現互相影響的情況。
四、搭建叢集
4.1環境
主機 | ip |
---|---|
master1 | 20.0.0.10 |
master2 | 20.0.0.11 |
master3 | 20.0.0.12 |
slave1 | 20.0.0.13 |
slave2 | 20.0.0.14 |
slave3 | 20.0.0.15 |
4.2安裝reids
每一台伺服器都需要安裝
[[email protected] ~]# tar zxf redis-5.0.7.tar.gz
[[email protected] ~]# cd redis-5.0.7/
[[email protected] redis-5.0.7]# make -j2
[[email protected] redis-5.0.7]# make PREFIX=/usr/local/redis install
[[email protected] redis-5.0.7]# ln -s /usr/local/redis/bin/* /usr/local/bin/
[[email protected] redis-5.0.7]# cd utils/
[[email protected] utils]# ./install_server.sh
4.3修改配置檔案
[[email protected] utils]# vi /etc/redis/6379.conf
bind 20.0.0.10 #删除原來的127.0.0.1,改成自己的IP
cluster-enabled yes #前面的注釋去掉
appendonly yes #開啟AOF持久化
cluster-config-file nodes-6379.conf #前面的注釋去掉
cluster-node-timeout 15000 #前面的注釋去掉
cluster-require-full-coverage no #前面的注釋去掉,把yes改成no
4.4開啟redis服務
在master1上使用腳本建立叢集
[[email protected] ~]# yum -y install gem
[[email protected] opt]# gem install redis-3.2.0.gem
[[email protected] opt]# cd redis-5.0.7/src/
[[email protected] src]# redis-cli --cluster create --cluster-replicas 1 20.0.0.10:6379 20.0.0.11:6379 20.0.0.12:6379 20.0.0.13:6379 20.0.0.14:6379 20.0.0.15:6379
4.5測試群集
4.6檢視叢集狀态
20.0.0.10:6379> cluster info
4.7檢視節點資訊
20.0.0.10:6379> cluster nodes