redhat 7上redis-cluster環境構築
5691 ワード
redis-clusterはredis 3である.0以降の特性は、中心思想がなく、各ノードがデータを保存し、クエリーを提供し、1つのノードfailを提供し、他のノードは同じようにclusterを構成し、ノードが再びupすると、データは他のノードから転送され、データは回復し、データの一貫性を保証します.高い信頼性も保証されています.
redis-clusterの構築は単一ノードよりも一歩多く、最後に単一ノードにクラスタを構成させることであり、このステップは他の環境rubyに関連し、構築の過程に時間がかかる場所がここにある.
また、コンフィギュレーションファイルも少し変わります.cluster-enabled、cluster-config-fileなど、clusterクラスタを構成するために必要なプロパティがいくつか追加されます.cluster環境構築プロセスは次のとおりです.
一、ソースコードコンパイルのインストールに必要な依存とruby環境に必要な依存
二、redisソースパッケージをダウンロードし、コンパイルを解凍する
makeにjemallocファイルが欠けている場合は、make MALLOC=libcを使用してコンパイルできます.
ここでredisスタンドアロン版が使えます.ここではプロファイルを少し変更します.私たちのアーキテクチャは下図のようになっています.
redis-clusterの構築は単一ノードよりも一歩多く、最後に単一ノードにクラスタを構成させることであり、このステップは他の環境rubyに関連し、構築の過程に時間がかかる場所がここにある.
また、コンフィギュレーションファイルも少し変わります.cluster-enabled、cluster-config-fileなど、clusterクラスタを構成するために必要なプロパティがいくつか追加されます.cluster環境構築プロセスは次のとおりです.
一、ソースコードコンパイルのインストールに必要な依存とruby環境に必要な依存
yum install zlib-devel openssl-devel gcc-c++
二、redisソースパッケージをダウンロードし、コンパイルを解凍する
wget http://download.redis.io/releases/redis-4.0.2.tar.gz
tar -xzf redis-4.0.2.tar.gz
cd redis-4.0.2
make && make install
最後のmake installはredis-server、redis-cli関連コマンドを/usr/local/binディレクトリにインストールすることで、コマンドラインの下に直接redis-serverを入力することができ、redis-cliはソースディレクトリに入ることなくredis関連コマンドを実行することができます.makeにjemallocファイルが欠けている場合は、make MALLOC=libcを使用してコンパイルできます.
ここでredisスタンドアロン版が使えます.ここではプロファイルを少し変更します.私たちのアーキテクチャは下図のようになっています.
三、修改配置文件,增加节点。
cd /data/redis-4.0.2 mkdir config cd config mkdir redis-6379 redis-6387 cp /data/redis-4.0.2/redis.conf redis-6379/ cp /data/redis-4.0.2/redis.conf redis-6387/
構成を変更し、次の構成を変更します.redisを起動bind 192.168.42.131 port 6379 daemonize yes pidfile /var/run/redis_6379.pid appendonly yes cluster-enabled yes cluster-config-file nodes-6379.conf
プロファイルのフォルダにアクセスして起動すると、redis-server redis-6379/redisなどのプロファイルパスを指定することで起動できません.confcd /data/redis-4.0.2/config/redis-6379 redis-server redis.conf cd ../redis-6387 redis-server redis.conf
各ノードで各インスタンスを順次起動します.
起動後、redisプロセスは次のようになります.最終的に3台のマシンが2つのインスタンスを開き、対応するポートはそれぞれ6379と6387です.[root@node01 redis-6379]# ps -ef |grep redis root 79475 1 0 00:51 ? 00:00:12 redis-server 192.168.42.131:6379 [cluster] root 79503 1 0 00:52 ? 00:00:12 redis-server 192.168.42.131:6387 [cluster] root 112995 2557 0 03:13 pts/0 00:00:00 grep --color=auto redis
四、このステップはgem install redisを通過する必要があり、gemはruby環境のコマンドであるため、rubyをインストールする必要がある.wget https://cache.ruby-lang.org/pub/ruby/2.4/ruby-2.4.2.tar.gz tar -xzf ruby-2.4.2.tar.gz cd ruby-2.4.2 ./configure make && make install
次にgem install redisを使用してredis依存性をインストールできます.このステップでは、zlibライブラリとopensslライブラリが欠けているという2つのエラーが発生する可能性があります.インストールしていないのではなく、rubyに統合する必要があります.rubyに統合する方法は、ruby関連ディレクトリに入り、以下の操作を実行することです.cd /data/ruby-2.4.2/ext/zlib ruby extconf.rb make && make install
Opensslと同様にruby extconfを実行する.rbの後、Makefileファイルが変更されます.ここでは、ファイル内の$(top_srcdir)を../............,makeを変更しないと、関連するヘッダファイルが見つからないというメッセージが表示されます.
gem install redisでは、インストールに成功したことを示す結果が表示されます.[root@node01 ruby-2.4.2]# gem install redis Fetching: redis-4.0.1.gem (100%) Successfully installed redis-4.0.1 Parsing documentation for redis-4.0.1 Installing ri documentation for redis-4.0.1 Done installing documentation for redis after 1 seconds 1 gem installed
五、クラスタの構築がうまくいけば次のようになります.yesを入力し、cluster構築に成功します../redis-trib.rb create --replicas 1 192.168.42.131:6379 192.168.42.131:6387 192.168.42.132:6379 192.168.42.132:6387 192.168.42.133:6379 192.168.42.133:6387
>>> Creating cluster >>> Performing hash slots allocation on 6 nodes... Using 3 masters: 192.168.42.131:6379 192.168.42.132:6379 192.168.42.133:6379 Adding replica 192.168.42.132:6387 to 192.168.42.131:6379 Adding replica 192.168.42.131:6387 to 192.168.42.132:6379 Adding replica 192.168.42.133:6387 to 192.168.42.133:6379 M: ac7e3c93b7092c4e183ac01637c1faa453a217ef 192.168.42.131:6379 slots:0-5460 (5461 slots) master S: b036e775d1e0d92f9aad6613abdcae5023c8dc86 192.168.42.131:6387 replicates 327d987fde60892fdfb7a9da72364639091e16e2 M: 327d987fde60892fdfb7a9da72364639091e16e2 192.168.42.132:6379 slots:5461-10922 (5462 slots) master S: 8869369755d8fca9f43e08bf585634dc520b1f6b 192.168.42.132:6387 replicates ac7e3c93b7092c4e183ac01637c1faa453a217ef M: c6b91f0c53c2de0fc135b8fca1f4060f56f3612c 192.168.42.133:6379 slots:10923-16383 (5461 slots) master S: 117c1907d2ceac100b6dabb6e7c9f975efbafec8 192.168.42.133:6387 replicates c6b91f0c53c2de0fc135b8fca1f4060f56f3612c Can I set the above configuration? (type 'yes' to accept): yes >>> Nodes configuration updated >>> Assign a different config epoch to each node >>> Sending CLUSTER MEET messages to join the cluster Waiting for the cluster to join... >>> Performing Cluster Check (using node 192.168.42.131:6379) M: ac7e3c93b7092c4e183ac01637c1faa453a217ef 192.168.42.131:6379 slots:0-5460 (5461 slots) master 1 additional replica(s) S: 8869369755d8fca9f43e08bf585634dc520b1f6b 192.168.42.132:6387 slots: (0 slots) slave replicates ac7e3c93b7092c4e183ac01637c1faa453a217ef S: 117c1907d2ceac100b6dabb6e7c9f975efbafec8 192.168.42.133:6387 slots: (0 slots) slave replicates c6b91f0c53c2de0fc135b8fca1f4060f56f3612c M: 327d987fde60892fdfb7a9da72364639091e16e2 192.168.42.132:6379 slots:5461-10922 (5462 slots) master 1 additional replica(s) S: b036e775d1e0d92f9aad6613abdcae5023c8dc86 192.168.42.131:6387 slots: (0 slots) slave replicates 327d987fde60892fdfb7a9da72364639091e16e2 M: c6b91f0c53c2de0fc135b8fca1f4060f56f3612c 192.168.42.133:6379 slots:10923-16383 (5461 slots) master 1 additional replica(s) [OK] All nodes agree about slots configuration. >>> Check for open slots... >>> Check slots coverage... [OK] All 16384 slots covered.