redis复本的方式搭建集群

1、第一种方案 redis主从模式搭建(在这种模式下是无法对从进行存储操作的,只能进行读取操作)具体实施步骤如下

我里有有两个服务器,分别是10.112.2.8, 10.112.1.93

查看一下相关的版本:

首先是10.112.2.8服务器的Redis版本

[root@localhost ~]# redis-cli -v
redis-cli 4.0.1
[root@localhost ~]# 

另一个是10.112.1.93服务器的版本

[root@localhost ~]# redis-cli -v
redis-cli 5.0.7
[root@localhost ~]# 

两个版本是不致的,我用低版本的做为主服务器,高版本的作为从服务器

10.112.2.8的配置修改如下: vi  /etc/redis.conf

开启守护进程

################################# GENERAL #####################################

# By default Redis does not run as a daemon. Use 'yes' if you need it.
# Note that Redis will write a pid file in /var/run/redis.pid when daemonized.
daemonize yes

# If you run Redis from upstart or systemd, Redis can interact with your
# supervision tree. Options:
#   supervised no      - no supervision interaction
#   supervised upstart - signal upstart by putting Redis into SIGSTOP mode
#   supervised systemd - signal systemd by writing READY=1 to $NOTIFY_SOCKET
#   supervised auto    - detect upstart or systemd method based on
#                        UPSTART_JOB or NOTIFY_SOCKET environment variables
# Note: these supervision methods only signal "process is ready."
#       They do not enable continuous liveness pings back to your supervisor.
supervised no

从服务器10.112.1.93配置修改如下: vi  /etc/redis.conf

找到REPLICATION模块,这个模块下有两个配置分别是replicaof 配置主服务器地址和端口号,masterauth配置主服务器密码

注:Redis不同的版本这个配置信息有一些不同,可以根据redis.conf中的说明查阅

################################# REPLICATION #################################

# Master-Replica replication. Use replicaof to make a Redis instance a copy of
# another Redis server. A few things to understand ASAP about Redis replication.
#
#   +------------------+      +---------------+
#   |      Master      | ---> |    Replica    |
#   | (receive writes) |      |  (exact copy) |
#   +------------------+      +---------------+
#
# 1) Redis replication is asynchronous, but you can configure a master to
#    stop accepting writes if it appears to be not connected with at least
#    a given number of replicas.
# 2) Redis replicas are able to perform a partial resynchronization with the
#    master if the replication link is lost for a relatively small amount of
#    time. You may want to configure the replication backlog size (see the next
#    sections of this file) with a sensible value depending on your needs.
# 3) Replication is automatic and does not need user intervention. After a
#    network partition replicas automatically try to reconnect to masters
#    and resynchronize with them.
#
# replicaof  
replicaof  10.112.2.8 6379
# If the master is password protected (using the "requirepass" configuration
# directive below) it is possible to tell the replica to authenticate before
# starting the replication synchronization process, otherwise the master will
# refuse the replica request.
#
# masterauth 
masterauth 123456
# When a replica loses its connection with the master, or when the replication
# is still in progress, the replica can act in two different ways:
#
# 1) if replica-serve-stale-data is set to 'yes' (the default) the replica will

配置完成后,对从服务器只能进行读取操作,无法进行写稿操作,可以通过replica-read-only no配置允许写入;信息如下:

# You can configure a replica instance to accept writes or not. Writing against
# a replica instance may be useful to store some ephemeral data (because data
# written on a replica will be easily deleted after resync with the master) but
# may also cause problems if clients are writing to it because of a
# misconfiguration.
#
# Since Redis 2.6 by default replicas are read-only.
#
# Note: read only replicas are not designed to be exposed to untrusted clients
# on the internet. It's just a protection layer against misuse of the instance.
# Still a read only replica exports by default all the administrative commands
# such as CONFIG, DEBUG, and so forth. To a limited extent you can improve
# security of read only replicas using 'rename-command' to shadow all the
# administrative / dangerous commands.
replica-read-only no

 

你可能感兴趣的:(redis,JAVA)