linux中搭建Redis主从服务器

运行环境
linux系统-CentOS-7-x86_64-Minimal-1908.iso
链接:https://pan.baidu.com/s/1nETURJDYgc0Er-4MUP7cww
提取码:4ff5

docker-compose-Linux-x86_64
链接:https://pan.baidu.com/s/1FR6T7brVLa38wA-dVza_Ng
提取码:b8uu

在有 docker-compose.yml 文件夹的地方运行

docker-compose.yml文件内容

version: "3.1"
services:
  redis1:
    image: daocloud.io/library/redis:5.0.7
    restart: always
    container_name: redis1
    environment:
      - TZ=Asia/Shanghai
    ports:
      - 7001:6379
    volumes:
      - ./conf/redis1.conf:/usr/local/redis/redis.conf
    command: ["redis-server","/usr/local/redis/redis.conf"]
  redis2:
    image: daocloud.io/library/redis:5.0.7
    restart: always
    container_name: redis2
    environment:
      - TZ=Asia/Shanghai
    ports:
      - 7002:6379
    volumes:
      - ./conf/redis2.conf:/usr/local/redis/redis.conf
    links:
      - redis1:192.168.125.131
    command: ["redis-server","/usr/local/redis/redis.conf"]
  redis3:
    image: daocloud.io/library/redis:5.0.7
    restart: always
    container_name: redis3
    environment:
      - TZ=Asia/Shanghai
    ports:
      - 7003:6379
    volumes:
      - ./conf/redis3.conf:/usr/local/redis/redis.conf
    links:
      - redis1:192.168.125.131
    command: ["redis-server","/usr/local/redis/redis.conf"]

创建 conf 文件夹
在这里插入图片描述
conf文件内创建 redis1.conf

# 配置redis的验证密码 密码为root  去掉#号配置生效
# requirepass root


#持久化的两种方式 只有突然停止的时候才会存
save 900 1
save 300 10
save 60 10000

dbfilename redis.rdb

appendonly yes
appendfilename "redisaof.aof"

在 conf 文件中创建 redis2.conf redis3.conf 文件
这两个配置文件 内容一样都是

replicaof 192.168.125.131 7001

运行:

  docker-compose up -d

如果出现
在这里插入图片描述
Creating network “docker-compose_default” with the default driver
ERROR: Failed to Setup IP tables: Unable to enable SKIP DNAT rule: (iptables failed: iptables --wait -t nat -I DOCKER -i br-c46c2ff29fb5 -j RETURN: iptables: No chain/target/match by that name.

开启防火墙即可!
在这里插入图片描述
运行起来后还是要关闭防火墙

systemctl start firewalld

,不然写数据 同步无法到 从服务器!
或者
最好的方式是吧防火墙彻关闭,重启docker 即可解决问题

systemctl disable firewalld
systemctl restart docker

查看docker 容器并进入容器
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1IBgdZmb-1594122306143)(https:/img-blog.csdnimg.cn/20200707194237419.png)]

docker ps

进入redis1 容器内

 docker exec -it 3f bash
 redis-cli

在这里插入图片描述
进入后就可以输入命令
写入 key为name 值为jiangjiang

set name jiangjiang

获取name

get name

在这里插入图片描述
退出 ctrl+c 后输入 exit
进去redis2容器 获取 get name
在这里插入图片描述
成功!!! 或者使用图形化界面查看
在这里插入图片描述

以上都是同一个服务器
在创一个服务器
在这里插入图片描述
docker-compose.yml 配置文件
来配置 redis4 从

version: '3.1'
services:
  nginx:
    restart: always
    image: daocloud.io/library/nginx:latest
    container_name: nginx
    ports:
      - 80:80
    volumes:
      - /opt/docker_nginx/conf.d/:/etc/nginx/conf.d
  tomcat1:
    restart: always
    image: daocloud.io/library/tomcat:8.5.15-jre8
    container_name: tomcat1
    ports:
      - 8081:8080
    environment:
      TZ: Asia/Shanghai
    volumes:
      - /opt/docker_mysql_tomcat/tomcat_webapps1:/usr/local/tomcat/webapps
      - /opt/docker_mysql_tomcat/tomcat_logs1:/usr/local/tomcat/logs
  tomcat2:
    restart: always
    image: daocloud.io/library/tomcat:8.5.15-jre8
    container_name: tomcat2
    ports:
      - 8082:8080
    environment:
      TZ: Asia/Shanghai
    volumes:
      - /opt/docker_mysql_tomcat/tomcat_webapps2:/usr/local/tomcat/webapps
      - /opt/docker_mysql_tomcat/tomcat_logs2:/usr/local/tomcat/logs



  redis4:
    image: daocloud.io/library/redis:5.0.7
    restart: always
    container_name: redis3
    environment:
      - TZ=Asia/Shanghai
    ports:
      - 7004:6379
    volumes:
      - ./conf/redis4.conf:/usr/local/redis/redis.conf

    command: ["redis-server","/usr/local/redis/redis.conf"]

创建 conf文件 创建redis4.conf 配置文件
文件内容为

replicaof 192.168.125.131 7001

在docker-compose.yml 文件下运行 docker-compose up -d
docker ps 查看 redis4 容器 查看
在这里插入图片描述

### 回答1: 要在Linux搭建Redis主从复制,需要按照以下步骤进行操作: 1. 安装Redis:在Linux上安装Redis,可以使用apt-get或yum命令进行安装。 2. 配置Redis服务器:在Redis服务器上,需要修改redis.conf配置文件,将bind参数设置为主服务器的IP地址,将protected-mode参数设置为no,将slave-read-only参数设置为no,将requirepass参数设置为一个密码,以保证安全性。 3. 启动Redis服务器:启动Redis服务器,使用redis-server命令即可。 4. 配置Redis服务器:在Redis服务器上,需要修改redis.conf配置文件,将bind参数设置为从服务器的IP地址,将protected-mode参数设置为no,将slave-read-only参数设置为yes,将masterauth参数设置为主服务器的密码。 5. 启动Redis服务器:启动Redis服务器,使用redis-server命令即可。 6. 连接Redis主从服务器:在Redis服务器上,使用redis-cli命令连接Redis服务器,使用slaveof命令将从服务器设置为主服务器的从服务器。 7. 测试Redis主从复制:在Redis服务器上,使用set命令设置一个键值对,然后在Redis服务器上使用get命令获取该键值对,如果能够获取到,则说明Redis主从复制已经成功搭建。 以上就是在Linux搭建Redis主从复制的步骤,需要注意的是,在配置Redis主从服务器时,需要根据实际情况进行修改,以保证配置的正确性。 ### 回答2: Redis是一种开源的key-value数据库,它可以通过主从复制机制提供可靠性和性能增强。在主从复制模型,有一个主节点和多个从节点,主节点负责处理所有写操作,从节点则复制主节点的数据以实现高可靠性和高可用性。 搭建Redis主从复制可以带来以下好处: 1. 数据冗余:主节点将数据同时推送到不同的从节点上,一旦主节点宕机,从节点可以立即接管服务,保证数据不丢失; 2. 负载均衡:主节点负责写操作,从节点只负责读操作,可以极大程度上减轻主节点的负载,提高系统性能; 3. 读取速度:多个从节点可以并行读取数据,提高读取速度。 下面是Linux搭建Redis主从复制的步骤: 1. 安装Redis:使用yum命令在CentOS Linux上安装Redis。 ``` yum install redis ``` 2. 准备Redis主从复制的配置文件,创建快照目录 ``` mkdir /etc/redis cp /etc/redis.conf /etc/redis/redis-master.conf cp /etc/redis.conf /etc/redis/redis-slave.conf mkdir /var/redis/redis-master mkdir /var/redis/redis-slave ``` 3. 编辑redis-master.conf文件,设置Redis主节点的ip地址、端口、快照目录和持久化策略 ``` bind 127.0.0.1 port 6379 dir /var/redis/redis-master save 900 1 save 300 10 save 60 10000 ``` 4. 编辑redis-slave.conf文件,设置Redis从节点的ip地址、端口、快照目录,以及主从复制的参数 ``` bind 127.0.0.1 port 6380 dir /var/redis/redis-slave slaveof 127.0.0.1 6379 ``` 5. 启动Redis主节点 ``` redis-server /etc/redis/redis-master.conf ``` 6. 启动Redis从节点 ``` redis-server /etc/redis/redis-slave.conf ``` 在实际应用主从复制可以大大增强Redis数据库的可靠性和可用性,使得系统更加健壮和高效。需要注意的是,为了保证整个主从复制的过程正确无误,用户需要根据Redis版本和特定目录等不同因素进行相应的调整。 ### 回答3: Redis是一个高性能的key-value存储系统,常用于缓存、队列等场景。为了提高Redis的可用性和稳定性,通常需要搭建Redis主从复制,实现数据的自动备份和高可用。在Linux操作系统上搭建Redis主从复制,可以按照以下步骤操作: 1.安装Redis:在Linux上安装Redis非常简单,可以在终端输入命令sudo yum install redis,即可安装Redis软件包。 2.配置Redis服务器:打开Redis服务器的配置文件/etc/redis.conf,找到bind,将其注释掉;找到requirepass,输入密码并保存配置文件;找到daemonize,将其改为yes。启动Redis服务器。 3.配置Redis服务器:打开Redis服务器的配置文件/etc/redis.conf,找到bind,将其注释掉;找到requirepass,输入主服务器密码并保存配置文件;找到daemonize,将其改为yes;找到slaveof,输入主服务器IP和端口号,并保存配置文件。启动Redis服务器。 4.测试:在主服务器上通过redis-cli命令行输入的set命令设置一个键值对,在从服务器上通过redis-cli命令行输入的get命令获取键值对,如果返回相同的值,说明Redis主从复制搭建成功。 通过以上步骤可实现Redis主从复制的搭建,实现数据的自动备份和高可用。同时,也需要注意Redis主从服务器的配置和运维,保证Redis服务的稳定性和可用性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值