最近在运行hive任务时,会很频繁的报此错误信息,如下:
原因是连接不上namenode的8020端口,此端口是hdfs的端口配置,导致原因如下:
就是运行一个SQL语句一次读6次写入不同表的任务导致。
解决方式:
将该SQL语句,进行拆分。测试5次后,不再出现这种情况。
目前该问题还没得到彻底解决。等待…………
通过几天的观察发现,与IPC的相关参数设置有关,通过查看hadoop相关的IPC源码发现,默认的IPC读线程只有一个,而且空闲时间太短。导致当我的一个SQL语句包含一次读多次写的场景时,偶尔会出现IPC来不及处理,然后被hadoop里的IPC监控线程判断出已经超时,导致IPC连接关闭(默认一次关闭10个连接)。
另外就是如果运行脚本内容(指SQL语句)太多,那么分多个SQL脚本分开运行。