hdfs性能差:“将数据包写入镜像的块接收器速度慢”

dfuffjeb  于 2021-06-04  发布在  Hadoop
关注(0)|答案(2)|浏览(368)

我想在一个新的硬件堆栈上示例化另一个新的hadoop集群时提交一个奇怪的行为。
一旦所有东西都安装好了,只要我们尝试在hdfs上执行任何i/o操作,我们就可以在datanode日志中看到许多这样的消息:

15/01/14 22:13:07 WARN datanode.DataNode: Slow BlockReceiver write packet to mirror took 6339ms (threshold=300ms)
15/01/14 22:13:26 INFO DataNode.clienttrace: src: /10.10.5.7:17276, dest: /10.10.5.4:50010, bytes: 176285, op: HDFS_WRITE, cliID: DFSClient_NONMAPREDUCE_-832581408_1, offset: 0, srvID: af886556-96db-4b03-9b5b-cd20c3d66f5a, blockid: BP-784291941-127.0.1.1-1420922413498:blk_1073742333_1531, duration: 19383299287

其次是著名的:

java.net.SocketTimeoutException: 60000 millis timeout while waiting for channel to be ready for read (...)

我们怀疑双vlan+绑定网络接口(2x10 gbps)不是其中的一部分,但是,当然,我们仔细检查了很多这些点,没有发现任何东西: iperf , dd / hdparm ,增加 Xmx (8 gb), sysbench ... 我们只发现星团有一个相当大的 await 运行hdfs时磁盘上的时间(>500ms,与我们的日志消息相关),但我们无法清楚地解释发生了什么。
即使你们都怀疑硬盘是我们麻烦的原因,有人能解释这些日志信息吗?我们在源代码中找不到任何有趣的东西,除非它是在执行时发生的 flush (有道理……)。
设置:
hadoop 2.6.0版
9个数据节点
debian 3.2.63-2+deb7u2 x86_
10x 1tb sas驱动器
openjdk运行时环境(icedtea 2.5.3)(7u71-2.5.3-2~deb7u1)
openjdk 64位服务器虚拟机(内部版本24.65-b04,混合模式)
这是来自用户ml的交叉帖子,因为到目前为止我还没有得到答案;-(。

ipakzgxi

ipakzgxi1#

我有同样的问题与慢hdfs。
我设法解决了第二个错误:
java.net.sockettimeoutexception:等待通道准备好读取时超时60000毫秒(…)
通过增加datanode javaxmx。
希望这有帮助。

9q78igpj

9q78igpj2#

实际上,我们已经解决了这个问题。这是由于我们的网络mtu,与fs无关。我们的实验mtu太大了,导致了这样的行为。回到经典的价值观会让事情恢复正常。

相关问题