簡體   English   中英

jdbc連接到Teradata的許多主機

[英]Many hosts in jdbc connection to teradata

我們正在使用jdbc網址,例如:

jdbc:teradata://10.77.59.100/DATABASE=MY_DB, CHARSET=UTF8   

現在,我的jdbc連接有問題,因為我們的teradata數據庫在群集模式下工作。 我試着寫:

jdbc:teradata://10.77.59.100,10.77.59.101/DATABASE=MY_DB, CHARSET=UTF8    

但這是行不通的。

是否可以在jdbc url中設置第二個Teradata服務器,它如何在MySQL中工作? 例如:

jdbc:mysql://192.168.29.20:3306,192.168.29.20:6306/mysql

謝謝!

通常,當Teradata環境配置有多個節點時,IP地址將映射到DNS中的多個COP條目。 然后,您可以為JDBC連接提供不帶COP后綴的主機名,它將隨機選擇一個COP條目來嘗試連接。 如果第一個COP條目未成功,它將嘗試另一個。

jdbc:teradata://DatabaseServerName/database=MY_DB,CHARSET=UTF8

然后COP發現將嘗試DatabaseServerNameCOP1然后DatabaseServerNameCOP2 ,直到耗盡可用COP條目或超時。

可以將COP發現功能作為連接字符串中的參數禁用: COP=OFF 然后,JDBC將僅嘗試使用指定的主機名。

我為此問題發布了最終解決方案。 我在主機文件中添加了映射到多個COP條目的IP地址。

10.77.51.100 intd1 intd1cop1 intdcop1
10.77.51.101 intd2 intd2cop1 intdcop2    
10.77.51.102 intd3 intd3cop1 intdcop3    
10.77.51.103 intd4 intd4cop1 intdcop4    

然后,我設置JDBC連接字符串。 Teradata主機名,不帶COP后綴。

jdbc:teradata://intd/database=MY_DB,CHARSET=UTF8    

現在,如果其中一個節點不可用,我們將自動切換到隨機選擇的另一個節點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM