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