您的位置:首页 > 数据库 > Redis

Unexpected end of stream.

2016-07-15 09:36 661 查看
项目采用的是Codis集群部署,客户端jedis执行keys方法报如下错误:
Exception in thread "main" redis.clients.jedis.exceptions.JedisConnectionException: Unexpected end of stream.
at redis.clients.util.RedisInputStream.ensureFill(RedisInputStream.java:198)
at redis.clients.util.RedisInputStream.readByte(RedisInputStream.java:40)
at redis.clients.jedis.Protocol.process(Protocol.java:141)
at redis.clients.jedis.Protocol.read(Protocol.java:205)
at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:297)
at redis.clients.jedis.Connection.getBinaryMultiBulkReply(Connection.java:233)
at redis.clients.jedis.Jedis.keys(Jedis.java:194)


报错信息是可以在Codis proxy代理服务器上看到日志信息:
1.首先登陆proxy代理服务器,找到日志目录
ps -ef | grep "codis"
root        15     1  0 May19 ?        00:00:00 sh /root/codisproxy.sh
root        26    15  0 May19 ?        05:10:33 /root/codis/bin/codis-proxy -c /root/codis/config.ini -L /data/log/proxy.log --cpu=8 --addr=172.16.11.38:19000 --http-addr=172.16.11.38:11000
root       148   134  0 09:40 pts/1    00:00:00 grep --color=auto codis

2.切换到日志目录,查看最新的日志
cd /data/log
ls -lt
tailf proxy.log

3.执行报错的程序,可以看到如下信息
2016/07/15 09:34:31 session.go:70: [INFO] session [0xc20a1e8900] closed: {"ops":3,"lastop":1468546471,"create":1468546471,"remote":"192.168.1.88:2549"}, error = command <KEYS> is not allowed


可以看到codis proxy代理不支持redis的keys方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  codis redis