ウィンドウズマックソフトウェア設定セキュリティ生産性リナックスAndroidパフォーマンス設定Apple すべて

LinuxでRedisクラスタをセットアップする方法

編集済み 4 数日前 によって ExtremeHow 編集チーム

レディスリナックスクラスター設定セットアップ分散システム可用性の高いスケーラビリティデータベースサーバー

LinuxでRedisクラスタをセットアップする方法

翻訳が更新されました 4 数日前

Redisは、データベース、キャッシュ、およびメッセージブローカーとして使用できる人気のインメモリデータストアです。文字列、ハッシュ、リスト、セットなどのデータ構造をサポートしています。Redisクラスタは、データが自動的に複数のRedisノードに分割されるようなRedisインストールを実行する方法を提供します。このチュートリアルでは、LinuxマシンにRedisクラスタをセットアップする手順を案内します。

前提条件

ステップ1:すべてのノードにRedisをインストールする

まず、クラスタに参加するすべてのノードにRedisがインストールされていることを確認する必要があります。Linuxディストリビューションに応じて次のコマンドを使用します:

Ubuntuの場合:

sudo apt update sudo apt install redis-server

CentOSの場合:

sudo yum install epel-release sudo yum install redis

Redisサービスを開始して有効にします:

sudo systemctl start redis sudo systemctl enable redis

ステップ2:クラスタモード用にRedisを設定する

各Redisノードで、クラスタモード用にRedisインスタンスを設定する必要があります。そのためには、/etc/redis/redis.confファイルを編集する必要があります。

以下の設定を見つけて変更します:

例として、redis.confファイルのセクションは次のようになります:

bind 0.0.0.0 protected-mode no port 6379 cluster-enabled yes cluster-config-file nodes-6379.conf cluster-node-timeout 5000 appendonly yes

変更を保存した後、新しい設定を適用するためにRedisサービスを再起動します:

sudo systemctl restart redis

ステップ3:設定用ディレクトリを作成する

クラスタのノードの構成とデータ用のディレクトリを作成します。簡単さのために、パスを/var/lib/redis/と仮定します。各ノードでこれを繰り返します:

sudo mkdir -p /var/lib/redis/6379 sudo chown redis:redis /var/lib/redis/6379

ステップ4:必要なポートを開く

Redisクラスタは通信のためにいくつかのポートを開いている必要があります。各ノードで、ファイアウォールに次のポートを開く必要があります:

iptablesまたはクラウドプロバイダーのファイアウォール設定を使用してこれらのポートを許可します。

ステップ5:クラスタを設定する

次に、すべての設定済みRedisインスタンスを接続してクラスタを形成します。この目的にはredis-cliツールを使用します。任意のノード上で次のコマンドを実行します:

redis-cli --cluster create 192.168.1.1:6379 192.168.1.2:6379 192.168.1.3:6379 192.168.1.4:6379 192.168.1.5:6379 --cluster-replicas 1

IPアドレスをあなたのノードのIPアドレスに置き換えます。 --cluster-replicas 1オプションは、各マスターノードに1つのレプリカがあることを保証します。このコマンドは、クラスタ設定の一部としてマスターおよびスレーブを割り当てる前に確認を求めます。

ステップ6:クラスタをテストする

クラスタが設定されたら、redis-cliツールを使用して任意のノードに接続し、その設定を確認する必要があります:

redis-cli -c -p 6379

クラスタの状態を確認するには、次のコマンドを実行します:

cluster nodes

この出力は、クラスター内のすべてのノードを、その役割(マスターまたはスレーブ)、ID、およびIPアドレスと共に表示します。

ステップ7:クラスタの管理

クラスタが稼働中の場合、定期的な操作をどのように行うか不思議に思うかもしれません。ここでは、クラスタ管理に役立ついくつかのコマンドを紹介します:

新しいノードの追加

クラスタに新しいノードを追加するには:

redis-cli --cluster add-node newnodeip:port existingnodeip:port

ノードの削除

クラスタからノードを削除するには:

redis-cli --cluster del-node currentnodeip:port <node_id>

スロットの移行

Redis Clusterは、データが保存される場所を決定するためにハッシュスロットを使用します。時々、スロットをあるノードから別のノードに再割り当てしたいかもしれません:

redis-cli --cluster reshard currentnodeip:port

ベストプラクティス

Redisクラスタを運用する際に安定性とパフォーマンスを確保するためのベストプラクティスには以下のものがあります:

結論

LinuxでRedisクラスタをセットアップすることは、複数のノードにRedisをインストールし、各インスタンスをクラスタモードで設定し、CLIツールを使用してそれらを接続することに関わります。このガイドは詳細な手順を提供していますが、最適なパフォーマンスと安定性を実現するためには定期的な管理と監視活動が必要となります。このガイドに従うことで、Redis Clusterとその分散データ管理の利点を活用するための重要な一歩を踏み出しました。

記事の内容に誤りがある場合, あなたは


コメント