NoSQLデータベース-redisクラスタ構築
5203 ワード
NoSQL 002 redis
Redisクラスタ1配置管理ホスト2クラスタ情報を表示する3クラスタホスト情報を検査する4クラスタ記憶データ動作原理5アクセスクラスタ**************************************************環境準備
クラスタ・クラスタ・ストレージ・データの作成の原理
Rdisサーバ:6台の管理ホスト:1台のホスト51クライアント:1台のホスト50 vim/etc/redis/6379.conf 1配置管理ホスト任意1台51ホスト配置rubyスクリプト実行環境作成管理クラスタスクリプト
5)Mkdir/root/bin作成コマンド検索ディレクトリ6)Tar-zxvf redis-4.0.8.tar.gz 7) Cd redis-4.0.8/src/8) Cp redis-trib.rb/root/bin/作成管理クラスタスクリプト9)Chmod+x/root/bin/redis-trib.rb
Redis-trib.rb help
三クラスタホスト情報のチェック
クラスタ構成6台作成10)5アクセスクラスタredis-trib.rb create--replicas 1 192.168.4.55:6351 192.168.4.52:6352 192.168.4.53:6353 192.168.4.54:6354 192.168.4.55:6355 192.168.4.56:6356 Yesリターン
[OK] All nodes agree about slots configuration.
Check for open slots… Check slots coverage… [OK] All 16384 slots covered.
Create--replicas 1メインライブラリあたりの数を定義する*************(*********************エラー/etc/init.d/redis_6379 stop Rm-rf/var/lib/redis/63379/etc/init.d/redis_6379 start
***五アクセスクラスタ**********************************************二クラスタ情報の表示root@mysql51 ~]# redis-trib.rb info 192.168.4.51:6351-bash:redis-trib:コマンドが見つかりません
[root@mysql51 ~]# redis-trib.rb info 192.168.4.51:6351 192.168.4.51:6351 (fefb4f36…) -> 0 keys | 5461 slots | 1 slaves. 192.168.4.52:6352 (2c3bf8d1…) -> 0 keys | 5462 slots | 1 slaves. 192.168.4.53:6353 (02dd6a76…) -> 0 keys | 5461 slots | 1 slaves.
三クラスタホスト情報6351.>redis-tribをチェックする.rb check 192.168.4.55:6351 192.168.4.51:6351>cluster infoクラスタ情報を表示Cluster nodesクラスタノード情報を表示***********************************
四クラスタ記憶データ動作原理変数名とcrc 16アルゴリズムhashアルゴリズムを行った後に1つの数字を得て、数字と%16384は余剰を曲げて、余剰の値によって、対応するredisサーバーを探してデータを記憶します
*************************************************************************************************************root@client ~]# redis-cli -c -h 192.168.4.51 -p 6351
-cクラスタモード
192.168.4.55:6351>set b dc OK************************************************六管理クラスタがmasterダウンを停止すると対応するslaveが自動的にmaster元master起動後、前masterのslaveとして自動的に構成されます
管理ホスト上でクラスタを検出するRedis-trib.rb check 192.138.4.53:6353 Redis-trib.rb info 192.168.4.53:6353故障テスト
53を止める前に53のサーバーから自動的にマスターになる*********************************************七クラスタマスターサーバーを追加する
マスターサーバの追加:57 1マスターホストの追加root@mysql51 utils]# redis-trib.rb add-node 192.168.4.57:6357 192.168.4.51:6351 2再スライス[root@mysql51 utils]# redis-trib.rb reshard 192.168.4.51:6351 How many slots do you want to move (from 1 to 16384)? 4096 What is the receiving node ID? 594abe2eee3eaa8c52d4a38f8bbffdc6452d66a0 Please enter all the source node IDs. Type ‘all’ to use all the nodes as source nodes for the hash slots. Type ‘done’ once you entered all the source nodes IDs. Source node #1:all
3 slaveサーバを追加[root@mysql51 utils]# redis-trib.rb add-node --slave 192.168.4.58:6358 192.168.4.51:6351 redis-trib.rb info 192.168.4.52:6352
192.168.4.52:6352 (b1f8c717…) -> 0 keys | 4096 slots | 1 slaves. 192.168.4.53:6353 (37f6940b…) -> 0 keys | 4096 slots | 1 slaves. 192.168.4.51:6351 (99795aed…) -> 0 keys | 4096 slots | 1 slaves. 192.168.4.57:6357 (594abe2e…) -> 0 keys | 4096 slots | 1 slaves.
*平均スライスRedis-trib.rb Rebalance 192.168.4.51:6351 ***************************************
1 slave 57を除去するには:
redis-trib.rb del-node 192.168.4.51:6351 a 6 ac 5 a 052 e 2915 fedb 250 b 37022 db 0 b 2 ae 790 f 1 d(57のスレーブサーバID)
redis-trib.rb check 192.168.4.52:6352
vim/etc/redis/6379.conf
2 master redis-tribを除去する.rb reshard 192.168.4.57:6357-占有hashスロット再スライス解放占有slotsの解放-除去されたslotsの数を指定-許容されたslotsホストidを指定-除去されたslitsホストidを指定
redis-trib.rb del-node 192.168.4.57:6357 594 abe 2 eee 3 eaa 8 c 52 d 4 a 38 f 8 bbffdc 6452 d 66 a 0-ホストの除去
redis-trib.rb check 192.168.4.52:6352
redis-trib.rb info 192.168.4.52:6352 192.168.4.52:6352 (b1f8c717…) -> 0 keys | 4096 slots | 1 slaves. 192.168.4.53:6353 (37f6940b…) -> 0 keys | 4096 slots | 1 slaves. 192.168.4.51:6351 (99795aed…) -> 0 keys | 8192 slots | 1 slaves. 追加回571サービス開始2クラスタ情報をリセットMysql 57>Redis-cli-h 192.168.4.57-p 6357>cluster reset Exit 3クラスタにホストを追加Mysql 51>Redis-trib.rb add-node 192.168.4.57:6357 192.168.4.51:6351 4クラスタ情報を表示Redis-trib.rb info 192.168.4.51:6351
スタンドアロン・データベース・サーバへのリストア
/etc/redis/6379.conf stop Rm -rf/var/lib/redis/6379/* 815 823 829/etc/init.d/redis_6379 start
Redis-cli -h192.168.4.57 -p 6357 6357 > cluster info This instance Cluster support disabled/etc/init.d/redis_6379 stop 181 vim/etc/redis/6379.conf 182/etc/init.d/redis_6379 start 184 ss -ntulp |grep redis-server