【NoSQL】VIPを捨ててMongoDB RepSet+Consul高可用性切替システムを構築


MongoDB RepSet +Consul
環境の紹介:
MongoDB   :192.168.151:27151       consul agent

                 192.168.152:27152       consul agent

                 192.168.153:27153       consul agent

原理紹介:VIPを捨ててconsulとsentinelを使ってredisの高利用可能なシステムmongodbコピーセットの構築を構築する
1.MongoDBマスターロールチェックスクリプト(MongoDBコピーセットはprimaryとsecondaryに分かれていますが、分かりやすいようにマスタースレーブと呼ばれています):
cat> /root/check/mongo_isMaster.sh <

2.MongoDB対応のconsulサービスプロファイル(27151)、その他2つのポートとIPアドレスを変更すればよい
cat> /etc/consul/mongo_27151.json <

3.consul agentプロファイルの再ロード
root@MongoDB151-FedoraServer-IP151#consul reload

注意!!!オンライン上のマスターライブラリがフェイルオーバーを送信すると、ライブラリから新しいマスターに変わります.元のマスターライブラリがフェイルオーバーを再排除する前に、新しいマスターライブラリの優先度をこのコピーセットの中で最も高く変更する必要があります.マスターライブラリがオンラインになった後、高い優先度でマスターライブラリの地位を強制的に再占有することを防止し、一部のトランザクションが失われたり、接続がぶれたりします.
MongoDB関連コマンド:
rs.isMaster() #        

       

conf=rs.conf

conf.members[1].priority=10  #               10( _id      ,         )

rs.reconfig(conf)                        #       

rs.reconfig(conf,{force:true}) #         ,          ,              

rs.slaveOk()                               #