当前位置: 首页 > 知识库问答 >
问题:

向hbase插入数百万条记录时会出现SocketTimeoutException

解晟
2023-03-14

我构建了一个由九个节点组成的hbase集群。每个节点都有64GB的内存容量。现在,我想向hbase插入数百万条记录。为了提高写入性能,我在每个节点中创建了20个线程,并且在每个节点中将writebuffer设置为64MB,并且自动刷新为false。

准备好数据并设置好配置后,我启动hbase集群。但当记录达到一定程度时,问题就出现了。

Java语言网SocketTimeoutException:等待通道准备好读取时超时2000毫秒。ch:java。nio。频道。SocketChannel[连接的本地=/10.168.56.192:47017远程=节点4/10.168.56.190:60020]在节点4600201649748上,跟踪开始于星期三2014年7月30日21:12:05 CST,10019毫秒后重试,重播91232次操作。

我能做些什么来解决这个问题?

共有1个答案

夏侯昆琦
2023-03-14

问题可能是您的超时值。。。尝试在hbase站点中增加它(hbase.rpc.timeout)。xml文件。

 类似资料:
  • 有一列我想检索并插入到另一个表中例如,下面是我想检索值的第一个表 我使用MSSQL2008

  • 问题内容: 有一个数据库,它在一个表中大约包含200万条记录。我从我的Java代码中运行查询,例如“ select * from table”。是否将从结果集中的数据库中获取完整数据。或不 。如果是,那么它将如何工作,我想学习此检索工作, 请让我知道,我在某处了解到它将从数据库中检索完整的数据并将其存储在临时存储中,并在输出中显示出来。还是与J2C有关 问题答案: 它会从结果集中的数据库中获取完整

  • 我有一个“Customer”表,它有将近120万条记录,其中一列是ntext类型的“customer_records ”,它包含xml数据。我需要在该列的所有现有记录中替换一个url值。我尝试了下面的替换查询,但是执行该查询需要大约20分钟的时间。 在更新期间,CPU 消耗被利用到最大,这引起了问题。在 120 万条记录中,实际更新的记录中有 60 万条记录,但查询需要读取每条记录以查找和替换 U

  • 问题内容: 我想在表中添加可变数量的记录(天) 我已经看到了一个很好的解决方案: 但是可悲的是,这在UDF中不起作用(因为#temp和SET ROWCOUNT)。知道如何实现吗? 目前,我正在使用WHILE和表变量来完成此操作,但是就性能而言,这并不是一个好的解决方案。 问题答案: 这是我正在使用的方法,并且对于我的目的和使用SQL 2000来说效果最佳。因为就我而言,它位于UDF中,所以我不能使

  • 问题内容: 我在使用方法时遇到问题。现在,当我摆脱其他问题时,通过应用程序工作时不会出现异常,但对象未放入数据库中。 我的实体类: 我的道课: 我的xml上下文: 和: 有人知道我想念什么吗? 问题答案: 您是否有特定的例外情况?知道这是什么会有所帮助。 这些建议您应该尝试在后面添加并更改注释 您还应该检查是否通过以下行启用了事务注释: 在您的.xml配置中

  • OrientDB是一个NoSQL数据库,可以存储文档和面向图形的数据。 NoSQL数据库不包含任何表,那么要如何将数据作为记录插入?在这里,您可以以类,属性,顶点和边的形式查看表数据,类表就像表,属性就像表中的文件。 可以在OrientDB中使用模式定义所有这些实体。 属性数据可以被插入到一个类中。 插入命令在数据库模式中创建一条新记录。 记录可以无模式或遵循一些指定的规则。 以下语句是“插入记录