作者:1911530988com | 来源:互联网 | 2017-05-12 15:28
SSDB是一个高性能的支持丰富数据结构的NoSQL数据库,用于替代Redis或者与Redis配合存储十亿级别列表的数据,现在已被许多知名企业所应用。我们使用SSDB是想将现有
SSDB是一个高性能的支持丰富数据结构的NoSQL数据库,用于替代Redis或者与Redis配合存储十亿级别列表的数据,现在已被许多知名企业所应用。我们使用SSDB是想将现有
SSDB是一个高性能的支持丰富数据结构的 NoSQL 数据库, 用于替代 Redis或者与 Redis 配合存储十亿级别列表的数据,现在已被许多知名企业所应用。我们使用SSDB是想将现有的redis中的key迁移到SSDB以破除现有的redis 120G存储极限(当然可以扩展,但是计算了下成本就打算放弃了)。
Twemproxy是twtter开源的一个redis和memcache代理服务器,这里我们使用Twemproxy代理来代理SSDB集群来实现数据的分布式存储,即shared。
1、节点规划:
Twemproxy 192.168.0.100
ssdb1 master 192.168.0.101
ssdb1 slave 192.168.0.102
ssdb2 master 192.168.0.103
ssdb2 slave 192.168.0.104
2、安装SSDB
## 解压下载好的ssdb软件包
$ unzip ssdb-master.zip
## 安装gcc、gcc-c++ 、make等工具
##编译、安装ssdb,会安装在/usr/local/ssdb/下面
$ cd ssdb-master
$ make &&make install
## 进入安装目录
$ cd/usr/local/ssdb/
## 启动ssdb-server
$ ./ssdb-server -dssdb.conf
ssdb 1.8.2
Copyright (c)2012-2014 ssdb.io
## 验证是否启动成功,若8888端口被监听,则表示成功
$ netstat-alnut|grep 8888
tcp 0 0 127.0.0.1:8888 0.0.0.0:* LISTEN
## 客户端连接
$ ./ssdb-cli -p8888
ssdb (cli) - ssdb command line tool.
Copyright (c)2012-2014 ssdb.io
'h' or 'help' forhelp, 'q' to quit.
server version:1.8.2
ssdb 127.0.0.1:8888>
3、主从配置,以ssdb1为例
## 修改ssdb1 master的配置文件,如下
# ssdb-server config
# MUST indent by TAB!
# relative to path of this file, directorymust exists
work_dir = ./var
pidfile = ./var/ssdb.pid
server:
ip:192.168.0.101
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
# auth password must be at least 32 characters
#auth: very-strong-password
replication:
binlog: yes
# Limit sync speed to *MB/s, -1: no limit
sync_speed: -1
slaveof:
# to identify a master even ifit moved(ip, port changed)
# if set to empty or notdefined, ip:port will be used.
#id: svc_2
# sync|mirror, default is sync
#type: sync
#ip: 127.0.0.1
#port: 8889
logger:
level: debug
output: log.txt
rotate:
size: 1000000000
leveldb:
# in MB
cache_size: 500
# in KB
block_size: 32
# in MB
write_buffer_size: 64
# in MB
compaction_speed: 1000
# yes|no
compression: yes
## 修改ssdb1 slave的配置文件,如下
# ssdb-server config
# MUST indent by TAB!
# relative to path of this file, directorymust exists
work_dir = ./var
pidfile = ./var/ssdb.pid
server:
ip: 192.168.0.102
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
# auth password must be at least 32 characters
#auth: very-strong-password
replication:
binlog:yes
# Limit sync speed to *MB/s, -1: no limit
sync_speed: -1
slaveof:
# to identify a master even if itmoved(ip, port changed)
# if set to empty or notdefined, ip:port will be used.
id: svc_1
# sync|mirror, default is sync
type:sync
ip: 192.168.0.101
port:8888
logger:
level: debug
output: log.txt
rotate:
size: 1000000000
leveldb:
# in MB
cache_size: 500
# in KB
block_size: 32
# in MB
write_buffer_size: 64
# in MB
compaction_speed: 1000
# yes|no
compression: yes