首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从YCSB加载Redis数据的错误

从YCSB加载Redis数据的错误
EN

Stack Overflow用户
提问于 2014-03-10 13:43:26
回答 2查看 910关注 0票数 1

我试图通过ycsb加载数据命令在redis服务器中加载数据。它可以正常工作,有100万条记录,但是当我试图加载更多的数据(比如2.5亿条记录)时,它会运行一段时间,然后在加载过程中出现错误,给出以下异常。有人能指出哪里出了问题吗?

我收到以下错误:

redis.clients.jedis.exceptions.JedisConnectionException: java.net.SocketTimeoutException:阅读redis.clients.jedis.Protocol.process(Protocol.java:74) at redis.clients.jedis.Protocol.read(Protocol.java:122) at redis.clients.jedis.Connection.getIntegerReply(Connection.java:178) at redis.clients.jedis.Jedis.zadd(Jedis.java:1448) at com.yahoo.ycsb.db.RedisClient.insert(( com.yahoo.ycsb.DBWrapper.insert(DBWrapper.java:148) at com.yahoo.ycsb.workloads.CoreWorkload.doInsert(CoreWorkload.java:461) at com.yahoo.ycsb.ClientThread.run(Client.java:269) )

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-10 14:15:07

听起来问题就像一个超时。考虑到您定义的巨大工作量,这并不奇怪。

您可以尝试修改YCSB连接到Redis的方式,以添加比默认超时更长的超时时间。

在com.yahoo.ycsb.db.RedisClient中,替换

代码语言:javascript
复制
jedis = new Jedis(host, port);

使用

代码语言:javascript
复制
jedis = new Jedis(host, port, TIMEOUT);

超时是一个整数。Jedis中的默认值是2000,我假设这意味着2秒。

票数 2
EN

Stack Overflow用户

发布于 2021-10-06 07:55:54

有redis.timeout参数,尝试通过,例如,-p redis.timeout=10000

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22301857

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档