問題
jdbc 連接不到 CDH 集群某 impalad 節(jié)點,其他 impalad 節(jié)點不受影響座云。
受影響的 impalad 節(jié)點報錯信息如圖:
經查看后,發(fā)現 impala 的默認連接數為(每個impalad)64個锨苏,當某 impalad 節(jié)點連接數達到64后疙教,無法再建立新的連接,表現為客戶端連接不到該 impalad 節(jié)點伞租,但可以正常連接其他 impalad 節(jié)點贞谓。
http://datanode_x:25000/sessions
可以查看對應節(jié)點當前連接情況
解決方法
CDH 中修改 impala -> 配置 -> fe_service_threads 參數,可調大每個 impalad 節(jié)點的最大連接數葵诈。
對于連接池裸弦,建議使用 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>