zoukankan      html  css  js  c++  java
  • twemproxy

    1. 安装

      (1) 系统环境

      测试用的服务器为阿里云ECS,4核8G,CentOS6.3 64bit。

      部署了3个Redis实例,监听端口号为7410,7420,7430,设置maxmemory为256MB。

      (2) 安装

      在安装twemproxy之前,先要安装几个编译工具:

    $ yum install autoconf
    $ yum install automake
    $ yum install m4

     

      从 twemproxy的github 提示的 distribution tarball下载。下载最新版(此时为0.3.0)解压后,按照github上的README中关于安装的提示,在解压后的 nutcracker-0.3.0/ 执行以下命令: 

    $ ./configure
    $ make
    $ sudo make install

     

    2. 配置

      nutcracker默认的配置文件: conf/nutcracker.yml

    alpha:
    listen: 0.0.0.0:6379
    hash: fnv1a_64
    distribution: ketama
    auto_eject_hosts: true
    redis: true
    server_retry_timeout: 2000
    server_failure_limit: 1
    servers:
    - 127.0.0.1:7410:1
    - 127.0.0.1:7420:1
    - 127.0.0.1:7430:1

    其中,127.0.0.1:7410:1 最后一个数字代表的是权重。

    3. 启动和停止

    (1) 启动

    nutcracker -d -v 6 -o nutcracker.log -c nutcracker.yml -m 16384

    (2) 停止

    暂时没有找到停止的命令,直接kill掉的。

    4. 迁移现有的单台Redis数据至nutcracker

    (1) 下载python工具 redis-dump-load

    下载后解压。

    安装依赖项

    easy_install redis
    easy_install simplejson

    (2) 导出json格式的dump文件

    python redisdl.py -H 127.0.0.1 -p 6379 -E utf-8 > dump.json

    (3) 导入json格式的dump文件

    python redisdl.py -l -H 192.168.1.13 -p 6379 -E utf-8 < dump.json

    (4) 运行时如果出现如下警告信息:

    /usr/lib/python2.6/site-packages/redis-2.10.3-py2.6.egg/redis/client.py:404: DeprecationWarning: "charset" is deprecated. Use "encoding" instead

    意思是脚本中使用charset的参数在新版中已经被废弃,改为encoding。这个直接修改一下redisdl.py, 将其中2处 "charset=encoding",改为"encoding=encoding"即可。

  • 相关阅读:
    mysql函数操作(5)
    mysql函数操作(4)
    mysql函数操作(3)
    mysql函数操作(2)
    mysql函数操作
    绑定列
    iOS-Xcode解决【workspace integrity couldn't load project'】
    iOS-常用的两个弹簧动画pop
    iOS-实现后台长时间运行
    iOS-xcconfig环境变量那些事(配置环境的配置)
  • 原文地址:https://www.cnblogs.com/got-my-way/p/3927243.html
Copyright © 2011-2022 走看看