Redis Psync scheduled to be closed ASAP for overcoming of output buffer limits.

作者:Rui 发布时间:December 23, 2016 分类:Redis 浏览:1,007

在做Redis HA的时候,会遇到一直同步失败的问题。并且在server的log中,发现如下异常信息

[12:54:10.7788397] [960] 09 Dec 12:54:10.783 # Client id=5252201 addr=10.207.180.15:42489 fd=119 
name= age=16 idle=0 flags=SP db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=198 oll=113
omem=274319752 ow=0 owmem=0 events=rw cmd=psync scheduled to be closed ASAP for overcoming of output buffer limits.

这是因为在主从同步过程中,master向slave发送数据时,写入缓冲区的数据超出了限制,导致连接中断。

阅读剩余部分...

Redis High ServerLoad and CPU Troubleshooting

作者:Rui 发布时间:December 23, 2016 分类:Redis 浏览:722

问题现象

最近工作中,遇到Redis serverload和CPU一直保持过高的问题,导致程序中很多redis的请求出现Timeout现象。当时的RPS远没有达到我们部署的redis的限制,但serverload和CPU就一直维持在90%以上,严重影响了redis的响应时间。之前我们做过基准测试,我们部署的redis可以存储54G数据,RPS可以达到25W/s,但事故时,却只有5W RPS,内存也只占用了24G左右。

有可能引起该问题的原因

  1. 资源受限,网络带宽,CPU性能,机器性能
  2. large request/response size(large object), 存储过大的数据。因为redis是单线程的,在处理请求时,如果某个请求处理的慢,就会堵塞后续的命令执行,独占资源,
  3. 执行过于复杂的LUA 脚本

阅读剩余部分...

Jedis 解决连接Redis Cluster不支持密码的问题

作者:Rui 发布时间:August 18, 2016 分类:Redis,BIGDATA 浏览:1,121

目前Jedis的发行版本,不支持使用JedisCluster连接有密码保护的Redis Cluster,这个特性已经在Github上开发完毕,将要在2.9版本发布时将其合并到主分支中。

如果迫切想使用该功能,可以自己更新最新的代码,自己合并该pull request的commit。该提交已经review通过。

这是该提交的地址,Add support to set password in JedisCluster

使用JAVA JDBC 连接 Azure HBase Cluster

作者:Rui 发布时间:August 3, 2016 分类:Azure,BIGDATA,HBase,CLOUD 浏览:659

本文章将介绍如何使用Java JDBC 连接到Azure HDInsight HBase群集进行进行Hive查询。

先决条件

  1. 先在Azure创建HBase 群集
  2. 安装JDK 7.0 以上
  3. 安装Maven

Azure Hive JDBC 连接字符串

jdbc:hive2://CLUSTERNAME.azurehdinsight.cn:443/default;ssl=true?hive.server2.transport.mode=http;hive.server2.thrift.http.path=/hive2

将CLUSTERNAME替换为你创建的Azure HDInsight 群集名称

阅读剩余部分...

Redis Expires 简介和使用

作者:Rui 发布时间:June 24, 2016 分类:Redis,BIGDATA 浏览:3,979

Redis提供了为key设置生存时间的功能,当给指定的key的生存时间过期时,redis将会自动删除该Key. 在Redis术语中,也通常将设置过生存时间的Key称为易失的Key(volatile)

使用示例:
redis-expire.png

阅读剩余部分...