ssdb 主从同步复制配置详细步骤

ssdb 主从同步复制配置详细步骤

SSDB 的配置文件是一种层级 key-value 的静态配置文件, 通过一个 TAB 缩进来表示层级关系. 以 ‘#’ 号开始的行是注释. 

ssdb的使用遵循redis协议,读写性能都特别快。

有时我们在使用数据库时,像mongodb,redis和一些关系行数据,为了使数据更加安全,作为备份使用我们经常习惯使用主从复制架构,当主机上的数据出现问题时,我们就可以连接到slave机器

也就是另外一台机器会从主机上进行同步数据,如果我们使用linux命令 netstat -apn,会发现slave机器上的ssdb会和主机上的ssdb服务建立连接,如果我们这时往主机的ssdb导入数据

会发现slave机器上也会有相应的数据更新。

具体配置如下所示(我这里假设master机器的IP为:10.100.300.1端口:8888)

这是slave机器的配置,

# ssdb-server config
# MUST indent by TAB!

# relative to path of this file, directory must exists
work_dir = ./2014_12_1
pidfile = ./2014_12_1/ssdb.pid

server:
  ip: 0.0.0.0
  port: 8888
  # bind to public ip
  #ip: 0.0.0.0
  # format: allow|deny: all|ip_prefix
  # multiple allows or denys is supported
  #deny: all
  #allow: 127.0.0.1
  #allow: 192.168

replication:
  slaveof:
    # to identify a master even if it moved(ip, port changed)
    # if set to empty or not defined, ip:port will be used.
    id: svc_2
    # sync|mirror, default is sync
    type: sync
    ip: 10.100.300.1
    port: 8888

logger:
  level: info
  output: log.txt
  rotate:
    size: 1000000000

leveldb:
  # in MB
  cache_size: 1024
  # in KB
  block_size: 64
  # in MB
  write_buffer_size: 256
  # in MB
  compaction_speed: 100
  # yes|no
  compression: no

这是master机器配置

# ssdb-server config
# MUST indent by TAB!

# relative to path of this file, directory must exists
work_dir = ./var_update
pidfile = ./var_update/ssdb.pid

server:
  ip: 0.0.0.0
  port: 8888
  # bind to public ip
  #ip: 0.0.0.0
  # format: allow|deny: all|ip_prefix
  # multiple allows or denys is supported
  #deny: all
  #allow: 127.0.0.1
  #allow: 192.168

replication:
  slaveof:
    # to identify a master even if it moved(ip, port changed)
    # if set to empty or not defined, ip:port will be used.
    #id: svc_2
    # sync|mirror, default is sync
    #type: sync
    #ip: 127.0.0.1
    #port: 8889

logger:
  level: info
  output: log.txt
  rotate:
    size: 1000000000

leveldb:
  # in MB
  cache_size: 300
  # in KB
  block_size: 64
  # in MB
  write_buffer_size: 256
  # in MB
  compaction_speed: 100
  # yes|no
  compression: no

work_dir: ssdb-server 的工作目录, 启动后, 会在这个目录下生成 data 和 meta 两个目录, 用来保存 LevelDB 的数据库文件. 这个目录是相对于 ssdb.conf 的相对路径, 也可以指定绝对路径.

server: ip 和 port 指定了服务器要监听的 IP 和端口号. 如果 ip 是 0.0.0.0, 则表示绑定所有的 IP. 基于安全考虑, 可以将 ip 设置为 127.0.0.1, 这样, 只有本机可以访问了. 如果要做更严格的更多的网络安全限制, 就需要依赖操作系统的 iptables.

replication: 用于指定主从同步复制. slaveof.ip, slaveof.port 表示, 本台 SSDB 服务器将从这个目标机上同步数据(也即这个配置文件对应的服务器是 slave). 你可以参考 ssdb_slave.conf 的配制.

logger: 配置日志记录. level 是日志的级别, 可以是 trace|debug|info|error. output 是日志文件的名字, SSDB 支持日志轮转, 在日志文件达到一定大小后, 将 log.txt 改名, 然后创建一个新的 log.txt.

leveldb: 配置 LevelDB 的参数. 你一般想要修改的是 cache_size 参数, 用于指定缓存大小. 适当的缓存可以提高读性能, 但是过大的缓存会影响写性能.

Comments are closed.