1. Redisイメージを取得する
2. それぞれポート6379、6380、6381を使用して3つのRedisコンテナサービスを起動します。 docker run --name redis-6379 -p 6379:6379 -d redis docker run --name redis-6380 -p 6380:6379 -d redis docker run --name redis-6381 -p 6381:6379 -dredis 3. コンテナを表示する [tcy@tcy1 ~]$ docker ps -a コンテナID イメージ コマンド 作成ステータス ポート名 a9fa77adc598 daocloud.io/library/redis "docker-entrypoint.s 2 時間前 2 時間前 0.0.0.0:6381->6379/tcp redis-6381 6ee2f2f007e6 daocloud.io/library/redis "docker-entrypoint.s 2 時間前 2 時間前にアップ 0.0.0.0:6380->6379/tcp redis-6380 ab54741166e1 daocloud.io/library/redis "docker-entrypoint.s 3 時間前 3 時間前にアップ 0.0.0.0:6379->6379/tcp redis-6379 4. テストコンテナ、成功 docker exec -it ab54741166e1 redis-cli: コンテナに入ります [root@tcy1 tcy]# docker exec -it ab54741166e1 redis-cli 127.0.0.1:6379> b tcy を設定 わかりました 127.0.0.1:6379> 取得b 「tcy」 127.0.0.1:6379> 終了[root@tcy1 tcy]# 5. Redisクラスタ構成を開始する 5.1. コンテナイントラネットのIPアドレスを確認する
3 つの Redis のイントラネット IP アドレスは次のとおりです。 redis-6379: 172.17.0.1:6379 redis-6380: 172.17.0.2:6379 レディス-6381:172.17.0.3:6379 5.2. Dockerコンテナに入り、現在のRedisロール(マスターまたはスレーブ)を確認します。 [root@tcy1 tcy]# docker exec -it ab54741166e1 /bin/bash ルート@ab54741166e1:/data# redis-cli 127.0.0.1:6379> 情報レプリケーション # レプリケーション 役割:マスター 接続されたスレーブ:0 マスター返信ID:d43d1ae8cde6cb084220e18b926aba79e0bb2504 マスター返信ID2:0000000000000000000000000000000000000000000 マスター_repl_オフセット:0 秒_repl_offset:-1 repl_backlog_active:0 レプリケーションバックログサイズ:1048576 repl_backlog_first_byte_offset:0 repl_backlog_histlen:0 127.0.0.1:6379>終了 root@ab54741166e1:/data# 終了 出口 現在、3つすべてがマスター状態です 5.3. redis-cli コマンドを使用して、redis-6380 と redis-6381 のホストを 172.17.0.1:6379 に変更します。 [root@tcy1 tcy]# docker exec -it a9fa77adc598 /bin/bash //redis-6380 ルート@a9fa77adc598:/data# redis-cli 127.0.0.1:6379>スレーブ172.17.0.1 6379 わかりました 127.0.0.1:6379>終了 root@a9fa77adc598:/data# 終了 出口 [root@tcy1 tcy]# docker exec -it 6ee2f2f007e6 /bin/bash //redis-6381 ルート@6ee2f2f007e6:/data# redis-cli 127.0.0.1:6379>スレーブ172.17.0.1 6379 わかりました 127.0.0.1:6379>終了 5.4. redis-6379 にすでに 2 つのスレーブがあるかどうかを確認します。connected_slaves: 2、yes [root@tcy1 tcy]# docker exec -it ab54741166e1 /bin/bash ルート@ab54741166e1:/data# redis-cli 127.0.0.1:6379> 情報レプリケーション # レプリケーション 役割:マスター 接続スレーブ:2 スレーブ0:ip=172.17.0.3、ポート=6379、状態=オンライン、オフセット=378、ラグ=1 スレーブ1:ip=172.17.0.2、ポート=6379、状態=オンライン、オフセット=378、ラグ=0 マスター返信ID:ce193b15cfd57f7dc3ccfbf2a4aef6156b131e6d マスター返信ID2:0000000000000000000000000000000000000000000 マスター_repl_オフセット:378 秒_repl_offset:-1 repl_backlog_active:1 レプリケーションバックログサイズ:1048576 repl_backlog_first_byte_offset:1 レプリケーションバックログ履歴長:378 127.0.0.1:6379>終了 root@ab54741166e1:/data# 終了 出口 5.5. Sentinel の設定 設定用の3つのRedisコンテナを入力し、コンテナのルートディレクトリにsentinel.confファイルを作成します。 ファイルの内容は次のとおりです: sentinel monitor mymaster 172.17.0.1 6379 1 [root@tcy1 tcy]# docker exec -it a9fa77adc598 /bin/bash root@a9fa77adc598:/data# cd / && sentinel.conf をタッチします root@a9fa77adc598:/# vim /sentinel.conf bash: vim: コマンドが見つからない場合 解決策: 1. apt-get update 2. apt-get install vim 最後に、Redis Sentinel を起動します。 ルート@a9fa77adc598:/# redis-sentinel /sentinel.conf 342:X 24 Jun 11:37:58.934 # oO0OoO0OoO0Oo Redis が起動しています oO0OoO0OoO0Oo 342:X 24 Jun 11:37:58.957 # Redis バージョン=4.0.10、ビット=64、コミット=00000000、変更=0、pid=342、開始しました 342:X 24 Jun 11:37:58.958 # 設定が読み込まれました 342:X 24 Jun 11:37:58.959 # 最大クライアント数 10000 を要求しましたが、最大ファイル記述子数は少なくとも 10032 必要です。 342:X 24 Jun 11:37:58.959 # OS エラーのため、サーバーは最大オープンファイルを 10032 に設定できません: 操作は許可されていません。 342:X 24 Jun 11:37:58.960 # 現在開いているファイルの最大数は 4096 です。 ulimit が低いため、maxclients は 4064 に減らされました。 maxclients をさらに増やす必要がある場合は、「ulimit -n」を増やしてください。 _._ _.-``__ ''-._ _.-`` `. `_. ''-._ Redis 4.0.10 (00000000/0) 64 ビット .-`` .-```. ```\/ _.,_ ''-._ ( ' , .-` | `, ) センチネルモードで実行中 |`-._`-...-` __...-.``-._|'` _.-'| ポート: 26379 | `-._ `._ / _.-' | PID: 342 `-._ `-._ `-./ _.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | http://redis.io `-._ `-._`-.__.-'_.-' _.-' |`-._`-._ `-.__.-' _.-'_.-'| | `-._`-._ _.-'_.-' | `-._ `-._`-.__.-'_.-' _.-' `-._ `-.__.-' _.-' 「-._ _.-」 「-.__.-」 342:X 24 Jun 11:37:59.068 # 警告: /proc/sys/net/core/somaxconn が 128 という低い値に設定されているため、TCP バックログ設定 511 を適用できません。 342:X 24 Jun 11:37:59.089 # センチネルIDはdfd5a5bfe1036b1df3395c4ba858329034fc5b7eです 342:X 6月24日 11:37:59.091 # +モニター マスター mymaster 172.17.0.1 6379 クォーラム 1 342:X 6月24日 11:37:59.110 * +スレーブ スレーブ 172.17.0.3:6379 172.17.0.3 6379 @ mymaster 172.17.0.1 6379 342:X 6月24日 11:37:59.115 * +スレーブ スレーブ 172.17.0.2:6379 172.17.0.2 6379 @ mymaster 172.17.0.1 6379 342:X 6月24日 11:39:27.601 * +sentinel sentinel ba9b0d0539d8273edfcbd922fe138f50daa78bbb 172.17.0.2 26379 @ mymaster 172.17.0.1 6379 342:X 6月24日 11:41:59.144 * +sentinel sentinel f0510f8582b72c056531f219397ed8826683e665 172.17.0.1 26379 @ mymaster 172.17.0.1 6379 複数のウィンドウを開いて簡単に観察できます。 Sentinel センチネルの設定が完了しました 5.6 テスト マスターを閉じる [tcy@tcy1 ~]$ docker stop ab54741166e1 ab54741166e1 この時点で、残りの 2 つのスレーブは自動的に新しいマスターを選出し、ここでは 172.17.0.2 がマスターとして選出されます。 172.17.0.2 を確認すると、ホストになっています。 [root@tcy1 /]# docker exec -it 6ee2f2f007e6 /bin/bash ルート@6ee2f2f007e6:/data# redis-cli 127.0.0.1:6379> 情報レプリケーション # レプリケーション 役割:マスター 接続スレーブ:1 スレーブ0:ip=172.17.0.3、ポート=6379、状態=オンライン、オフセット=66906、ラグ=1 マスター返信ID:5a7489c8181ddf0d73d418d30d6a4c8e039198ba マスター返信ID2:ce193b15cfd57f7dc3ccfbf2a4aef6156b131e6d マスター_repl_オフセット:67041 秒の繰り返しオフセット:65534 repl_backlog_active:1 レプリケーションバックログサイズ:1048576 repl_backlog_first_byte_offset:85 レプリケーションバックログ履歴:66957 127.0.0.1:6379> 要約する 上記は、編集者が紹介した Docker での redis のマスター スレーブ構成です。皆様のお役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。編集者がすぐに返信します。 以下もご興味があるかもしれません:
|
<<: MySql で SQL 実行プランをクエリするために explain を使用する方法
>>: vue3 を使用してマテリアル ライブラリを構築する方法
問題の説明CSS を使用して上部の固定効果を実現したいと思います。 margin-top と pos...
Linux の ps コマンドは Process Status の略です。 ps コマンドは、システ...
目次1. 準備2. 展開プロセス3. アクセステストHalo は、ブログに慣れている学生に追加のオプ...
この記事では、Vueの具体的なコードを共有して、シンプルなマーキー効果を実現しています。具体的な内容...
今日はベテランの貴重な経験を共有します。著者は技術管理の経験が7年あり、多い時は80人以上を率いてい...
元のアドレス: https://blog.csdn.net/m0_46579864/article/...
目次1. reduxとreactの関係2. Reactのマルチコンポーネント共有3. reduxの3...
目次1. Document.execCommand() メソッド(1)コピー操作(2)貼り付け操作(...
目次問題の説明Vueの動的コンポーネントとはアプリケーションシナリオの説明実装手順ステップ 1 (新...
編集者は最近、macOS システムを使い始めたかったので、VMware に macOS イメージ シ...
かつて、サイコロを振るゲームについて話しました。その時は、steps 属性 + スプライト画像を使用...
目次序文1. 型2. インスタンス3. コンストラクター詳細: 4. 文字列要約する序文Javasc...
序文リバース プロキシは、Web 経由で行われたリクエスト (http と https の両方) を...
1. 分析的思考1. 機械自身の理由を排除する2. サーバーパフォーマンス分析3. プロジェクト自体...
背景検索エンジンで「.htaccess キャッシュ」というキーワードを検索すると、ウェブサイトのファ...