目录
1.安装环境
阿里云centos7.9版本
2.下载安装包
地址:Index of /releases/ 下载redis新版或者历史版本
将下好的redis包上传到linux服务器,或者在linux上直接下载redis安装包。
wget https://download.redis.io/releases/redis-6.2.5.tar.gz
解压文件
tar -zxvf redis-6.2.5.tar.gz
进入文件夹
cd /home/redis-6.2.5
3.安装依赖环境和编译
# 注意 redis 是C语言开发 安装需要 gcc 环境,才能正常运行
yum -y install gcc
# 编译
make
显示编译成功
4.启动
#指定目录安装
make PREFIX=/usr/local/redis install
这里多了一个关键字 PREFIX=
这个关键字的作用是编译的时候用于指定程序存放的路径。比如我们现在就是指定了redis必须存放在/usr/local/redis目录。假设不添加该关键字Linux会将可执行文件存放在/usr/local/bin目录,库文件会存放在/usr/local/lib目录。配置文件会存放在/usr/local/etc目录。其他的资源文件会存放在usr/local/share目录。这里指定号目录也方便后续的卸载,后续直接rm -rf /usr/local/redis 即可删除redis。
显示安装成功
复制conf文件到文件夹
cp redis.conf /usr/local/redis/bin
cp sentinel.conf /usr/local/redis/bin
配置文件更改
## 返回redis目录
cd /usr/local/redis/bin
vi redis.conf
## 修改以下内容----------------------------------------------------
#bind 127.0.0.1 - ::1
daemonize yes //是否守护进程
protected-mode no // 关闭保护模式
requirepass 123456
启动redis
# 指定配置文件启动
./redis-server ./redis.conf
5.集群搭建
正常集群搭建需要多台机器,我这里没有这么多机器,在一台机器上模拟多节点环境,直接复制多个redis文件夹,用不同端口启动
cd /usr/local/
cp -r redis redis2
cp -r redis redis3
修改从节点配置文件redis.conf,分别配置为6380和6381服务
## 修改以下内容----------------------------------------------------
#bind 127.0.0.1 - ::1
#redis日志
logfile ./redis_6380.log
port 6380
daemonize yes //是否守护进程
#配置文件中设置主节点的方法,redis主从复制这个地方只配置从库,不用配置主库!注意:主库不需要这个配置
replicaof 127.0.0.1 6379 ## 我这里由于是单机器,直接配置本地的主redis ip了
requirepass 123456 #本地redis密码
masterauth 123456 #主节点redis密码 注意:主节点也要配置,后边哨兵容灾切换用到
## 这里注意一下,主从节点密码设置要一样,要不然后续哨兵模式会导致何种问题出现
分别启动从节点redis2和redis3服务,搭建完成
/usr/local/redis2/bin/redis-server /usr/local/redis2/bin/redis.conf
/usr/local/redis3/bin/redis-server /usr/local/redis3/bin/redis.conf
6.启动哨兵
修改之前复制的sentinel.conf文件,修改以下参数
#端口默认为26379。
port 26379
#关闭保护模式,可以外部访问。
protected-mode no
#设置为后台启动。
daemonize yes
#日志文件。
logfile sentinel.log
#存放备份文件以及日志等文件的目录
dir "/usr/local/redis/data"
#指定服务器IP地址和端口,并且指定当有2台哨兵认为主机挂了,则对主机进行容灾切换。 注意:三台哨兵这里的ip配置均为主节点ip 和端口
sentinel monitor mymaster 127.0.0.1 6379 2
#当在Redis实例中开启了requirepass,这里就需要提供密码。
sentinel auth-pass mymaster 123456
#这里设置了主机多少秒无响应,则认为挂了。
sentinel down-after-milliseconds mymaster 3000
#主备切换时,最多有多少个slave同时对新的master进行同步,这里设置为默认的sentinel parallel-syncs mymaster 1
#故障转移的超时时间,这里设置为三分钟。
sentinel failover-timeout mymaster 180000
启动哨兵,修改端口,分别启动3个哨兵
./redis-sentinel sentinel.conf
进入哨兵客户端查看信息
哨兵模式启动成功,可以自己关闭主节点服务模拟节点宕机的情况
7.设置开机自启动
在系统服务目录里创建redis-server.service文件
vim /etc/systemd/system/redis-server.service
[Unit]
Description=The redis-server Process Manager
After=syslog.target network.target
[Service]
Type=forking
ExecStart=/usr/local/redis/src/redis-server /usr/local/redis/redis.conf
[Install]
WantedBy=multi-user.target
# 重新加载系统服务
systemctl daemon-reload
# 开机启动
systemctl enable redis-server.service
----------------------------------------------------
# 关闭redis-server
systemctl stop redis-server.service
# 启动redis-server
systemctl start redis-server.service
# 重新启动redis-server
systemctl restart redis-server.service
# 查看redis-server运行状态
systemctl status redis-server.service
表示开机自启动成功
8.redis卸载
查询redis位置和进程
[root@iZm5e452n3se0jvpdlgbdpZ src]# find / -name redis
/usr/local/redis
/etc/selinux/targeted/active/modules/100/redis
[root@iZm5e452n3se0jvpdlgbdpZ src]# ps -ef|grep redis
root 25422 19897 0 13:16 pts/3 00:00:00 vim redis.conf
root 25944 1 0 13:26 ? 00:00:02 ./redis-server *:6379
root 27148 19897 0 13:51 pts/3 00:00:00 grep --color=auto redis
kill命令杀死进程后卸载redis
rm -rf /etc/selinux/targeted/active/modules/100/redis
rm -rf /usr/local/redis