CentOS 7.4インストールredis-4.0.10クラスタ
redis clusterの概要:
3.0以降、バージョンが追加され、中心化された設計が行われ、異なるredisノードはユーザーの要求を受信し、異なるデータを保持することができ、各ノードはノードinnode情報を共有し、データを見つけるのに便利である.
実験準備:
試験目標:3台の機械で、各機械の2ノードの計6つのノードが完全で高利用可能なクラスタを構成する.
テスト環境:
HOST
IP
software
PORT
SYSTEM
node1
192.168.23.128
redis-4.0.10
7001
7004
CentOS 7.4
node2
192.168.23.129
redis-4.0.10
7002
7005
CentOS 7.4
node3
192.168.23.131
redis-4.0.10
7003
7006
CentOS 7.4
操作手順:
1.ソフトウェアを/usr/local:wgetにダウンロードhttp://download.redis.io/releases/redis-4.0.10.tar.gz
2.コンパイルインストール
3.ノードの構成(node 1ノード7001を例に)
プロファイルを変更するには、次の手順に従います.
プロファイルを別のノードにコピーし、それぞれ起動します.
4.クラスタredis-tribの構成rbツール環境(ruby言語作成)
redisクラスタ管理ツールにはruby 2が必要である.2以上のバージョン、ruby-vのバージョンを表示
推奨yumインストール方法(1台のサーバにのみインストール可能):
redisクラスタの初期化
#注意クラスタの作成時にホスト名とDNSのサポートがよくないので、IP:portを使用するのが望ましい
作成方法1:まず3台のホストでそれぞれ1つのMasterを起動し、起動slaveで各ホストMasterを交差して追加し、0,1はslaveノードの数を表す
作成方法2(推奨):
附:redis-trib.rbツールの使用方法の例:
https://www.jianshu.com/p/21f67bd739cc
5.メモリ最適化関連
3.0以降、バージョンが追加され、中心化された設計が行われ、異なるredisノードはユーザーの要求を受信し、異なるデータを保持することができ、各ノードはノードinnode情報を共有し、データを見つけるのに便利である.
実験準備:
試験目標:3台の機械で、各機械の2ノードの計6つのノードが完全で高利用可能なクラスタを構成する.
テスト環境:
HOST
IP
software
PORT
SYSTEM
node1
192.168.23.128
redis-4.0.10
7001
7004
CentOS 7.4
node2
192.168.23.129
redis-4.0.10
7002
7005
CentOS 7.4
node3
192.168.23.131
redis-4.0.10
7003
7006
CentOS 7.4
操作手順:
1.ソフトウェアを/usr/local:wgetにダウンロードhttp://download.redis.io/releases/redis-4.0.10.tar.gz
2.コンパイルインストール
tar xzf redis-4.0.10.tar.gz
cd redis-4.0.10
make &&make install #
# redis
cp /usr/local/redis-4.0.10/src/redis-trib.rb /usr/local/bin/
3.ノードの構成(node 1ノード7001を例に)
mkdir -p /data/redis-cluster/{7001,7004}
cp /usr/local/redis-4.0.10/redis.conf /data/redis-cluster/7001/redis-7001.conf
プロファイルを変更するには、次の手順に従います.
#vim /data/redis-cluster/7001/redis-7001.conf
bind 0.0.0.0
port 7001
daemonize yes
pidfile /var/run/redis_7001.pid
dir /data/redis-cluster/7001
logfile "/var/log/redis/7001.log"
cluster-enabled yes
cluster-node-timeout 2000
appendonly yes
cluster-config-file nodes-7001.conf
##
mkdir /var/log/redis
## redis
cd 7001
redis-server ./redis7001.conf
プロファイルを別のノードにコピーし、それぞれ起動します.
grep -v "^#" redis-7001.conf|grep -v "^$" >redis.conf.tem
cp redis.conf.tem /data/redis-cluser/700X/redis-700X.conf
vim :
:%s/7001/700X/g
4.クラスタredis-tribの構成rbツール環境(ruby言語作成)
redisクラスタ管理ツールにはruby 2が必要である.2以上のバージョン、ruby-vのバージョンを表示
推奨yumインストール方法(1台のサーバにのみインストール可能):
yum install centos-release-scl-rh
yum install rh-ruby23 -y
scl enable rh-ruby23 bash
ruby -v
:
echo "source /opt/rh/rh-ruby23/enable" >> /etc/profile
source /etc/profile
gem install redis # redis , gem
#gem sources –l
#gem sources --remove https://rubygems.org/
#gem source -a https://gems.ruby-china.com
redisクラスタの初期化
#注意クラスタの作成時にホスト名とDNSのサポートがよくないので、IP:portを使用するのが望ましい
作成方法1:まず3台のホストでそれぞれ1つのMasterを起動し、起動slaveで各ホストMasterを交差して追加し、0,1はslaveノードの数を表す
# master slave
redis-trib.rb create --replicas 0 192.168.23.128:7001 192.168.23.129:7002 192.168.23.131:7003
redis-trib.rb check 192.168.23.128:7001 # , master-id
### slave Master
redis-trib.rb add-node --slave --master-id e3933a2276962abb7180ebe7767a544bdd539f27 192.168.23.128:7004( ) 192.168.23.128:7001( )
redis-trib.rb add-node --slave --master-id cee9b75e480a3d707e7079631a280e732e0264b7 192.168.23.129:7005 192.168.23.128:7001
redis-trib.rb add-node --slave --master-id c61feb0e6f33d467758e8278436c03ce265c44b1 192.168.23.131:7006 192.168.23.128:7001
作成方法2(推奨):
redis-trib.rb create --replicas 1 192.168.23.128:7001 192.168.23.129:7002 192.168.23.131:7003 192.168.23.128:7004 192.168.23.129:7005 192.168.23.131:7006
##
redis-trib.rb check 192.168.23.128:7001
附:redis-trib.rbツールの使用方法の例:
https://www.jianshu.com/p/21f67bd739cc
5.メモリ最適化関連
#
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo 511 > /proc/sys/net/core/somaxconn
/etc/rc.local
vim /etc/sysctl.conf
vm.overcommit_memory=1
net.core.somaxconn = 511
kernel.pid_max=1000000
sysctl -p
vim /etc/security/limits.conf
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535