编译环境
# 软件集(Software collections)
yum -y install centos-release-scl
# gcc及工具集
sudo yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
# 启用gcc
scl enable devtoolset-9 bash
安装redis
- 下载redis编译包redis-6.2.10.tar.gz ,并上传至服务器/usr/local目录下
- 解压
tar -zxvf redis-6.2.10.tar.gz
- 进入redis目录编译并安装
cd redis-6.2.10 && make && make install PREFIX=/usr/local/redis
- 创建redis数据和日志文件
mkdir -p {/usr/local/redis/data,/usr/local/redis/log}
- 设置redis配置
主节点:将redis解压目录下的redis-master.conf文件复制到/usr/local/redis/bin/目录,并命名为redis.conf
从节点:将redis解压目录下的redis-slave.conf文件复制到/usr/local/redis/bin/目录,并命名为redis.conf,并修改replicaof
cp redis-master.conf /usr/local/redis/bin/redis.conf
配置文件如下
bind 0.0.0.0
port 6379
daemonize yes
dir /usr/local/redis/data
logfile /usr/local/redis/log/redis.log
masterauth psc@2021
requirepass psc@2021
6. 设置开机自动启动
将redis解压目录下的redis.service文件复制到/lib/systemd/system/
cp redis.service /lib/systemd/system/
文件内容如下
[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
设置开机自启动
# 开机自动启动
systemctl enable redis.service
# 启动redis服务
systemctl start redis.service
# 查看服务状态
systemctl status redis.service
status如下图所示说明安装启动redis成功
配置哨兵
- 将redis解压目录下的sentinel.conf文件复制到/usr/local/redis/bin目录下
cp sentinel.conf /usr/local/redis/bin
文件内容如下
port 26379
dir "/usr/local/redis/data"
logfile "/usr/local/redis/log/sentinel.log"
daemonize yes
# 注意修改ip为redis主节点的ip
sentinel monitor mymaster 192.168.30.74 6379 2
sentinel down-after-milliseconds mymaster 15000
sentinel failover-timeout mymaster 18000
sentinel auth-pass mymaster psc@2021
requirepass psc@2021
- 将redis解压目录下的redis-sentinel.service文件复制到/lib/systemd/system/
cp redis-sentinel.service /lib/systemd/system/
文件内容如下
[Unit]
Description=RedisSentinel
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-sentinel /usr/local/redis/bin/sentinel.conf
ExecReload=/usr/local/redis/bin/redis-sentinel -s reload
ExecStop=/usr/local/redis/bin/redis-sentinel -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
- 重载系统服务
systemctl daemon-reload
- 设置开机自启
systemctl enable redis-sentinel.service
- 启动哨兵
systemctl start redis-sentinel
- 查看哨兵服务状态
systemctl status redis-sentinel