Redis主从复制

安装

版本和常见问题

错误1:
make[3]: cc: Command not found

yum install gcc -y

错误2:
zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: No such file or directory #include <jemalloc/jemalloc.h>

make MALLOC=libc

错误3:
经验整理:本人系统是centos7.7,安装redis6.0.6时遇到如下问题,其它贴子说要升级gcc版本5.3以上,默认安装的是4.8.5。但由于gcc5.3版本下载遇到一些问题,个人最终还是选择redis5.0.8版本。完美适配centos7.7
struct redisServer’ has no member named ‘server_cpulist
server.c:5208:15: error: ‘struct redisServer’ has no member named ‘maxmemory’ if (server.maxmemory > 0 && server.maxmemory < 1024*1024)

redis 6.0.6要求gcc 版本必须大于5.3
查看gcc默认安装的版本
gcc -v

[root@test3 redis-6.0.6]$ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper
Target: x86_64-redhat-linux

错误4:
You need tcl 8.5 or newer in order to run the Redis test make: ***[test] Error_1

解决办法是用yum安装tcl8.5(或去tcl的官方网站http://www.tcl.tk/下载8.5版本,并参考官网介绍进行安装)
yum install tcl

主从搭建

配置主从同步文件

# 服务器端口号,主从分别修改为7001 7002 7003 
port 7001 
# 使得Redis可以跨网络访问 
bind 0.0.0.0 
# 配置reids的密码 
requirepass "111111" 
# 下面两个配置只需要配置从节点(slave) 
# 配置主服务器地址、端口号 
replicaof 127.0.0.1 7001 
# 主服务器密码 
masterauth "111111"

启动三个服务:

$ ./src/redis-server redis.conf 
$ ./src/redis-server slave.conf 
$ ./src/redis-server slave1.conf

主服务验证同步信息:

[root@test3 redis-5.0.8]$ ./src/redis-cli -h 127.0.0.1 -p 7001
127.0.0.1:7001> auth 111111
OK
127.0.0.1:7001> info replication
# Replication
role:master
connected_slaves:2
slave0:ip=127.0.0.1,port=7002,state=online,offset=126,lag=0
slave1:ip=127.0.0.1,port=7003,state=online,offset=126,lag=0
master_replid:cfe84e422462da8b9ef4ab25b3bb6d88e915792c
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:126
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:126

从节点1验证同步信息:

[root@test3 redis-5.0.8]$ ./src/redis-cli -h 127.0.0.1 -p 7002
127.0.0.1:7002> auth 111111
OK
127.0.0.1:7002> info replication
# Replication
role:slave
master_host:127.0.0.1
master_port:7001
master_link_status:up
master_last_io_seconds_ago:0
master_sync_in_progress:0
slave_repl_offset:224
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:cfe84e422462da8b9ef4ab25b3bb6d88e915792c
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:224
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:224

从节点2验证信息:

[root@test3 redis-5.0.8]$ ./src/redis-cli -h 127.0.0.1 -p 7003
127.0.0.1:7003>
127.0.0.1:7003>
127.0.0.1:7003> auth 111111
OK
127.0.0.1:7003> info replication
# Replication
role:slave
master_host:127.0.0.1
master_port:7001
master_link_status:up
master_last_io_seconds_ago:8
master_sync_in_progress:0
slave_repl_offset:2268
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:cfe84e422462da8b9ef4ab25b3bb6d88e915792c
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:2268
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:2268

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值