redis 安装主从

包获取地址

http://download.redis.io/releases/

单机环境下安装

wget http://download.redis.io/releases/redis-6.2.6.tar.gz
tart -zxvf redis-6.2.6.tar.gz
mv redis-6.2.6.tar.gz redis
cd ./redis
make
cd ./src
make install
# 启动redis
./redis-server
# 连接redis
redis-cli -h 127.0.0.1 -p 6379
# 关闭redis服务
./redis-cli -p 6379 shutdown

主从安装

mkdir bin
cp mkreleasehdr.sh redis-benchmark redis-check-aof redis-check-rdb redis-cli redis-server redis-sentinel /opt/tool/redis/bin
mkdir etc
vim redis.conf

主机配置

bind 0.0.0.0
port 6379
protected-mode no
daemonize yes
logfile ./redis.log
requirepass 123456
masterauth 123456

从机配置

bind 0.0.0.0
port 6379
protected-mode no
daemonize yes
logfile ./redis.log
requirepass 123456
masterauth 123456
replicaof 39.101.192.246 6379
./redis-server /root/redis/etc/redis.conf
#查看当前节点状态
info replication

# Replication
role:slave
master_host:39.101.192.246
master_port:6379
master_link_status:up
master_last_io_seconds_ago:9
master_sync_in_progress:0
slave_read_repl_offset:1834
slave_repl_offset:1834
slave_priority:100
slave_read_only:1
replica_announced:1
connected_slaves:0
master_failover_state:no-failover
master_replid:976bfe659afba002c519cde9b7fd0995a8699b28
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:1834
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:1834
# Replication
role:master
connected_slaves:1
slave0:ip=47.113.203.1,port=6379,state=online,offset=1862,lag=0
master_failover_state:no-failover
master_replid:976bfe659afba002c519cde9b7fd0995a8699b28
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:1862
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:1862
使用 Docker 安装 Redis 主从复制可按以下步骤操作: ### 1. 启动 Redis 容器 首先启动多个 Redis 容器,以创建主从复制所需的环境。例如,创建三个 Redis 容器: ```bash docker run --name redis-6379 -p 6379:6379 -d redis:3.2 redis-server docker run --name redis-6380 -p 6380:6379 -d redis:3.2 redis-server docker run --name redis-6381 -p 6381:6379 -d redis:3.2 redis-server ``` 此时已经创建好了三个基本容器,容器的名称分别是:redis-6379、redis-6380、redis-6381 [^2]。 ### 2. 配置 Redis 主从关系 需要在从节点的配置中指定主节点的信息。在 Redis 配置文件里添加或修改 `replicaof` 配置项,格式为 `replicaof <master-ip> <master-port>`。例如: ```plaintext replicaof 192.168.2.175 6379 ``` 此处的 IP 应是主机的 IP,端口也应该是主机的端口 [^3]。 ### 3. 重启 Redis 容器 添加或修改完成配置之后,需要重启 Redis 的 Docker 容器,使配置生效。示例如下: ```bash # 假设容器名是 redis-server-02 和 redis-server-03 docker restart redis-server-02 docker restart redis-server-03 ``` 如果使用上面创建的容器名,相应的重启命令为: ```bash docker restart redis-6380 docker restart redis-6381 ``` ### 4. 验证主从复制 可通过客户端工具连接到 Redis 主从节点,使用 `info replication` 命令查看复制信息,确认主从复制是否配置成功。 ### 完整示例 以下是一个更完整的启动 Redis 容器并挂载配置文件的示例,用于启动一个主节点和两个从节点: #### 主节点 ```bash docker run -p 6379:6379 --name redis-master \ -v /mydata/redis/data:/data \ -v /mydata/redis/conf/redis-master.conf:/etc/redis/redis.conf \ -d redis redis-server /etc/redis/redis.conf ``` #### 从节点 1 ```bash docker run -p 6380:6379 --name redis-slave1 \ -v /mydata/redis/data-slave1:/data \ -v /mydata/redis/conf/redis-slave1.conf:/etc/redis/redis.conf \ -d redis redis-server /etc/redis/redis.conf ``` 在 `redis-slave1.conf` 中添加 `replicaof <master-ip> 6379`。 #### 从节点 2 ```bash docker run -p 6381:6379 --name redis-slave2 \ -v /mydata/redis/data-slave2:/data \ -v /mydata/redis/conf/redis-slave2.conf:/etc/redis/redis.conf \ -d redis redis-server /etc/redis/redis.conf ``` 在 `redis-slave2.conf` 中添加 `replicaof <master-ip> 6379`。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值