linux启动redis主从,Linux安装redis并搭建主从,哨兵

下载redis

选择你想要存放的目录,然后 下载  解压

wget http://download.redis.io/releases/redis-4.0.6.tar.gz

tar -zxf redis-4.0.6.tar.gz

解压完成后进入解压好的目录

3b0966aed0deb29d5b71b250e1fdaf80.png

然后执行  make  对解压的Redis文件进行编译

6d1e13ebb1c4804e0467c158a1d4f7ba.png

执行完成后进入src目录

执行

make install PREFIX=/usr/mpsp/redis/redis-4.0.6

PREFIX 后面是安装路径

执行成功后就会多出一个bin的目录

b914978e1ab429bd95e0509b536e1971.png

这样  我们的redis 就已经安装好了

主从+哨兵

由于我比较穷,只有一台服务器,所以,就只在一台服务器上面同时部署了

首先,复制三个出来,然后原本的就先放在哪里,留作备用

cp -r redis-4.0.6 redis-4.0.6-master

cp -r redis-4.0.6 redis-4.0.6-Slave-1

cp -r redis-4.0.6 redis-4.0.6-Slave-2

然后是配置

主redis的配置

redis.conf

#后台启动

daemonize yes

pidfile "/usr/mpsp/data/redis/6379/redisRun/redis_6379.pid"

port 6379

timeout 0

tcp-keepalive 0

loglevel notice

logfile "/usr/mpsp/data/redis/6379/redislog/redis.log"

databases 16

save 900 1

save 300 10

save 60 10000

stop-writes-on-bgsave-error yes

rdbcompression yes

rdbchecksum yes

dbfilename "dump.rdb"

dir "/usr/mpsp/data/redis/6379/redisdb"

#如果做故障切换,不论主从节点都要填写密码且要保持一致

masterauth "123456"

slave-serve-stale-data yes

slave-read-only yes

repl-disable-tcp-nodelay no

slave-priority 98

#当前redis密码

requirepass "123456"

appendonly yes

# appendfsync always

appendfsync everysec

# appendfsync no

no-appendfsync-on-rewrite no

auto-aof-rewrite-percentage 100

auto-aof-rewrite-min-size 64mb

lua-time-limit 5000

slowlog-log-slower-than 10000

slowlog-max-len 128

notify-keyspace-events ""

hash-max-ziplist-entries 512

hash-max-ziplist-value 64

list-max-ziplist-entries 512

list-max-ziplist-value 64

set-max-intset-entries 512

zset-max-ziplist-entries 128

zset-max-ziplist-value 64

activerehashing yes

client-output-buffer-limit normal 0 0 0

client-output-buffer-limit slave 256mb 64mb 60

client-output-buffer-limit pubsub 32mb 8mb 60

hz 10

aof-rewrite-incremental-fsync yes

# Generated by CONFIG REWRITE

然后是从redis的配置

daemonize yes

pidfile "/use/mpsp/data/redis/7000/redisRun/redis_7000.pid"

port 7000

timeout 0

tcp-keepalive 0

loglevel notice

logfile "/use/mpsp/data/redis/7000/redislog/redis.log"

databases 16

save 900 1

save 300 10

save 60 10000

stop-writes-on-bgsave-error yes

rdbcompression yes

rdbchecksum yes

dbfilename "dump.rdb"

dir "/use/mpsp/data/redis/7000/redisdb"

#主节点密码

masterauth "123456"

slave-serve-stale-data yes

slave-read-only yes

repl-disable-tcp-nodelay no

slave-priority 98

requirepass "123456"

appendonly yes

# appendfsync always

appendfsync everysec

# appendfsync no

no-appendfsync-on-rewrite no

auto-aof-rewrite-percentage 100

auto-aof-rewrite-min-size 64mb

lua-time-limit 5000

slowlog-log-slower-than 10000

slowlog-max-len 128

notify-keyspace-events ""

hash-max-ziplist-entries 512

hash-max-ziplist-value 64

list-max-ziplist-entries 512

list-max-ziplist-value 64

set-max-intset-entries 512

zset-max-ziplist-entries 128

zset-max-ziplist-value 64

activerehashing yes

client-output-buffer-limit normal 0 0 0

client-output-buffer-limit slave 256mb 64mb 60

client-output-buffer-limit pubsub 32mb 8mb 60

hz 10

aof-rewrite-incremental-fsync yes

# Generated by CONFIG REWRITE

#配置主节点信息

slaveof 10.10.56.161 6379

Slave-redis的配置我们需要注意修改的几个点:端口、文件路径、主节点信息,这三点必须要注意修改

同时, pidfile  logfile  dir  这三个配置的文件夹,必须启动前提前创建!!!

接下来是哨兵的配置

sentinel.conf

port 26379

#1表示在sentinel集群中只要有两个节点检测到redis主节点出故障就进行切换,单sentinel节点无效(自己测试发现的)

#如果3s内mymaster无响应,则认为mymaster宕机了

#如果10秒后,mysater仍没活过来,则启动failover

sentinel monitor mymaster 10.10.56.161 6379 1

sentinel down-after-milliseconds mymaster 3000

sentinel failover-timeout mymaster 10000

daemonize yes

#指定工作目录

dir "/use/mpsp/data/redis/26379/sentinel-work"

protected-mode no

logfile "/use/mpsp/data/26379/sentinellog/sentinel.log"

#redis主节点密码

sentinel auth-pass mymaster 123456

# Generated by CONFIG REWRITE

这里需要注意的就是  端口号 文件夹路径,不能重复,且文件夹路径需要启动前提前创建

配置修改完毕,接下来就是启动了

进入我们redis的安装路径

执行

./bin/redis-server redis.conf

c58e16440a37d85f98fb7ee1b409b086.png

这就是启动我们的redis了,由于我们设置的后台启动,所以我们通过查看日志来判断是否启动成功

日志路径是我们配置文件中的   logfile  文件夹

三个redis依次启动

也可以通过   ps -ef|grep redis  判断是否启动

f51cccee362b7a3d2170e07577f88db1.png

哨兵的启动通过执行

./bin/redis-sentinel sentinel.conf

日志路径也是  logfile

也可以通过  ps -ef|grep redis  判断是否启动

55034f32ef05435f1ed130c2d063f7a1.png

通过查看哨兵的日志我们可以看到主redis的情况

d81b8e437cbe469ab0ad99941a76370a.png

同时我们访问主redis的哨兵可以看到从redis的节点情况

87785e3452ea536e0dac263abcb51188.png

这样  我们的主从+哨兵就已经搭建好了

测试

虽然已经搭建好了  但是毕竟我们要试一下是不哨兵已经起到作用了呢

执行

./bin/redis-cli

然后验证密码

auth 123456

最后执行

shutdown

3b973e73015e813f40929f7fd6cbcf9b.png

通过ps,也可以看到少了一个redis

5b54e79509087bd2b0e1fef5483f0034.png

通过查看哨兵的日志,我们也可以看到主服务器也已经变更了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值