JDBC 连接不到 impala,报错 impala::ImpalaServer::CloseSessionInternal

问题

jdbc 连接不到 CDH 集群某 impalad 节点,其他 impalad 节点不受影响。
受影响的 impalad 节点报错信息如图:


报错信息

经查看后,发现 impala 的默认连接数为(每个impalad)64个,当某 impalad 节点连接数达到64后,无法再建立新的连接,表现为客户端连接不到该 impalad 节点,但可以正常连接其他 impalad 节点。

http://datanode_x:25000/sessions
可以查看对应节点当前连接情况


解决方法

CDH 中修改 impala -> 配置 -> fe_service_threads 参数,可调大每个 impalad 节点的最大连接数。

对于连接池,建议使用 imapla 官方给出的连接管理驱动:com.cloudera.impala.jdbc4.DataSource
修改 imapla 的连接驱动,将 c3p0 的连接池管理换成如下的配置配置:

<bean id="impaldataSource" class="com.cloudera.impala.jdbc4.DataSource">
        <property name="loginTimeout" value="30000"/>
        <property name="URL" value="jdbc:impala://……"/>
        <property name="userID" value=""/>
        <property name="password" value=""/>
</bean>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。