redis官方安装
redis所有集群安装步骤
安装
官方下载链接:http://download.redis.io
1,下载
wget http://download.redis.io/releases/redis-5.0.3.tar.gz
2,解压
tar -xf redis-5.0.3.tar.gz
cd redis-5.0.3
编译安装
make PREFIX=/app/redis install
mkdir /app/redis/{etc,logs,data,run}
拷贝配置文件
cp redis.conf /app/redis/etc/
修改配置文件
vi /app/redis/etc/redis.conf
pidfile /app/redis/run/redis_6379.pid #定义pid文件位置
logfile "/app/redis/logs/redis.log" #定义log文件位置
手动启动
/app/redis/bin/redis-server /app/redis/etc/redis.conf &
netstat -untlp | grep redis
警告信息优化
vi /etc/sysctl.conf
net.core.somaxconn = 512
vm.overcommit_memory = 1
sysctl -p
echo never > /sys/kernel/mm/transparent_hugepage/enabled
创建redis用户
groupadd -g 1004 redis && useradd -u 1004 -g 1004 redis -s /sbin/nologin
chown redis.redis -R /app/redis/
设置全局变量(做软连接)
ln -sv /app/redis/bin/redis-* /usr/bin/
使用systemctl 管理redis
cat /usr/lib/systemd/system/redis.service
[Unit]
Description=Redis
After=network.target
[Service]
Type=simple
PIDFile=/var/run/redis_6379.pid
ExecStart=/app/redis/bin/redis-server /app/redis/etc/redis.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
User=redis
Group=redis
[Install]
WantedBy=multi-user.target
启动服务与开机自启动
systemctl daemon-reload
systemctl restart redis
systemctl enable redis
本机连接
redis-cli
# 跨主机非密码练级
设置密码连接 requirepass 跟密码
把protected-mode yes改为protected-mode no(在没有密码的情况下,关闭保护模式)
注释掉bind 127.0.0.1 (取消绑定本地地址)
把daemonize no改为daemonize yes (是否为进程守护,关闭ssh窗口后即是否在后台继续运行)
redis-cli -h hostname/ip -p port
# 跨主机密码连接
redis-cli -h hostname/ip -p 端口 -a password
Sentinel (哨兵)配置
1,主从同步
slave主机
replicaof 192.168.0.79 6379
masterauth "123456" #master密码
systemctl restart redis
查看状态
info replication
role:slave 是否为slave
master主机
1,拷贝配置文件
cp redis-5.0.3/sentinel.conf /app/redis/etc/
2,修改配置文件
[root@server2 linux]# grep "^[a-Z]" /app/redis/etc/sentinel.conf
bind 0.0.0.0
port 26379
daemonize yes
pidfile "/app/redis/run/redis-sentinel.pid"
logfile "/app/redis/logs/sentinel_26379.log"
dir "/app/redis/data"
sentinel monitor mymaster 192.168.0.79 6379 1 # (IP地址写master,数量有几个slave写几个)
sentinel auth-pass mymaster 123456
sentinel down-after-milliseconds mymaster 30000 #(SDOWN)主管下线的时间
sentinel parallel-syncs mymaster 1 #发生故障转移时候会同时向新master同步数据的slave数量,数字越小总同步时间越长
sentinel failover-timeout mymaster 180000 #所有slave指向新的master所需的超时时间
sentinel deny-scripts-reconfig yes #禁止修改脚本
slave 主机
1,拷贝配置文件
cp redis-5.0.3/sentinel.conf /app/redis/etc/
2,修改配置文件
[root@localhost ~]# grep "^[a-Z]" /app/redis/etc/sentinel.conf
bind 0.0.0.0
port 26379
daemonize yes
pidfile "/app/redis/run/redis-sentinel.pid"
logfile "/app/redis/logs/sentinel_26379.log"
dir "/app/redis/data"
sentinel deny-scripts-reconfig yes
sentinel monitor mymaster 192.168.0.79 6379 1
sentinel auth-pass mymaster 123456
启动
master和slave
redis-sentinel /app/redis/etc/sentinel.conf
验证端口
ss -untlp | grep sentinel
查看 redis master 状态
127.0.0.1:6379> info replication
Replication
role:master
connected_slaves:1
slave0:ip=192.168.0.98,port=6379,state=online,offset=22521,lag=1
master_replid:47de1cf1f003ebf11947f352d06101bf6b3fcd26
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:22660
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:22660
查看sentine 状态
[root@server2 redis-5.0.3]# redis-cli -h 192.168.0.79 -p 26379
192.168.0.79:26379> info sentinel
Sentinel
sentinel_masters:1
sentinel_tilt:0
sentinel_running_scripts:0
sentinel_scripts_queue_length:0
sentinel_simulate_failure_flags:0
master0:name=mymaster,status=ok,address=192.168.0.79:6379,slaves=1,sentinels=2
192.168.0.79:26379>
测试
停止master主机的redis
systemctl stop redis
slave 主机查看
info replication
role:slave 是否为master
redis cluster集群
安装好Redis 5以后,搭建一个典型的Redis集群,确定规格为3主3从模式。
环境准备6台服务器
分别是
server1 server2 server3 server4 server5 server6
集群配置文件修改地方
#master连接密码
masterauth 123456
#客户端在处理任何命令时都要验证身份和密码。
requirepass 123456
#集群启用
cluster-enabled yes
#集群配置文件
cluster-config-file nodes-8001.conf
# 集群节点超时毫秒数。超时的节点将被视为不可用状态。
cluster-node-timeout 15000
# replicaof 这里需要注释掉
启动服务
systemctl restart redis
systemctl enable redis
创建集群
./redis-cli --cluster create -a 123456 1 192.168.10.1:6379 192.168.10.2:6379 192.168.10.3:6379 192.168.10.4:6379 192.168.10.5:6379 192.168.10.6:6379 --cluster-replicas
提示
验证集群状态
查看集群对应关系
注意
这里展示5.0版本的集群创建方式,5.0以下创建方式跟这个不太一样哦