28_プロジェクトで一連の読み書き分離+高可用性+マルチマスターredisクラスタークラスターを再構築する


Redisクラスターの最も基本的な知識の一部

redisクラスター:自動、マスター+スレーブレプリケーションと読み取り/書き込みの分離、マスター+スレーブの高可用性、マスターとスレーブの切り替え、複数のマスターハッシュスロットをサポート、分散データストレージをサポート

redisマスタースレーブとセントリークラスターを含む以前のすべてのインスタンスを停止します

1. redisクラスターの重要な設定

クラスター対応<はい/いいえ>

cluster-config-file <filename>:これは、クラスターモードでのredisインスタンスのファイルを指定して、そこにクラスターの状態を保存します。これには、ノードのオンラインと下限、フェイルオーバーなど、クラスター内の他のマシンに関する情報が含まれます。維持し、ファイルを割り当て、redisに維持させる

cluster-node-timeout <ミリ秒>:ノード存続タイムアウト時間、一定時間以上、ノードがダウンしていると考え、マスターがダウンしている場合、マスター/スタンバイスイッチオーバーがトリガーされ、スレーブはサービスを提供しません

2. 3つのマシンで6つのredisインスタンスを起動します

(1)ディレクトリをeshop-cache03にデプロイします

/ etc / redis(redis構成ファイルを保存)、/ var / redis / 6379(redis永続ファイルを保存)

(2)設定ファイルを書き込む

Redisクラスターでは、高可用性で堅牢な分散クラスターを形成するために少なくとも3つのマスターが必要です。各マスターは、最小要件で少なくとも1つのスレーブ、3つのマスター、および3つのスレーブを提供することをお勧めします

正式な環境では、6台のマシン、少なくとも3台のマシンで構築することをお勧めします

各マスターが自分のスレーブと同じマシン上にないことを確認してください。6つの場合は、マスター1つ+スレーブ1つを使用することをお勧めします

6台のRedisインスタンスのRedisクラスターを構築するための3台のマシン

mkdir -p / etc / redis-cluster
mkdir -p / var / log / redis
mkdir -p / var / redis / 7001

ポート7001
クラスタ対応はい
cluster-config-file /etc/redis-cluster/node-7001.conf
cluster-node-timeout 15000 daemonize
はい
pidfile /var/run/redis_7001.pid
dir / var / redis / 7001
logfile / var /log/redis/7001.log
bind 192.168.31.187
appendonly yes

開始するには少なくとも3つのマスターノードを使用し、各マスターはスレーブノードを追加します。最初に6つのノードを選択し、6つのインスタンスを開始します

上記の構成ファイルを/ etc / redisの下の6に置きます:7001.conf、7002.conf、7003.conf、7004.conf、7005.conf、7006.conf

(3)本番環境用の起動スクリプトを準備する

/etc/init.dの下に、6つの起動スクリプトを置きます:redis_7001、redis_7002、redis_7003、redis_7004、redis_7005、redis_7006

各起動スクリプトで、対応するポート番号が変更されます

(4)3台のマシンでそれぞれ6つのredisインスタンスを起動します

各構成ファイルのslaveofを削除します

3.クラスターを作成する

================================================== =====================
yum install -y gcc gcc-c ++ openssl * readline * ncurses * zlib * libxml * libjpeg * libpng * libxslt * libtool *

wget https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.1.tar.gz
tar zxf ruby​​-2.5.1.tar.gz
cd ruby​​-2.5.1
./configure- prefix = / usr / local / ruby
make && make install

cd / usr / local / ruby
cp bin / ruby​​ / usr / local / bin
cp bin / gem / usr / local / bin


cd /usr/local/ruby-2.5.1/ext/zlib
ruby ./extconf.rb
make

#make time error:make:*** No make make to target /include/ruby.h '、required byzlib.o'。Stop。change
Makefile file
vim Makefile
zlib.o:$(top_srcdir)/include/ruby.h zlib.oに変更:../../include/ruby.h
make && make install

wget http://rubygems.org/downloads/redis-3.3.0.gem
gem install -l ./redis-3.3.0.gem

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:各マスターには複数のスレーブがあります

6台のマシン、3台のマスター、3台のスレーブ、1台のマシン上にマスターとスレーブを作成しない

はい

redis-trib.rbチェック192.168.31.187:7001

4.読み取りと書き込みの分離+高可用性+複数のマスター

読み取りと書き込みの分離:各マスターにはスレーブの
高可用性があります:マスターはダウンしており、スレーブは
複数のマスターに自動的に切り替えられます:水平方向の拡張により大量のデータがサポートされます

おすすめ

転載: www.cnblogs.com/hg-super-man/p/12741214.html