时间:2021-07-01 10:21:17 帮助过:31人阅读
下面开始配置节点ssdb1,ssdb2配置类似
1 cd /usr/local/ssdb 2 #编辑配置文件ssdb.conf 3 vim ssdb.conf 4 5 work_dir = ./var #data保存位置 6 pidfile = ./var/ssdb.pid 7 server: 8 ip: 192.168.10.101 9 port: 8889 10 replication: 11 binlog: yes 12 capacity: 20000000 13 # Limit sync speed to *MB/s, -1: no limit 14 sync_speed: -1 15 slaveof: 16 # to identify a master even if it moved(ip, port changed) 17 # if set to empty or not defined, ip:port will be used. 18 id: svc_1 19 # sync|mirror, default is sync 20 type: mirror 21 host: 192.168.10.102 22 port: 8888 23 #auth: password 24 logger: 25 level: debug 26 output: log.txt #log保存位置 27 rotate: 28 size: 1000000000 29 leveldb: 30 # in MB 31 cache_size: 500 32 # in KB 33 block_size: 32 34 # in MB 35 write_buffer_size: 64 36 # in MB 37 compaction_speed: 200 38 # yes|no 39 compression: no
1 cd /usr/local/ssdb 2 # 启动主库, 此命令会阻塞住命令行 3 ./ssdb-server ssdb.conf 4 5 # 或者启动为后台进程(不阻塞命令行) 6 ./ssdb-server -d ssdb.conf 7 8 # 启动 ssdb 命令行 9 ./tools/ssdb-cli -p 8888 10 11 # 停止 ssdb-server 12 ./ssdb-server ssdb.conf -s stop
1 # 将ssdb源代码目录下的 ./tools/ssdb.sh 脚本放到 /etc/init.d 目录下 2 cp ${ssdb_home}/tools/ssdb.sh /etc/init.d/ssdb 3 4 #配置/etc/init.d/ssdb 的configs,configs的值为ssdb.conf的路径,如下所示 5 vim /etc/init.d/ssdb 6 7 configs="/usr/local/ssdb/ssdb.conf" 8 9 #将ssdb加入开机启动 10 sudo chkconfig --add ssdb 11 sudo chkconfig ssdb on
wemproxy是twtter开源的一个redis和memcache代理服务器,这里我们使用Twemproxy代理来代理SSDB集群来实现数据的分布式存储,即shared。
1 ## 安装automake、libtool 、xz工具 2 $ yum install automake libtool xz -y 3 ## 安装autoconf 4 $ wget http://down1.chinaunix.net/distfiles/autoconf-2.69.tar.xz 5 $ xz -d autoconf-2.69.tar.xz 6 $ tar xf autoconf-2.69.tar -C /opt 7 $ cd /opt/autoconf-2.69 8 $ ./configure 9 $ make && make install 10 ## 安装Twemproxy 11 $ git clone https://github.com/twitter/twemproxy.git 12 $ cd twemproxy/ 13 $ autoreconf -fvi 14 $ ./configure 15 $ make && make install 16 ## 将Twemproxy的配置文件放置在/etc/下、 17 $ mkdir /etc/nutcracker 18 $ cp conf/nutcracker.yml /etc/nutcracker/nutcracker.yml
## 修改配置文件 $ vim /etc/nutcracker/nutcracker.yml beta: listen: 127.0.0.1:22122 # 监听地址和端口 hash: fnv1a_64 # 散列算法 hash_tag: "{}" # 假设ssdb中一个对象有多个key属性,如kora这个人的姓名name:kora:,kora的年龄age:kora:,kora的住址 loc:kora:, # 为了保证这kora这三个属性能被路由到后端的同一个分片上,我们就需要指定hash_tag: " {::}",这样就避免读取数据的时候跨分片检索 distribution: ketama # 分片的算法,有ketama(一致性hash)、module(取模)、random(随机)三种算法 auto_eject_hosts: false # 是否在节点无法响应时自动从服务器列表中剔除,重新响应时自动加入服务器列表中 timeout: 400 redis: true # 后端代理的是否为redis servers: # 分片服务器列表 - 192.168.10.101:8888:1 server1 - 192.168.10.102:8888:1 server2
1 ## 启动 2 $ nutcracker -d -c/etc/nutcracker/nutcracker.yml -p /var/run/redisproxy.pid -o /var/log/redisproxy.log& 3 ## 验证22122端口是否被监听 4 $ netstat -alnut |grep 22122 5 tcp 0 0 127.0.0.1:22122 0.0.0.0:* LISTEN
社区提供多个Python Client,从社区项目活跃度及发布版本的数量角度考虑,选择pyssdb 0.1.2作为访问SSDB的driver。
安装及使用参见:https://github.com/ifduyue/pyssdb
压测详情参见: http://www.wjxfpf.com/2015/10/601347.html
参考文档:
http://ssdb.io/zh_cn/
http://www.wzxue.com/ssdb/
http://www.ideawu.net/blog/archives/765.html?cp=1#comments
http://quenlang.blog.51cto.com/4813803/1635778
SSDB分布式部署
标签:从服务器 and ldb sudo config 网络 lis beta als