テンセント雲、アリ雲redis 5.0.2クラスタ構築三主三従、centos 7.6


一、今回の実験はテンセント雲で
ファイアウォールを閉じる前に、後でファイアウォールポリシーを追加します.
ホスト3台:t 1 db,t 2 db,t 3 db
システム:centos 7.6
テンセント雲の安全グループは必ず開かなければならなくて、たとえ何台のホストが1つの安全グループでも開かなければならなくて、テンセントは比較的に安全グループの権限がひどく低くて、開かないで私は半日待っていました
redisポート:31213122
redisクラスタポート:132113122注記:クラスタポートはredisポートに10000を追加し、構成する必要はありませんが、ファイアウォールまたはセキュリティグループtcpは開く必要があります.
redisバージョン:5.0.2
 
2、redisのインストール
wget http://download.redis.io/releases/redis-5.0.2.tar.gz

tar -zxvf redis-5.0.2.tar.gz

yum install -y make gcc

make

make install

cd utils/

./install_server.sh


ヒントデフォルトポートport:6379 3121に変更
redisファイルの位置、下の6379はすべて3121になって、後で私は位置がどこにあるかを言いません
Port           : 6379
Config file    : /etc/redis/6379.conf
Log file       : /var/log/redis_6379.log
Data dir       : /var/lib/redis/6379
Executable     : /usr/local/bin/redis-server
Cli Executable : /usr/local/bin/redis-cli

3122インスタンスの起動を追加するには、修正3212に置くべきである.confの後ですが、インストールした以上ここに置きます.
mkdir -p /var/lib/redis/3122

cp /etc/init.d/redis_3122 /etc/init.d/redis_3122

vim /etc/init.d/redis_3122
   3121    3122

chkconfig --add redis_3122

スタートオフ再起動コマンド
systemctl restart redis_3121        /  
systemctl restart redis_3122     /  
systemctl stop redis_3121        /  
systemctl stop redis_3122        /  
systemctl start redis_3121        /  
systemctl start redis_3122        /  
     ,      
    pkill redis-server

         
/usr/local/bin/redis-server /etc/redis/3121.conf
/usr/local/bin/redis-server /etc/redis/3122.conf

redis-cli -h ip(  :127.0.0.1) -p 3121 shutdown  /  

ポートnetstat-apn|grep 3121の表示
 
三,3121.confおよび3122.conf構成
vi  /etc/redis/3121.conf
リモートアクセスの許可
bind 0.0.0.0
protected-mode no
#      IP  ,    0,0,0,0          ip      
bind 0.0.0.0

#      ,    ,     Redis  
port 3121

#     
daemonize yes

#   pid     ,      
pidfile /var/run/redis_3121.pid

#         ,          
logfile /var/log/redis_3121.log

#           ,           
dir /var/lib/redis/3121

#     
cluster-enabled yes

#            ,         
cluster-config-file nodes-3121.conf

#            ,     
cluster-node-timeout 15000

#   AOF       
appendonly yes

#          
appendfsync always

#  redis     ,       ,           
requirepass ssxx 
   
#  redis        ,       ,       ,           
masterauth ssxx    

3121.confレプリケーション名3122.conf
vi  /etc/redis/3122.conf
 3121    3122

ここで最初のホストt 1 dbの構成が完了し、起動
systemctl start redis_3121        /  
systemctl start redis_3122

t 2 dbはt 3 dbと同様にインストール
そして3121をconfおよび3122.confの構成が失われ、t 2 dbとt 3 dbのホストでは3121を修正するだけである.confおよび3122.confバインドip
bind 0.0.0.0

 
bind 0.0.0.0

3台のホストの6つのインスタンスが起動
四、クラスタの作成
クラスタ作成時
Waiting for the cluster to join ..........................................................このステップが長すぎると、ファイアウォールやセキュリティグループがクラスタポートを開いていない可能性があります.
 
クラスタの確立に失敗した場合、インスタンスに6つのファイル/var/lib/redis/3122および/var/lib/redis/3121を削除します.
dump.rdb   nodes-3122.conf

dump.rdb   nodes-3121.conf   

パスワードなしで作成
redis-cli --cluster create 172.16.0.8:3121 172.16.0.8:3122 172.16.0.9:3121 172.16.0.9:3122 172.16.0.10:3121 172.16.0.10:3122 --cluster-replicas 1

 
パスワードの設定
redis-cli -a ssxx --cluster create 172.16.0.8:3121 172.16.0.8:3122 172.16.0.9:3121 172.16.0.9:3122 172.16.0.10:3121 172.16.0.10:3122 --cluster-replicas 1

以下はパスワードなしで作成した表示です
>>> Performing hash slots allocation on 6 nodes... Master[0] -> Slots 0 - 5460 Master[1] -> Slots 5461 - 10922 Master[2] -> Slots 10923 - 16383 Adding replica 172.16.0.9:3122 to 172.16.0.8:3121 Adding replica 172.16.0.8:3122 to 172.16.0.9:3121 Adding replica 172.16.0.10:3122 to 172.16.0.10:3121 >>> Trying to optimize slaves allocation for anti-affinity [OK] Perfect anti-affinity obtained! M: 1c708a6b01f860835c209e8881d3bc0934734076 172.16.0.8:3121    slots:[0-5460] (5461 slots) master S: 2d46d434da5a196fd435f5a4ffb09b9cefbc8f58 172.16.0.8:3122    replicates 28dc96a888d087c20306231d5713672da0ec8951 M: 28dc96a888d087c20306231d5713672da0ec8951 172.16.0.9:3121    slots:[5461-10922] (5462 slots) master S: 8696e44653ae48dc85209face86e02ba0de65e56 172.16.0.9:3122    replicates 4716bd5554eb9514f5ffba973682ec4bf302f7e9 M: 4716bd5554eb9514f5ffba973682ec4bf302f7e9 172.16.0.10:3121    slots:[10923-16383] (5461 slots) master S: 7317a02362de2199e32b3c570f93149041882e6d 172.16.0.10:3122    replicates 1c708a6b01f860835c209e8881d3bc0934734076 Can I set the above configuration? (type 'yes' to accept): yes >>> Nodes configuration updated >>> Assign a different config epoch to each node >>> Sending CLUSTER MEET messages to join the cluster Waiting for the cluster to join ... >>> Performing Cluster Check (using node 172.16.0.8:3121) M: 1c708a6b01f860835c209e8881d3bc0934734076 172.16.0.8:3121    slots:[0-5460] (5461 slots) master    1 additional replica(s) S: 7317a02362de2199e32b3c570f93149041882e6d 172.16.0.10:3122    slots: (0 slots) slave    replicates 1c708a6b01f860835c209e8881d3bc0934734076 M: 4716bd5554eb9514f5ffba973682ec4bf302f7e9 172.16.0.10:3121    slots:[10923-16383] (5461 slots) master    1 additional replica(s) M: 28dc96a888d087c20306231d5713672da0ec8951 172.16.0.9:3121    slots:[5461-10922] (5462 slots) master    1 additional replica(s) S: 8696e44653ae48dc85209face86e02ba0de65e56 172.16.0.9:3122    slots: (0 slots) slave    replicates 4716bd5554eb9514f5ffba973682ec4bf302f7e9 S: 2d46d434da5a196fd435f5a4ffb09b9cefbc8f58 172.16.0.8:3122    slots: (0 slots) slave    replicates 28dc96a888d087c20306231d5713672da0ec8951 [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered.
ここで成功
構成を変更してクラスタを構築し続ける
五、クラスタ状態の表示
redis-cli --cluster check 172.16.0.8:3121

172.16.0.8:3121 (1c708a6b...) -> 0 keys | 5461 slots | 1 slaves. 172.16.0.10:3121 (4716bd55...) -> 0 keys | 5461 slots | 1 slaves. 172.16.0.9:3121 (28dc96a8...) -> 0 keys | 5462 slots | 1 slaves. [OK] 0 keys in 3 masters. 0.00 keys per slot on average. >>> Performing Cluster Check (using node 172.16.0.8:31621) M: 1c708a6b01f860835c209e8881d3bc0934734076 172.16.0.8:31621    slots:[0-5460] (5461 slots) master    1 additional replica(s) S: 7317a02362de2199e32b3c570f93149041882e6d 172.16.0.12:31622    slots: (0 slots) slave    replicates 1c708a6b01f860835c209e8881d3bc0934734076 M: 4716bd5554eb9514f5ffba973682ec4bf302f7e9 172.16.0.12:31621    slots:[10923-16383] (5461 slots) master    1 additional replica(s) M: 28dc96a888d087c20306231d5713672da0ec8951 172.16.0.9:31621    slots:[5461-10922] (5462 slots) master    1 additional replica(s) S: 8696e44653ae48dc85209face86e02ba0de65e56 172.16.0.9:31622    slots: (0 slots) slave    replicates 4716bd5554eb9514f5ffba973682ec4bf302f7e9 S: 2d46d434da5a196fd435f5a4ffb09b9cefbc8f58 172.16.0.8:31622    slots: (0 slots) slave    replicates 28dc96a888d087c20306231d5713672da0ec8951 [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered.
 
六、クラスタを使用して、任意のポートインスタンスでもいいです.
[root@t1db ~]# redis-cli -c -h 172.16.0.8 -p 3121 172.16.0.8:3121> set a test -> Redirected to slot [15495] located at 172.16.0.10:3121 OK 172.16.0.10:3121> get a "test"172.16.0.10:31621> exit [root@t1db ~]# redis-cli -c -h 172.16.0.8 -p 3122 172.16.0.8:3122> get a -> Redirected to slot [15495] located at 172.16.0.10:3121 "test"172.16.0.12:3121> exit [root@t1db ~]# redis-cli -c -h 172.16.0.9 -p 3122  172.16.0.9:3122> get a -> Redirected to slot [15495] located at 172.16.0.10:3121 "test"172.16.0.10:3121> exit