欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    ssdbrocks手册.docx

    • 资源ID:1991783       资源大小:25.81KB        全文页数:25页
    • 资源格式: DOCX        下载积分:3金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    ssdbrocks手册.docx

    1、ssdbrocks手册ssdb-rocks说明手册1、 简介Leveldb是一个google实现的非常高效的kv数据库,基于文件存储系统,所以它支撑量大的数据而不因为内存的限制受取约束。LevelDB 只是一个 C/C+ 的编程语言库, 所以, PHP, Python 等编程语言无法直接使用 LevelDB, 必须将 LevelDB 封装成一个网络服务器。而SSDB 就是一个 LevelDB 的服务器(LevelDB Server), 以 LevelDB 作为存储引擎, 支持 PHP/Java/Python/C/C+ 等客户端。RocksDB实际上是在LevelDB之上做的改进,各方面都比le

    2、velDb强,它是Facebook 开源的存储引擎。而rocksdb 本身只是一个数据库存储引擎, 没有client-server支持。因此ssdb-rocks 诞生了。ssdb-rocks 为 rocksdb 封装了网络支持, 支持 C+, PHP, Java, Go, Python 等客户端 API。2、 安装说明2、1 RocksDB需要的依赖yum install zlib zlib-devel bzip2 bzip2-devel gflags gflags-devel snappy snappy-devel2、2 RocksDB需要的gcc47-c+下载rpm包地址:http:/pe

    3、ople.centos.org/tru/devtools-1.1/6/x86_64/RPMS/scl-utils-20120927-2.el6_4.6.centos.x86_64.rpm devtoolset-1.1-runtime-1-13.el6.noarch.rpm devtoolset-1.1-gcc-4.7.2-5.el6.x86_64.rpm devtoolset-1.1-libstdc+-devel-4.7.2-5.el6.x86_64.rpm devtoolset-1.1-gcc-c+-4.7.2-5.el6.x86_64.rpm安装rpm -ivh scl-utils-201

    4、20927-2.el6_4.6.centos.x86_64.rpm devtoolset-1.1-runtime-1-13.el6.noarch.rpm devtoolset-1.1-gcc-4.7.2-5.el6.x86_64.rpm devtoolset-1.1-libstdc+-devel-4.7.2-5.el6.x86_64.rpm devtoolset-1.1-gcc-c+-4.7.2-5.el6.x86_64.rpmvim /.bashrc加入export CC=/opt/centos/devtoolset-1.1/root/usr/bin/gcc export CPP=/opt/

    5、centos/devtoolset-1.1/root/usr/bin/cppexport CXX=/opt/centos/devtoolset-1.1/root/usr/bin/c+执行source /.bashrc2、3 安装git clone make & make install3、使用说明3、1启动ssdb-rocks服务器/usr/local/ssdb/ssdb-server -d /usr/local/ssdb/ssdb.conf3、2停止ssdb-rocks服务器kill cat /usr/local/ssdb/var/ssdb.pid3、3启动ssdb-rocks客户端/usr

    6、/local/ssdb/ssdb-cli -h 127.0.0.1 -p 88884、配置文件详解SSDB 的配置文件使用一个 TAB 来表示一级缩进, 不要使用空格来缩进, 无论你用2个, 3个, 4个, 或者无数个空格都不行!一定要记得修改你的 Linux 内核参数, 关于 max open files(最大文件描述符数)的内容, 否则, 你会在 log.txt 看到 Too many open files 类似的错误, 或者在客户端看到 Connection reset by peer 错误。4.1 监听网络端口server: ip: 0.0.0.0 port: 8888默认的配置文件监

    7、听 127.0.0.1 本地回路网络, 所以无法从其它机器上连接此 SSDB 服务器. 如果你希望从其它机器上连接 SSDB 服务器, 必须把 127.0.0.1 改为 0.0.0.0.同时, 利用配置文件的 deny, allow 指令限制可信的来源 IP 访问.如果不做网络限制便监听 0.0.0.0 IP 可能导致被任意机器访问到你的数据, 这很可能是一个安全问题! 你可以结合操作系统的 iptables 来限制网络访问.4.2 日志配置日志解读一般, 建议你将 logger.level 设置为 debug 级别.请求处理2014-06-18 11:01:40.335 DEBUG serv

    8、.cpp(395): w:0.393,p:5.356, req: set a 1, resp: ok 1w:0.393 请求的排队时间, 毫秒p:5.356 请求的处理时间, 毫秒req:. 请求内容resp:. 响应内容找出慢请求找出慢请求的命令是:tail -f log.txt | grep resp | grep wp:1-90-90,.# 或者cat log.txt | grep resp | grep wp:1-90-90,.这些命令用于找出排队时间, 或者处理时间大于等于 1 毫秒的请求.找出大于 10 毫秒的请求:cat log.txt | grep resp | grep wp

    9、:1-90-91,.找出大于 100 毫秒的请求:cat log.txt | grep resp | grep wp:1-90-92,.SSDB 在工作中ssdb-server 会每隔 5 分钟输出这样的一条 log2014-06-18 11:18:03.600 INFO ssdb-server.cpp(215): ssdb working, links: 02014-06-18 11:23:03.631 INFO ssdb-server.cpp(215): ssdb working, links: 0links: 0 当前的连接数日志级别支持的日志级别有: debug, warn, erro

    10、r, fatal.一般, 建议你将 logger.level 设置为 debug 级别.输出日志到终端屏幕编辑 ssdb.conf, 将logger: output: log.txt修改为logger: output: stdout4.3 内存占用一个 ssdb-server 实例占用的内存最高达到(MB):cache_size + write_buffer_size * 66 + 32你可以调整配置参数, 限制 ssdb-server 的内存占用.4.4 同步和复制同步和复制的配置与监控配置主-从#server 1replication: slaveof:#server 2replicati

    11、on: slaveof: id: svc_1 # sync|mirror, default is sync type: sync ip: 127.0.0.1 port: 8888主-主#server 1replication: slaveof: id: svc_2 # sync|mirror, default is sync type: mirror ip: 127.0.0.1 port: 8889#server 2replication: slaveof: id: svc_1 # sync|mirror, default is sync type: mirror ip: 127.0.0.1

    12、port: 8888多主在一组一共包含 n 个实例的 SSDB 实例群中, 每一个实例必须 slaveof 其余的 n-1 个实例.replication: slaveof: id: svc_1 # sync|mirror, default is sync type: mirror ip: 127.0.0.1 port: 8888 slaveof: id: svc_2 # sync|mirror, default is sync type: mirror ip: 127.0.0.1 port: 8889 # . more slaveof监控同步状态info 命令返回的信息ssdb 127.0.

    13、0.1:8899 infobinlogs capacity : 10000000 min_seq : 1 max_seq : 74replication client 127.0.0.1:55479 type : sync status : SYNC last_seq : 73replication slaveof 127.0.0.1:8888 id : svc_2 type : sync status : SYNC last_seq : 73 copy_count : 0 sync_count : 44binlogs当前实例的写操作状态.capacity: binlog 队列的最大长度min

    14、_seq: 当前队列中的最小 binlog 序号max_seq: 当前队列中的最大 binlog 序号replication可以有多条 replication 记录. 每一条表示一个连接进来的 slave(client), 或者一个当前服务器所连接的 master(slaveof).slaveof|client ip:port, 远端 master/slave 的 ip:port.type: 类型, sync|mirror.status: 当前同步状态, DISCONNECTED|INIT|OUT_OF_SYNC|COPY|SYNC.last_seq: 上一条发送或者收到的 binlog 的序

    15、号.slaveof.id: master 的 id(这是从 slaves 角度来看的, 你永远不需要在 master 上配置它自己的 id).slaveof.copy_count: 在全量同步时, 已经复制的 key 的数量.slaveof.sync_count: 发送或者收到的 binlog 的数量.关于 status:DISCONNECTED: 与 master 断开了连接, 一般是网络中断.INIT: 初始化状态.OUT_OF_SYNC: 由于短时间内在 master 有大量写操作, 导致 binlog 队列淘汰, slave 丢失同步点, 只好重新复制全部的数据.COPY: 正在复制基

    16、准数据的过程中, 新的写操作可能无法及时地同步.SYNC: 同步状态是健康的.判断同步状态binlogs.max_seq 是指当前实例上的最新一次的写(写/更新/删除)操作的序号, replication.client.last_seq 是指已发送给 slave 的最新一条 binlog 的序号.所以, 如果你想判断主从同步是否已经同步到位(实时更新), 那么就判断 binlogs.max_seq 和 replication.client.last_seq 是否相等.4.5 启动从服务与连接/usr/local/ssdb/ssdb-server -d /usr/local/ssdb/ssdb_

    17、slave.conf/usr/local/ssdb/ssdb-cli -h 127.0.0.1 -p 88895、集群配置Twemproxy是一个Redis/Memcached代理中间件,可以实现诸如分片逻辑、HashTag、减少连接数等功能。尤其在有大量应用服务器的场景下Twemproxy的角色就凸显了,能有效减少连接数。5、1安装twemproxygit clone cd twemproxyautoreconf -fvi./configure -enable-debug=log makemake installsrc/nutcracker -hmkdir -p /usr/local/nut

    18、cracker/binmkdir -p /usr/local/nutcracker/confcp src/nutcracker /usr/local/nutcracker/bincp conf/* /usr/local/nutcracker/conf5、2配置文件详解gamma: listen: 192.168.10.59:22123 hash: crc32a distribution: ketama timeout: 400 backlog: 1024 preconnect: true redis: true auto_eject_hosts: true server_retry_timeo

    19、ut: 2000 server_failure_limit: 3 servers: - 192.168.10.58:8888:1 - 192.168.10.59:8888:1详细的配置信息如下: listentwemproxy监听的端口。可以以ip:port或name:port的形式来书写。 hash可以选择的key值的hash算法: one_at_a_time md5 crc16 crc32 (crc32 implementation compatible with libmemcached) crc32a (correct crc32 implementation as per the s

    20、pec) fnv1_64 fnv1a_64 fnv1_32 fnv1a_32 hsieh murmur jenkins如果没选择,默认是fnv1a_64。 hash_taghash_tag允许根据key的一个部分来计算key的hash值。hash_tag由两个字符组成,一个是hash_tag的开始,另外一个是hash_tag的结束,在hash_tag的开始和结束之间,是将用于计算key的hash值的部分,计算的结果会用于选择服务器。例如:如果hash_tag被定义为”,那么key值为user:user1:ids和user:user1:tweets的hash值都是基于”user1”,最终会被映射

    21、到相同的服务器。而user:user1:ids将会使用整个key来计算hash,可能会被映射到不同的服务器。 distribution存在ketama、modula和random3种可选的配置。其含义如下:ketamaketama一致性hash算法,会根据服务器构造出一个hash ring,并为ring上的节点分配hash范围。ketama的优势在于单个节点添加、删除之后,会最大程度上保持整个群集中缓存的key值可以被重用。modulamodula非常简单,就是根据key值的hash值取模,根据取模的结果选择对应的服务器。randomrandom是无论key值的hash是什么,都随机的选择一个

    22、服务器作为key值操作的目标。 timeout单位是毫秒,是连接到server的超时值。默认是永久等待。 backlog监听TCP 的backlog(连接等待队列)的长度,默认是512。 preconnect是一个boolean值,指示twemproxy是否应该预连接pool中的server。默认是false。 redis是一个boolean值,用来识别到服务器的通讯协议是redis还是memcached。默认是false。 server_connections每个server可以被打开的连接数。默认,每个服务器开一个连接。 auto_eject_hosts是一个boolean值,用于控制tw

    23、emproxy是否应该根据server的连接状态重建群集。这个连接状态是由server_failure_limit 阀值来控制。默认是false。 server_retry_timeout单位是毫秒,控制服务器连接的时间间隔,在auto_eject_host被设置为true的时候产生作用。默认是30000 毫秒。 server_failure_limit控制连接服务器的次数,在auto_eject_host被设置为true的时候产生作用。默认是2。 servers一个pool中的服务器的地址、端口和权重的列表,包括一个可选的服务器的名字,如果提供服务器的名字,将会使用它决定server的次序,

    24、从而提供对应的一致性hash的hash ring。否则,将使用server被定义的次序。5、3启动nutcracker测试配置文件/usr/local/nutcracker/bin/nutcracker -t -c /usr/local/nutcracker/conf/nutcracker.yml后台启动/usr/local/nutcracker/bin/nutcracker -d -c /usr/local/nutcracker/conf/nutcracker.yml6、高可用配置Keepalived 是一种高性能的服务器高可用或热备解决方案,Keepalived可以用来防止服务器单点故障(

    25、单点故障是指一旦某一点出现故障就会导致整个系统架构的不可用)的发生。6、1 安装keepalived 安装 opensslyum -y install openssl*安装poptyum -y install popt*安装ipvsadmyum -y install ipvsadm 安装libnl-devyum -y install libnl-dev*wget http:/www.keepalived.org/software/keepalived-1.2.16.tar.gztar -zxvf keepalived-1.2.16.tar.gzcd keepalived-1.2.16./con

    26、figure -prefix=/usr/local/keepalivedmakemake install6、2 开机启动设置cp /usr/local/keepalived/etc/rc.d/init.d/keepalived /etc/rc.d/init.d/cp /usr/local/keepalived/etc/sysconfig/keepalived /etc/sysconfig/mkdir /etc/keepalivedcp /usr/local/keepalived/etc/keepalived/keepalived.conf /etc/keepalived/cp /usr/loc

    27、al/keepalived/sbin/keepalived /usr/sbin/chkconfig keepalived onservice keepalived start|stop/usr/local/keepalived/sbin/keepalived -f /etc/keepalived/keepalived.conf6、3 配置文件详解global_defs notification_email #指定keepalived在发生切换时需要发送email到的对象,一行一个 sysadminfire.loc notification_email_from Alexandre.Cassen

    28、firewall.loc #指定发件人 smtp_server localhost #指定smtp服务器地址 smtp_connect_timeout 30 #指定smtp连接超时时间 router_id LVS_DEVEL #运行keepalived机器的一个标识vrrp_sync_group VG_1 #监控多个网段的实例group inside_network #实例名outside_networknotify_master /path/xx.sh #指定当切换到master时,执行的脚本netify_backup /path/xx.sh #指定当切换到backup时,执行的脚本noti

    29、fy_fault path/xx.sh VG_1 #故障时执行的脚本notify /path/xx.sh smtp_alert #使用global_defs中提供的邮件地址和smtp服务器发送邮件通知vrrp_instance inside_network state BACKUP #指定那个为master,那个为backup,如果设置了nopreempt这个值不起作用,主备考priority决定 interface eth0 #设置实例绑定的网卡 dont_track_primary #忽略vrrp的interface错误(默认不设置) track_interface #设置额外的监控,里面

    30、那个网卡出现问题都会切换 eth0 eth1 mcast_src_ip #发送多播包的地址,如果不设置默认使用绑定网卡的primary ip garp_master_delay #在切换到master状态后,延迟进行gratuitous ARP请求 virtual_router_id 50 #VPID标记 priority 99 #优先级,高优先级竞选为master advert_int 1 #检查间隔,默认1秒 nopreempt #设置为不抢占 注:这个配置只能设置在backup主机上,而且这个主机优先级要比另外一台高 preempt_delay #抢占延时,默认5分钟 debug #debug级别 authentication #设置认证 auth_type PASS #认证方式 auth_pass 111111 #认证密码


    注意事项

    本文(ssdbrocks手册.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开