redis cluster最最基礎(chǔ)的一些知識redis cluster: 自動唁盏,master+slave復(fù)制和讀寫分離梦裂,master+slave高可用和主備切換咖为,支持多個master的hash slot支持數(shù)據(jù)分布式存儲停止之前所有的實例嗅义,包括redis主從和哨兵集群1柬唯、redis cluster的重要配置cluster-enabledcluster-config-file:這是指定一個文件,供cluster模式下的redis實例將集群狀態(tài)保存在那里寨辩,包括集群中其他機器的信息吓懈,比如節(jié)點的上線和下限,故障轉(zhuǎn)移靡狞,不是我們?nèi)ゾS護的耻警,給它指定一個文件,讓redis自己去維護的cluster-node-timeout:節(jié)點存活超時時長甸怕,超過一定時長甘穿,認為節(jié)點宕機,master宕機的話就會觸發(fā)主備切換梢杭,slave宕機就不會提供服務(wù)
2温兼、在三臺機器上啟動6個redis實例
(1)在eshop-cache03上部署目錄
/etc/redis(存放redis的配置文件),/var/redis/6379(存放redis的持久化文件)
(2)編寫配置文件
redis cluster集群武契,要求至少3個master募判,去組成一個高可用,健壯的分布式的集群咒唆,每個master都建議至少給一個slave届垫,3個master,3個slave全释,最少的要求
正式環(huán)境下装处,建議都是說在6臺機器上去搭建,至少3臺機器
保證浸船,每個master都跟自己的slave不在同一臺機器上符衔,如果是6臺自然更好找前,一個master+一個slave就死了
3臺機器去搭建6個redis實例的redis cluster
mkdir -p /etc/redis-cluster
mkdir -p /var/log/redis
mkdir -p /var/redis/7001
port 7001
cluster-enabled yes
cluster-config-file /etc/redis-cluster/node-7001.conf
cluster-node-timeout 15000
daemonize yes
pidfile /var/run/redis_7001.pid
dir /var/redis/7001
logfile /var/log/redis/7001.log
bind 192.168.31.187
appendonly yes
至少要用3個master節(jié)點啟動,每個master加一個slave節(jié)點判族,先選擇6個節(jié)點,啟動6個實例
將上面的配置文件项戴,在/etc/redis下放6個形帮,分別為: 7001.conf,7002.conf周叮,7003.conf辩撑,7004.conf,7005.conf仿耽,7006.conf
(3)準備生產(chǎn)環(huán)境的啟動腳本
在/etc/init.d下合冀,放6個啟動腳本,分別為: redis_7001, redis_7002, redis_7003, redis_7004, redis_7005, redis_7006
每個啟動腳本內(nèi)项贺,都修改對應(yīng)的端口號
(4)分別在3臺機器上君躺,啟動6個redis實例
將每個配置文件中的slaveof給刪除
3、創(chuàng)建集群
下面方框內(nèi)的內(nèi)容廢棄掉
=======================================================================
wget https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz
tar -zxvf ruby-2.3.1.tar.gz
./configure -prefix=/usr/local/ruby
make && make install
cd /usr/local/ruby
cp bin/ruby /usr/local/bin
cp bin/gem /usr/local/bin
wget http://rubygems.org/downloads/redis-3.3.0.gem
gem install -l ./redis-3.3.0.gem
gem list --check redis gem
=======================================================================
因為开缎,以前比如公司里面搭建集群棕叫,公司里的機器的環(huán)境,運維會幫你做好很多事情
在講課的話奕删,我們手工用從零開始裝的linux虛擬機去搭建俺泣,那肯定會碰到各種各樣的問題
yum install -y ruby
yum install -y rubygems
gem install redis
cp /usr/local/redis-3.2.8/src/redis-trib.rb /usr/local/bin
redis-trib.rb create --replicas 1 192.168.31.187:7001 192.168.31.187:7002 192.168.31.19:7003 192.168.31.19:7004 192.168.31.227:7005 192.168.31.227:7006
--replicas: 每個master有幾個slave
6臺機器,3個master完残,3個slave伏钠,盡量自己讓master和slave不在一臺機器上
yes
redis-trib.rb check 192.168.31.187:7001
4、讀寫分離+高可用+多master
讀寫分離:每個master都有一個slave
高可用:master宕機谨设,slave自動被切換過去
多master:橫向擴容支持更大數(shù)據(jù)量