useradd -r -g redis redis
chown -R redis.redis /usr/local/redis/
/usr/local/redis/bin
cd /usr/local/redis/bin
redis-server redis服务端
redis-cli redis客户端
redis-benchmark redis压力测试工具
echo 'PATH=$PATH:/usr/local/redis/bin' >> /etc/profile;source /etc/profile
echo 'PATH=$PATH:/usr/local/redis/bin' >> ~/.bash_profile;source ~/.bash_profile
mkdir -p /app/redis/{logs,conf,data}
mkdir /app/redis/conf
mkdir /app/redis/data
cp /software/redis-6.2.14/redis.conf /usr/local/redis/conf/redis.conf
=====================================================================
#--配置文件vim /usr/local/redis/conf/redis.conf
=====================================================================
daemonize yes
port 6379
bind 0.0.0.0
timeout 0 #客户端连接超时时间,0为取消
loglevel notice
logfile /usr/local/redis/logs/redis.log
databases 16
requirepass beijing
maxmemory 1g
dir /usr/local/redis/data
=====================================
vim /usr/local/redis/conf/redis.conf
bind 0.0.0.0 #87行,修改监听地址为0.0.0.0
protected-mode no #111行,将本机访问保护模式设置no
port 6379 #138行,Redis默认的监听6379端口
daemonize yes #309行,设置为守护进程,后台启动
pidfile /app/redis/logs/redis6379.pid #341行,指定 PID 文件
logfile "/app/redis/logs/redis6379.log" #354行,指定日志文件
dir /app/redis/data #504行,指定持久化文件所在目录
#requirepass New@2024_05 #1037行,可选,设置redis密码
appendonly yes #1380行,开启AOF
=====================================
主机master修改配置文件
daemonize yes
#bind 127.0.0.1 -::1
protected-mode no
port 6379
#工作目录是在根目录下 即创建myredis是 要 mkdir /myredis 否则报错
dir /app/redis/data
pidfile /app/redis/logs/redis6379.pid
# 日志目录
logfile "/app/redis/logs/redis6379.log"
requirepass "New@2024_05"
#redis数据库保存文件地址 在工作目录的下边
dbfilename dump6379.rdb
appendonly yes
masterauth "New@2024_05"
————————————————
从机1配置文件
daemonize yes
#bind 127.0.0.1 -::1
protected-mode no
port 6380
#工作目录
dir /app/redis/data
pidfile /app/redis/logs/redis6379.pid
logfile "/app/redis/logs/redis6379.log"
requirepass "New@2024_05"
dbfilename dump6380.rdb
# 开启 aof (可选操作)
appendonly no
---slave1从机配置----这个配置内容会当主机挂掉,这个replicaof会被动态注释掉或者清除
replicaof 192.168.74.143 6379 #拜主机码头
masterauth "New@2024_05" //登录主机密码校验
从机2配置文件
daemonize yes
#bind 127.0.0.1 -::1
protected-mode no
port 6381
#工作目录
dir /app/redis/data
pidfile /app/redis/logs/redis6379.pid
# 日志目录
logfile "/app/redis/logs/redis6379.log"
requirepass "New@2024_05"
dbfilename dump6381.rdb
appendonly no
---slave2从机配置----
replicaof 192.168.74.143 6379 #拜主机码头
masterauth "New@2024_05" //登录主机密码校验
规划
Redis-Master :192.168.181.130 6379
Redis-slave1 :192.168.181.131 6379
Redis-slave2 :192.168.181.132 6379
Redis-Sentinel1:192.168.181.130 26379
Redis-Sentinel2:192.168.181.131 26379
Redis-Sentinel3:192.168.181.132 26379
————————————————
cp /software/redis-5.0.7/sentinel.conf /redis/data/conf/
vi /redis/data/conf/sentinel.conf
=================================
protected-mode no #6行,关闭保护模式
port 26379 #10行,Redis哨兵默认的监听端口
daemonize yes #15行,指定sentinel为后台启动
pidfile /app/redis/logs/redis-sentinel.pid #20行,指定 PID 文件
logfile "/app/redis/logs/sentinel.log" #25行,指定日志存放路径
dir /app/redis/data #54行,指定数据库存放路径
sentinel monitor mymaster 192.168.74.143 6379 2 #73行,修改 指定该哨兵节点监控192.168.154.10:6379这个主节点,该主节点的名称是mymaster,最后的2的含义与主节点的故障判定有关:至少需要2个哨兵节点同意,才能判定主节点故障并进行故障转移
#sentinel auth-pass mymaster New@2024_05 #76行,可选,指定Master节点的密码,仅在Master节点设置了requirepass
sentinel down-after-milliseconds mymaster 3000 #114行,判定服务器down掉的时间周期,默认30000毫秒(30秒)
sentinel failover-timeout mymaster 1154000 #214行,同一个sentinel对同一个master两次failover之间的间隔时间(1154秒)
dbfilename dump.6379rdb # 修改数据文件的名字dump.rdb名字
#master重新选举之后,其它节点能同时并行进行数据同步的台数有多少台
#显然该值越大,则所有slave能同步完成的速度越快,但如果此时刚好有人访问slave数据,可能造成读取失败,最保守的值建议设为1
#即同一时间只能有一台进行数据同步,这样其它slave还能继续提供服务,但是所有的slave数据同步完成就会显得缓慢。
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000 #故障转移超时时间,指在该时间内如果故障转移没有成功,则会再发起一次故障转移
sentinel deny-scripts-reconfig yes #保持默认即可
SENTINEL resolve-hostnames no #保持默认即可
SENTINEL announce-hostnames no #保持默认即可
————————————————
#先启动master,再启动slave
[root@Redis bin]# redis-sentinel /redis/data/conf/sentinel.conf
[root@Redis bin]# redis-cli -h -p 26379 #登录哨兵查看
[root@Redis bin]# ps -ef | grep redis