編集済み 4 数日前 によって ExtremeHow 編集チーム
レディスリナックスクラスター設定セットアップ分散システム可用性の高いスケーラビリティデータベースサーバー
翻訳が更新されました 4 数日前
Redisは、データベース、キャッシュ、およびメッセージブローカーとして使用できる人気のインメモリデータストアです。文字列、ハッシュ、リスト、セットなどのデータ構造をサポートしています。Redisクラスタは、データが自動的に複数のRedisノードに分割されるようなRedisインストールを実行する方法を提供します。このチュートリアルでは、LinuxマシンにRedisクラスタをセットアップする手順を案内します。
まず、クラスタに参加するすべてのノードにRedisがインストールされていることを確認する必要があります。Linuxディストリビューションに応じて次のコマンドを使用します:
sudo apt update sudo apt install redis-server
sudo yum install epel-release sudo yum install redis
Redisサービスを開始して有効にします:
sudo systemctl start redis sudo systemctl enable redis
各Redisノードで、クラスタモード用にRedisインスタンスを設定する必要があります。そのためには、/etc/redis/redis.conf
ファイルを編集する必要があります。
以下の設定を見つけて変更します:
bind 0.0.0.0
をコメントアウトして設定します。protected-mode
をno
に変更します。cluster-enabled
をコメントアウトしてyes
に設定します。cluster-config-file nodes-6379.conf
を設定します。cluster-node-timeout 5000
を設定します。appendonly
のコメントを削除し、データの耐久性のためにyes
に設定します。例として、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
クラスタのノードの構成とデータ用のディレクトリを作成します。簡単さのために、パスを/var/lib/redis/
と仮定します。各ノードでこれを繰り返します:
sudo mkdir -p /var/lib/redis/6379 sudo chown redis:redis /var/lib/redis/6379
Redisクラスタは通信のためにいくつかのポートを開いている必要があります。各ノードで、ファイアウォールに次のポートを開く必要があります:
iptables
またはクラウドプロバイダーのファイアウォール設定を使用してこれらのポートを許可します。
次に、すべての設定済み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つのレプリカがあることを保証します。このコマンドは、クラスタ設定の一部としてマスターおよびスレーブを割り当てる前に確認を求めます。
クラスタが設定されたら、redis-cli
ツールを使用して任意のノードに接続し、その設定を確認する必要があります:
redis-cli -c -p 6379
クラスタの状態を確認するには、次のコマンドを実行します:
cluster nodes
この出力は、クラスター内のすべてのノードを、その役割(マスターまたはスレーブ)、ID、およびIPアドレスと共に表示します。
クラスタが稼働中の場合、定期的な操作をどのように行うか不思議に思うかもしれません。ここでは、クラスタ管理に役立ついくつかのコマンドを紹介します:
クラスタに新しいノードを追加するには:
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クラスタを運用する際に安定性とパフォーマンスを確保するためのベストプラクティスには以下のものがあります:
redis.conf
でパスワード保護を有効にするなどのセキュリティ対策を講じます。LinuxでRedisクラスタをセットアップすることは、複数のノードにRedisをインストールし、各インスタンスをクラスタモードで設定し、CLIツールを使用してそれらを接続することに関わります。このガイドは詳細な手順を提供していますが、最適なパフォーマンスと安定性を実現するためには定期的な管理と監視活動が必要となります。このガイドに従うことで、Redis Clusterとその分散データ管理の利点を活用するための重要な一歩を踏み出しました。
記事の内容に誤りがある場合, あなたは