クラスタのインストールのRedis

Redisのクラスタへの第一章はじめに

1.1機能の概要

リモート辞書サーバー(Redisのは)永続的なストレージ・システム用のキーベースのキーと値のデータベースです。ハッシュ(ハッシュタイプ) - 文字列(文字列)、リスト(一覧)、SET(セット)、ZSET(順序集合ソートセット)を含むデータ構造の多様性をサポートします。これらのデータ型は、追加/削除して、交差点や労働組合、その差よりリッチな操作で、プッシュ/ポップをサポートされており、これらの操作はアトミックです。

 

1.2機能の説明

RedisのRedisのクラスタは、主に(設計における重要度の順に)、以下の目的を達成するために、分散型の実装です。

1000では、場合、ノードはまだよく行うことができ、スケーラビリティが直線的です。

ように何マージ操作は、Redisのデータモデルは、最も典型的な大規模なデータ値が良好な性能を持つことができるではありません。

セキュリティを書く:書き込み操作を、端部に接続されたほとんどのノードとそれらの顧客へのシステムの試みは、すべてが保存しました。しかし、ごく一部が書かれているが、まだあった認め失われます。なぜならマスターノードからのデータがネットワークを介して送信される同期を完了するために、マスターノード突然何のスレーブノードを起こさないだろう、クラッシュ問題は、データを同期。

状況:プライマリノードの大多数において到達可能であり、ケースから到達可能な、そのノードのうちの少なくとも1つを有する、Redisのクラスタパーティションはまだ到達不能各プライマリノードのために動作することができます。

1.3デプロイメントの手順

その指のスロットを使用して、クラスタデータを記憶し、実装マスタコピーのマスタノードからの3台のサーバ6つのノード、3つのマスターノード及び3つのスレーブノードは、完全に関連するノードからコピーされました。完全に中心に、マスタノードストレージコマンドによって割り当てられた三つのハッシュスロット。ノードクラスタの拡張および削除操作をサポートしています。

以下は、実際の生産環境のデプロイメントの手順です:

1

ホスト名

クラスタの最初のセット

クラスタの第二セット

メモリを割り当て

IPアドレス

2

jdpsclb-nfppzk01

6379 6479

6579 6679

彼らは50Gに合意しました

172.1.2.3

3

jdpsclb-nfppzk02

6379 6479

6579 6679

彼らは50Gに合意しました

172.1.2.4  

4

jdpsclb-nfppzk03

6379 6479

6579 6679

彼らは50Gに合意しました

172.1.2.5

本番環境では、3台のサーバ上の2つのRedisのクラスタを展開。書かれたRDISクラスタの最初のセットは、次のマニュアル。

章Redisのクラスタのインストールの展開

2.1環境の準備

準備ができてソフトウェアをインストールする2.1.1

繰り返し-2.3.3を

ルビー2.4.0

Redisの-3.2.1.gem

 

2.1.2環境検査

RPMをインストールする前に、コマンドクエリは、依存関係をインストールしていない場合は、インストールするにyumを使用する必要がある、Redisの依存関係を実行します。

Redisのクエリの依存関係は、コマンドをインストールされます。

develのTCLのはzlib-develの - RPM -q CPPのbinutilsのglibcのglibc-kernheadersのglibc-共通のglibc-develのgccがGCC-C ++のlibstdc ++を作ります

 

2.2 Redisのスタンドアロンインストール

注:インストール時にインストールするには、rootユーザーを使用して、実際の生産環境では、新しいユーザー(のRedisやキャッシュなど)の管理を作成してください。

インストール2.2.1のRedis

  1. インストールRedisの依存関係は、好ましくは、インストールするには、yumのコマンドを使用しました

YUMのbinutilsのglibcのglibc-kernheadersのglibc-共通のglibc-develのgccはgccの-C ++のlibstdc ++作るのcppをインストール-y - develのTCLのはzlib-develのを

 

  1. Redisのインストールパッケージは、ファイルディレクトリをアップロードするインストールパッケージを抽出します

インストールパス:/ホーム/ Redisの/クラスタ/

プロフィール:/home/redis/cluster/6379/redis.conf

Redisの-3.2.9.tar.gz -xzvf取り

 

  1. 実行解凍型インストールコマンドへのRedis-3.2.9ディレクトリには、make、make installを実行します

作ります

 

make installを

 

インストールが完了した後、srcディレクトリに、Redisの-trip.rbコピーファイルは/ usr / local / binに(rootユーザの環境変数を必要としなければなりません)

CPのRedisの-trib.rbは/ usr / local / binに

 

2.2.2設定ファイルを変更します

Redisのを使用して、ユーザーの操作に続いて

2.2.3新しいプロファイルディレクトリ

ます。mkdir -p /ホーム/ Redisの/スタンドアロン

 

2.2.3.1は、新しいディレクトリに設定ファイルをコピーして設定します。

コンフィギュレーションファイルをコピーします

CPは/ opt /のRedis / Redisの-3.2.9 / redis.conf /ホーム/ Redisの/スタンドアロン

設定ファイルを変更します。

我々は/home/redis/standalone/redis.conf

 

以下のように変更は以下のとおりです。

ポート番号:

ポート6379(デフォルト)

 

IPバインディング、サーバーのIPアドレスを変更します。

バインド172.31.87.1

 

バックアップファイルのディレクトリ:

DIR /ホーム/ Redisの/スタンドアロン/

 

コンフィギュレーション・デーモンの起動

はいデーモン化

 

プロセスIDファイルを変更します

pidファイル/home/redis/standalone/redis.pid

 

ログファイルのパスを変更します。

ログファイル「/home/redis/standalone/redis.log」

 

開いているデータベースの数を変更します。

データベース1

 

保存して終了

 

2.2.3.2スタンドアロンインストレーションチェック

Redisのユーザ認証を使用します

1. Redisのサービスを開始し、Redisのプロセスを表示

CD /ホーム/ Redisの/スタンドアロン

RedisのRedisのを開始するための設定ファイルを指定します。

Redisのサーバーredis.conf

ビューRedisのプロセス

ps -ef | grepのRedisのサーバー

 

2. Connectクライアントのテスト

接続Redisの

-H 172.22.1.155 -p-CLIのRedis 6379 (物理アドレスを生成する被験者)

格納された値

セットキー1値1


GETキー1

 

3.テストOK閉じるRedisのプロセス、Redisのクラスタは、別のノードを必要としません

pkillは-9のRedisサーバ

 

 

2.3クラスタのインストール

2.3.1 前提条件

  • クラスタのインストールはredis3.0 +バージョンのサポートが必要です
  • 各サーバー上の完全なスタンドアロンインストール
  • redis3.xはルビークラスタ環境のサポートを必要とする、我々はルビー環境をインストールする必要があります

2.3.2 クラスタ構成ファイルの変更

        Redisのユーザー切り替え

1. 2つのノードがクラスターのRedis展開する必要がホスト上のディレクトリを作成します。

ます。mkdir -p /ホーム/ Redisの/クラスタ/ 6379

ます。mkdir -p /ホーム/ Redisの/クラスタ/ 6479

 

ディレクトリ6379へのスタンドアロンノード・ディレクトリー2.コピー/ホーム/ Redisの/ redis.conf

 

3.編集したファイルだけをコピーredis.conf

 

4.編集プロファイルの内容

区別するために、ポート番号にプロセスIDファイルを変更します

pidファイルを変更します。

pidファイル/home/redis/cluster/6379/redis.pid

 

ログファイルの格納ディレクトリを変更します。

ログファイル「/home/redis/cluster/6379/redis.log」

 

クラスタを有効にします

クラスタ対応はい

 

クラスタ構成ファイルを指定します。

クラスタ設定ファイル「/home/redis/cluster/6379/nodes.conf」

 

クラスタ内のノードがハングアップし、あなたが通常の他のノードからのデータにアクセスすることができ、クラスタ全体に影響を与えません。

クラスタ必要-フルカバレッジなし

 

この構成では、バックグラウンドの開始を表し、

はいデーモン化

 

ポート番号:

ポート6379(デフォルト)

 

IPは、独自のサーバーのIPに変更され、結合します:

バインド172.31.87.1

 

バックアップファイルのディレクトリ:

DIR /ホーム/ Redisの/クラスタ/ 6379 /

 

開いているデータベースの数

データベース1

 

5.設定ファイルが変更された後、コピーredis.confはちょうど、各ノードのディレクトリにファイルを変更し、ディレクトリ内の各ノードの構成ファイルを変更、IPバインドポートとポート属性を属性

2.3.3 インストールルビー

  • サーバーを選択し、クラスタのRedisを作成するにはルビーをインストール
  • インストールするには、root権限
  • サーバーにアップロードルビー-2.4.0.tar.gz、および抽出
  • 解凍インストールパッケージルビー
  • タールXFルビー-2.4.0-のtar.gz
  • ./configureを実行し、インストールと構成の検出設置環境を実行します
  • ./configureを

 

  1. コンパイルとインストール

コンパイル

作ります

 

インストール

make installを

 

2.3.4マウントのRedis-3.2.1.gem

Redisの-3.2.1.gemはマシンがルビーredis.3.2.1.gemが装備されているインストール

次の/ home / RedisのインストールディレクトリにアップロードRedisの-3.2.1.gem

宝石は--localのRedis-3.2.1.gemをインストール   

 

2.3.5 各ノードが開始

これは、3台のサーバ上の6つのノードを開始しました。

Redisのサーバー/home/redis/cluster/6379/redis.conf

Redisのサーバー/home/redis/cluster/6479/redis.conf

3台のサーバの後のノードをチェックするための6つのノードがオンになって、各サーバーは、2つのノードが表示されます

ps -ef | grepのRedisのサーバー

 

2.3.6作成クラスタを構築します

ルビーサーバーのインストールの作成時にコマンドを実行し、次のコマンドを作成します。

Redisの-trib.rb 1 172.21.26.5:6379 --replicas作成 

172.21.26.5:6479 172.21.26.6:6379 172.21.26.6:6479

172.21.26.7:6379 172.21.26.7:6479

クラスタの作成を開始し、[はいyesまたはnoの入力時に入力されます

 

プロンプトが表示され、次の図を参照してください、成功したのクラスタを作成します。

 

2.4 Redisのクラスターの最適化

2.4.1 maxmemoryオプション

Redisのマシンを聞かせてはいけないところ、総メモリの3/5よりも実際の物理メモリの使用状況。

物理メモリの40%の標準を設定するためのmaxmemoryオプションで設定redis.conf。

両方のノード20%から主点は、それぞれ単一のサーバ上に配置されている場合。次のオプション:

(本番環境200Gメモリに割り当てられ、いずれか)

maxmemory 5100000000

メモリ除去機構の設定
allkeys-LRUは:最近、まれに新しいデータを保存するために使用されるキーの優先順位を削除します

maxmemoryポリシーallkeys、LRU

2.4.2オープンTCP接続の高速リカバリ

オープンTCP接続をTIME-WAITソケットの急速な回復、TCPコネクションの急速な放出に貢献

/etc/sysctl.confファイルを変更します

次のパラメータを変更し、このパラメータを追加してくださいされていない場合

net.ipv4.tcp_tw_recycle = 1

2.5デプロイメントの確認

2.5.1データストレージの検証

Redisの接続、設定やデータを格納および取得するために慣れ、ノートストレージノード情報

接続Redisの:

Redisの-CLI -c -h 172.22.1.156(実際の製造年月日のアドレス)

格納された値

設定したキー値

キーを取得

 

三つの主なノードが成功したクラスタを作成するために、対応する命令を持っています

おすすめ

転載: www.cnblogs.com/lsolation/p/10955370.html