gpt4 book ai didi

redis - 从 YCSB 加载 Redis 中的数据时出错

转载 作者:可可西里 更新时间:2023-11-01 11:22:05 26 4
gpt4 key购买 nike

我正在尝试通过 ycsb load data 命令在 redis 服务器中加载数据。它可以很好地处理 100 万条记录,但是当我尝试加载更多数据(例如 2.5 亿条记录)时,它会运行一段时间,然后通过给出以下异常来显示加载错误。任何人都可以建议哪里出了问题吗?

出现以下错误:

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

谢谢

最佳答案

听起来问题是超时了。考虑到您定义的巨大工作量,这不足为奇。

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

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

jedis = new Jedis(host, port);

jedis = new Jedis(host, port, TIMEOUT);

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

关于redis - 从 YCSB 加载 Redis 中的数据时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22301857/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com