Сборка Redis (отдельная машина, кластер и Sentinel)

Redis

1. Разверните автономный Redis

(1) Загрузите установочный пакет Redis

wget http://download.redis.io/releases/redis-4.0.10.tar.gz

(2) Распаковать в указанную папку

tar zxvf redis-4.0.10.tar.gz
mv redis-4.0.10 /usr/local/redis/

(3) Скомпилируйте и установите

cd /usr/local/redis
make
make install

(4) Измените файл конфигурации Redis

vim /usr/local/redis/redis.conf
port 6379
daemonize yes
bind 0.0.0.0
pidfile /var/run/redis_6379.pid
cluster-enabled no
appendonly yes

(5) Запустите Redis

redis-server /usr/local/redis/redis.conf

2. Разверните кластер Redis

(1) Создать папку

mkdir -p /usr/local/redis-cluster/{9001,9002,9003,9004,9005,9006}/data

(2) Измените файл конфигурации /usr/local/redis/redis.conf на режим кластера следующим образом:

port 9001
daemonize yes
bind 0.0.0.0
dir /usr/local/redis-cluster/9001/data/
pidfile /var/run/redis_9001.pid
cluster-enabled yes
cluster-config-file nodes9001.conf
cluster-node-timeout 2000
appendonly yes

(3) Скопируйте файл конфигурации в созданную папку с 6 портами и измените порты в файле конфигурации.

cd /usr/local/redis-cluster
echo 9001/ 9002/ 9003/ 9004/ 9005/ 9006/ | xargs -n 1 cp -v /usr/local/redis/redis.conf

(4) Запустите 6 сервисов Redis

redis-server /usr/local/redis-cluster/9001/redis.conf
redis-server /usr/local/redis-cluster/9002/redis.conf
redis-server /usr/local/redis-cluster/9003/redis.conf
redis-server /usr/local/redis-cluster/9004/redis.conf
redis-server /usr/local/redis-cluster/9005/redis.conf
redis-server /usr/local/redis-cluster/9006/redis.conf

(5) Установите ruby, если версия подсказки должна быть выше 2.2.2, вам нужно использовать rvm для установки ruby.

yum install ruby
yum install rubygems
gem install redis 

(6) Запустите кластер

/usr/local/redis/src/redis-trib.rb create --replicas 1 服务器ip:9001 服务器ip.42:9002 服务器ip:9003 服务器ip:9004 服务器ip:9005 服务器ip:9006	

3. Установите Сентинел

(1) Создайте каталог экземпляра Redis и Sentinel.

mkdir -p /usr/local/redis-sentinel/{8001,8002,8003}/data
mkdir -p /usr/local/redis-sentinel/sentinel

(2) Измените файл конфигурации главного узла Redis 8001.

cd /usr/local/redis-sentinel/8001
vim redis.conf
# 端口
port 8001

# 注释以下内容开启远程访问
# bind 127.0.0.1

# Redis使用后台模式
daemonize yes

# 关闭保护模式
protected-mode no

# 修改pidfile指向路径
pidfile "/usr/local/redis-sentinel/redis8001.pid"

#日志文件
logfile "/usr/local/redis-sentinel/log/redis8001.log"

#数据库文件名
dbfilename "dump.rdb"

#数据库文存放目录
dir "/usr/local/redis-sentinel/8001/data"

(3) Измените файл конфигурации подчиненного узла Redis 8002 и аналогичным образом измените файл конфигурации подчиненного узла 8003.

cd /usr/local/redis-sentinel/8002
vim redis.conf
# 端口
port 8002

# 注释以下内容开启远程访问
# bind 127.0.0.1

# Redis使用后台模式
daemonize yes

# 关闭保护模式
protected-mode no

# 修改pidfile指向路径
pidfile "/usr/local/redis-sentinel/redis8002.pid"

#日志文件
logfile "/usr/local/redis-sentinel/log/redis8002.log"

#数据库文件名
dbfilename "dump.rdb"

#数据库文存放目录
dir "/usr/local/redis-sentinel/8002/data"

# 主节点的ip和端口
slaveof 127.0.0.1 8001

(4) Запустите главный-ведомый узел

/usr/local/redis/redis-server /usr/local/redis-sentinel/8001/redis.conf
/usr/local/redis/redis-server /usr/local/redis-sentinel/8002/redis.conf
/usr/local/redis/redis-server /usr/local/redis-sentinel/8003/redis.conf

(5) Измените файл конфигурации узла 9001 дозорного и добавьте файл конфигурации узла 9002 таким же образом.

cd /usr/local/redis-sentinel/sentinel
vim sentinel_9001.conf
#添加为后台运行
daemonize yes
##这里从服务1的默认端口我们不动 稍后修改从2即可
port 9001
##这里配置写上主服务器IP 端口 2个sentinel选举成功后才有效
sentinel monitor mymaster 127.0.0.1 8001 2

(6) Запустите дозорный узел

/usr/local/redis/redis-server /usr/local/redis-sentinel/sentinel/sentinel_9001.conf --sentinel
/usr/local/redis/redis-server /usr/local/redis-sentinel/sentinel/sentinel_9002.conf --sentinel