最近在生产中发现vertica有个别节点老是宕机(又碰到的童鞋交流下),实际业务中有python通过odbc连接vertica,还有java通过jdbc连接vertica。假如你连接的那个节点正好是down的节点或者是standby节点,那么就会连接失败,程序就会报错,影响正常业务。其实vertica官方文档已经给出了解决方法,下面我们来看一下如何实现。
<a href="https://my.vertica.com/docs/7.2.x/html/index.htm#authoring/connectingtohpvertica/clientodbc/odbcconnectionfailover.htm?highlight=odbc%20connection%20failover">odbc connection failover</a>
官方给出的代码如下:
其中上面的backupservernode就是备用的ip
<a href="https://my.vertica.com/docs/7.2.x/html/index.htm#authoring/connectingtohpvertica/clientjdbc/jdbcconnectionfailover.htm?highlight=odbc%20connection%20failover">jdbc connection failover</a>
代码:
另外也可以通过jdbc连接串来实现:
其中connectionloadbalance是vertica的负载均衡,如果在库中没有开启该功能的话,此时是没有作用的,不影响。
开启connectionloadbalance的话,需要管理员账户
取消该功能:
查询是否开启:
通过这次设置,加了几个备用连接节点,确保业务正常。