一、安装Redis
一、安装gcc依赖
由于 redis 是用 C 语言开发,安装之前必先确认是否安装 gcc 环境(gcc -v),如果没有安装,执行以下命令进行安装
[root@localhost local]# yum install -y gcc
二、下载并解压安装包
[root@localhost local]# wget http://download.redis.io/releases/redis-5.0.3.tar.gz
[root@localhost local]# tar -zxvf redis-5.0.3.tar.gz
三、cd切换到redis解压目录下,执行编译
[root@localhost local]# cd redis-5.0.3
[root@localhost redis-5.0.3]# make
四、安装并指定安装目录
[root@localhost redis-5.0.3]# make install PREFIX=/usr/local/redis
从 redis 的源码目录中复制 redis.conf 到 redis 的安装目录
[root@localhost bin]# cp /usr/local/redis-5.0.3/redis.conf /usr/local/redis/bin/
修改 redis.conf 文件,把 daemonize no 改为 daemonize yes
[root@localhost bin]# vi redis.conf
五、设置开机启动
添加开机启动服务
[root@localhost bin]# vi /etc/systemd/system/redis.service
复制粘贴以下内容:
[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
注意:ExecStart配置成自己的路径
创建 redis 命令软链接
[root@localhost ~]# ln -s /usr/local/redis/bin/redis-cli /usr/bin/redis
测试 redis
二、配置Redis主从
修改conf配置文件
# Redis使用后台模式
daemonize yes
# 关闭保护模式
#protected-mode no
# 注释以下内容开启远程访问
# bind 127.0.0.1
# 修改启动端口为6379
port 6379
# 修改pidfile指向路径
pidfile /var/run/redis_6379.pid
#Slaveof命令可以将当前服务器转变为指定服务器的从属服务器(slave server)。
slaveof 127.0.0.1 6379
#设置密码
requirepass xxxx
#主server有密码
masterauth xxx
三、配置Redis集群
修改conf配置文件
#开启集群
cluster-enabled yes
#集群配置信息文件,由Redis自行更新,不用手动配置。每个节点都有一个集群配置文件用于持久化保存集群信息,需确保与运行中实例的配置文件名 不冲突。
cluster-config-file nodes-6379.conf
#节点互连超时时间,毫秒为单位
cluster-node-timeout 15000
#在进行故障转移的时候全部slave都会请求申请为master,但是有些slave可能与master断开连接一段时间了导致数据过于陈旧,不应该被提升为master。该参数就是用来判断slave节点与master断线的时间是否过长。判断方法是:比较slave断开连接的时间和(node-timeout * slave-validity-factor)+ repl-ping-slave-period如果节点超时时间为三十秒, 并且slave-validity-factor为10,假设默认的repl-ping-slave-period是10秒,即如果超过310秒slave将不会尝试进行故障转移
cluster-slave-validity-factor 10
#master的slave数量大于该值,slave才能迁移到其他孤立master上,如这个参数被设为2,那么只有当一个主节点拥有2个可工作的从节点时,它的一个从节点才会尝试迁移。
cluster-migration-barrier 1
#集群所有节点状态为ok才提供服务。建议设置为no,可以在slot没有全部分配的时候提供服务。
cluster-require-full-coverage yes
集群命令
./redis-cli --cluster create 172.16.141.170:6379 172.16.141.170:6378 172.16.141.172:6379 172.16.141.172:6378 172.16.141.171:6379 172.16.141.171:6378 --cluster-replicas 1
(-a xxx 如果有密码)
注:
若未生成则需要删除aof rdb等文件,重启redis服务
bind 必须是外网ip(绑定 如192.168.1.1 不能是127.0.0.1)
查看端口号 和 端口号+10000 是否启动