Sentinel+Redis安装配置及小窍门

环境准备

Master:192.168.41.128

Slave:192.168.41.129

Slave:192.168.41.130

用户目录规划

用户名

安装目录

配置文件目录

日志文件目录

sentinel目录

redisuser

/opt/redis

/opt/redis/etc

/opt/redis/log

/opt/redis/sentinel

创建用户

useradd redisuser

passwd redisuser

创建目录

mkdir -p /opt/redis/etc

mkdir -p /opt/redis/log

mkdir -p /opt/redis/sentinel

安装依赖包

yuminstall wget gcc gcc-c++
安装配置redis

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

tar zxvf /src/redis-4.0.6.tar.gz -C /src

cd /src/redis-4.0.6

make && make PREFIX=/opt/redis install

cp /src/redis-4.0.6/redis.conf sentinel.conf /opt/redis/etc/

chown -R redisuser:redisuser /opt/redis/

Redis配置

/opt/redis/etc/redis.conf

daemonize yes

pidfile /var/run/redis.pid

port 6379

tcp-backlog 511

timeout 0

tcp-keepalive 0

loglevel notice

logfile "/opt/redis/log/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 "/home/redisuser"

masterauth "redispwd"          登录redis密码

requirepass "redispwd"          同步时从要获取的密码

slave-serve-stale-data yes

slave-read-only yes

repl-disable-tcp-nodelay no

slave-priority 100

appendonly no

appendfilename "appendonly.aof"

appendfsync everysec

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

latency-monitor-threshold 0

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

hll-sparse-max-bytes 3000

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

slaveof 192.168.41.128 6379     只需在从上配置 slaveof masterip port

Redis服务启动及操作

启动

启动命令:/opt/redis/bin/redis-server /opt/redis/etc/redis.conf

简单操作

[redisuser@ihstest01 log]$ /opt/redis/bin/redis-cli -a "redispwd"

-a 参数表示使用密码登录

127.0.0.1:6379> set name scott

OK

127.0.0.1:6379> get name

"scott"

主从同步详细

主redis

127.0.0.1:6379> info Replication

# Replication

role:master

connected_slaves:2

slave0:ip=10.37.71.92,port=6379,state=online,offset=30377,lag=1

slave1:ip=10.27.182.91,port=6379,state=online,offset=30240,lag=1

master_repl_offset:30377

repl_backlog_active:1

repl_backlog_size:1048576

repl_backlog_first_byte_offset:2

repl_backlog_histlen:30376

从redis

127.0.0.1:6379> info Replication

# Replication

role:slave

master_host:10.37.71.93

master_port:6379

master_link_status:up

master_last_io_seconds_ago:1

master_sync_in_progress:0

slave_repl_offset:41722

slave_priority:100

slave_read_only:1

connected_slaves:0

master_repl_offset:0

repl_backlog_active:0

repl_backlog_size:1048576

repl_backlog_first_byte_offset:0

repl_backlog_histlen:0

Redis主从同步时读写分离的,在slave上不能写入数据,若执行写数据则会报以下错误

127.0.0.1:6379> set id  111

(error) READONLY You can't write against a read only slave.

在从上查看主写入的数据

127.0.0.1:6379> keys *

1) "name"

127.0.0.1:6379> get name

"scott"

以上所有操作表示主从同步成功。

Sentinel配置

port 26379

daemonize yes

dir "/opt/redis/sentinel"

logfile "/opt/redis/log/sentinel.log"

sentinel monitor mymaster 192.168.41.128 6379 2

sentinel auth-pass mymaster redispwd    #登录redis密码,所以在同一组中redis密码要相同

sentinel down-after-milliseconds mymaster 5000  #5秒无响应,说明mymaster组里redis有问题

sentinel failover-timeout mymaster 120000   #120秒还无响应,进行主从切换

根据配置创建相应的目录 ,其中mymaster为组名,即拥有相同组名的redis-sentinel互相切换

 

以下配置启动后自动生成的,无需配置

sentinel myid 7bf7f9113a42be77fbe3999bbd861649b245d738

# Generated by CONFIG REWRITE

sentinel config-epoch mymaster 0

sentinel leader-epoch mymaster 0

sentinel known-slave mymaster 10.37.71.93 6379

sentinel known-slave mymaster 10.37.71.92 6379

sentinel current-epoch 0

Sentinel服务启动及操作

启动

启动命令:/opt/redis/bin/redis-sentinel /opt/redis/etc/sentinel.conf

主从切换测试

登录主redis执行debug sleep 30,通过info Replication查看主从切换。

常用命令小窍门

通过sentinel查看当前哪台是主redis

/opt/redis/bin/redis-cli -p 26379 -a "redispwd"info | grep mymaster

通过sentinel手动主从切换redis

/opt/redis/bin/redis-cli -p 26379 -a "redispwd"sentinel failover mymaster

 

查看最大客户端数

/opt/redis/bin/redis-cli -a "redispwd"config get maxclients

修改最大客户端数

/opt/redis/bin/redis-cli -a "redispwd"config set maxclients 20000

将配置写入redis.conf配置文件中

/opt/redis/bin/redis-cli -a "redispwd"config rewrite

 

查看最大内存数

/opt/redis/bin/redis-cli -a "redispwd"config get maxmemory

修改最大内存数

/opt/redis/bin/redis-cli -a "redispwd"config set maxmemory 3221225472(单位bytes)

将配置写入redis.conf配置文件中

/opt/redis/bin/redis-cli-a "redispwd" config rewrite


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值