Linux 搭建Redis 哨兵集群

目录

1.安装环境

 2.下载安装包    

3.安装依赖环境和编译 

4.启动

5.集群搭建

6.启动哨兵

7.设置开机自启动

8.redis卸载


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

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值