redis 两主两从

Redis集群与哨兵搭建

准备两台虚拟机,
IP分别为192.168.1.17
192.168.1.234
连接xshell,搭建yum。
安装环境。

[root@bogon src]# yum -y install gcc lrzsz vim 
[root@bogon src]# rz    上传至虚拟机
[root@bogon src]# ls
redis-3.2.8.tar.gz

安装Redis。

[root@bogon src]# mkdir -p /data/server
[root@bogon src]# tar zxf redis-3.2.8.tar.gz -C /data/server/
[root@bogon src]# cd /data/server/redis-3.2.8/
[root@bogon redis-3.2.8]# make 
[root@bogon redis-3.2.8]# cd src/
[root@bogon src]# make install

新建目录。

[root@bogon src]# cd ..
[root@bogon redis-3.2.8]# mkdir redis_cluster/
[root@bogon redis-3.2.8]# cd redis_cluster/
[root@bogon redis_cluster]# mkdir 6379 6380

在主机192.168.1.17中。
复制配置文件。

[root@bogon redis_cluster]# cp ../redis.conf 6379/
[root@bogon redis_cluster]# cp ../redis.conf 6380/
[root@bogon redis_cluster]# cp ../sentinel.conf 6380

修改配置文件。

[root@bogon redis_cluster]# vim 6379/redis.conf 
bind 192.168.1.17
protected-mode yes
port 6379
daemonize yes
supervised no
pidfile "/var/run/redis_6379.pid"
dir ./
slave-priority 25
[root@bogon redis_cluster]# vim 6380/redis.conf 
bind 192.168.1.17
protected-mode yes
port 6380
daemonize yes
supervised no
pidfile "/var/run/redis_6380.pid"
slaveof 192.168.1.17 6379
slave-priority 100
[root@bogon redis_cluster]# vim 6380/sentinel.conf 
protected-mode no
daemonize yes
port 26379
dir "/tmp"
sentinel monitor mymaster 192.168.1.17 6379 2

在192.168.1.234中。
复制配置文件。

[root@localhost redis_cluster]# cp ../redis.conf 6379/
[root@localhost redis_cluster]# cp ../redis.conf 6380/
[root@localhost redis_cluster]# cp ../sentinel.conf 6380/
[root@localhost redis_cluster]# cp ../sentinel.conf 6379/
[root@localhost redis_cluster]# vim 6379/redis.conf 
bind 192.168.1.234
protected-mode yes
port 6379
daemonize yes
pidfile "/var/run/redis_6379.pid"
slaveof 192.168.1.17 6379
slave-priority 25
[root@localhost redis_cluster]# vim 6379/sentinel.conf 
protected-mode no
daemonize yes
port 26379
dir "/tmp"
sentinel monitor mymaster 192.168.1.17 6379 2
[root@localhost redis_cluster]# vim 6380/redis.conf 
bind 192.168.1.234
protected-mode yes
port 6380
daemonize yes
supervised no
pidfile "/var/run/redis_6380.pid"
slaveof 192.168.1.17 6379
slave-priority 100
[root@localhost redis_cluster]# vim 6380/sentinel.conf 
protected-mode no
daemonize yes
port 26379
dir "/tmp"
sentinel monitor mymaster 192.168.1.17 6379 2

开启所有的服务和哨兵。
在192.168.1.17中。

[root@bogon 6380]# cd ../6379/
[root@bogon 6379]# redis-server redis.conf
[root@bogon 6379]# cd ../6380/
[root@bogon 6380]# redis-server redis.conf
[root@bogon 6380]# redis-sentinel sentinel.conf

在192.168.1.234中。

[root@localhost 6380]# cd ../6379/
[root@localhost 6379]# redis-server redis.conf
[root@localhost 6379]# redis-sentinel sentinel.conf
[root@localhost 6379]# cd ../6380/
[root@localhost 6380]# redis-server redis.conf
[root@localhost 6380]# redis-sentinel sentinel.conf

关闭防火墙,降低沙盒。

[root@bogon 6380]# systemctl stop firewalld
[root@bogon 6380]# setenforce 0

查看 192.168.1.17。
[root@bogon 6380]# ps aux | grep redis
在这里插入图片描述
[root@bogon 6380]# netstat -tuplan | grep redis

查看 192.168.1.234。
[root@localhost 6380]# ps aux | grep redis

[root@localhost 6380]# netstat -tuplan | grep redis
在这里插入图片描述
在192.168.1.17上验证。

[root@bogon 6380]# redis-cli -h 192.168.1.17
192.168.1.17:6379> info replication
#Replication
role:master
connected_slaves:3
slave0:ip=192.168.1.17,port=6380,state=online,offset=231925,lag=0
slave1:ip=192.168.1.234,port=6379,state=online,offset=231925,lag=0
slave2:ip=192.168.1.234,port=6380,state=online,offset=231925,lag=0
master_repl_offset:231925
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:231924
192.168.1.17:6379> quit

在这里插入图片描述
杀死主机。
[root@bogon 6380]# kill 23780
查看。

[root@localhost 6380]#  redis-cli -h 192.168.1.234
192.168.1.234:6379> info replication
# Replication
role:master
connected_slaves:2
slave0:ip=192.168.1.234,port=6380,state=online,offset=5723,lag=1
slave1:ip=192.168.1.17,port=6380,state=online,offset=5723,lag=1
master_repl_offset:5864
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:5863
192.168.1.234:6379> quit

杀死备主,并开启主机。

[root@localhost 6380]# kill 23339
[root@localhost 6380]# cd ../6379/
[root@localhost 6379]# redis-server redis.conf
[root@localhost 6380]#  redis-cli -h 192.168.1.234 -p 6380
192.168.1.234:6380> info replication
 Replication
role:master
connected_slaves:2
slave0:ip=192.168.1.17,port=6380,state=online,offset=161207,lag=1
slave1:ip=192.168.1.234,port=6379,state=online,offset=161207,lag=1
master_repl_offset:161207
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:2
repl_backlog_histlen:161206
192.168.1.234:6380> quit
在Kubernetes上部署Redis从的步骤如下: 1. 创建一个Ubuntu容器,用于进行Redis集群的管理控制。可以使用以下命令创建该容器: ``` kubectl run -it ubuntu --image=ubuntu --restart=Never /bin/bash ``` 2. 在Ubuntu容器中安装Redis-tribe,并初始化Redis集群。可以使用以下命令安装Redis-tribe: ``` apt-get update apt-get install -y redis-tools ``` 3. 创建一个Configmap,将Redis的配置文件转化为Configmap。可以使用以下命令创建Configmap: ``` kubectl create configmap redis-config --from-file=redis.conf ``` 4. 修改redis.conf配置文件,确保以下配置项正确设置: ``` appendonly yes cluster-enabled yes cluster-config-file /var/lib/redis/nodes.conf cluster-node-timeout 5000 dir /var/lib/redis port 6379 ``` 5. 创建Redis节点和从节点的Deployment和Service。可以使用以下命令创建节点的Deployment和Service: ``` kubectl create -f redis-master-deployment.yaml kubectl create -f redis-master-service.yaml ``` 6. 创建Redis的从节点的Deployment和Service。可以使用以下命令创建从节点的Deployment和Service: ``` kubectl create -f redis-slave-deployment.yaml kubectl create -f redis-slave-service.yaml ``` 7. 修改redis-sentinel.conf配置文件,将sentinel monitor mymaster的IP地址更改为自己的IP地址。 8. 创建Redis Sentinel的Configmap,并使配置文件生效。可以使用以下命令创建Configmap并使其生效: ``` kubectl create configmap redis-sentinel-config --from-file=redis-sentinel.conf kubectl apply -f redis-sentinel-configmap.yaml ``` 通过以上步骤,你可以在Kubernetes上成功部署一个包含节点和个从节点的Redis集群。请确保根据你的实际情况修改相应的配置文件和IP地址。 #### 引用[.reference_title] - *1* *2* [在K8s上部署Redis 集群](https://blog.csdn.net/sebeefe/article/details/124473706)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [基于k8s部署redis从三哨兵集群](https://blog.csdn.net/makabaka1234/article/details/125681517)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值