DWS是否支持第三方客户端以及JDBC和ODBC驱动程序?
推荐使用DWS客户端和驱动程序。 与开源的PostgreSQL客户端和驱动程序相比,有两个主要的优点:
- 安全强化:PostgreSQL驱动程序只支持MD5认证,但DWS 驱动程序支持SHA256和MD5。
- 数据类型增强:DWS驱动程序支持新的数据类型smalldatetime和tinyint。
DWS支持开源PostgreSQL客户端和JDBC和ODBC驱动程序。
兼容的客户端和驱动程序版本如下:
- PostgreSQL的psql 9.2.4或更高版本
- PostgreSQL JDBC驱动程序9.3-1103或更高版本
- PSQL ODBC 09.01.0200或更高版本
使用JDBC/ODBC连接DWS,可参见数据仓库服务用户开发指南文档中的《教程:使用JDBC或ODBC开发》。
可以通过SSH连接DWS集群的节点吗?
不可以。
DWS底层通过虚拟机实现数据分析功能,即DWS的计算节点。但您不能通过SSH方式直接连接DWS 计算节点,您仅能通过DWS服务提供的内网或公网访问地址连接相应的DWS 集群数据库。
无法连接数据仓库集群时怎么处理?
检查原因
基本原因可能有以下几种:
- 集群状态是否正常。
- 连接命令是否正确,用户名、密码、IP地址或端口无误。
- 安装客户端的操作系统类型、版本是否正确。
- 安装客户端的操作是否正确。
如果是在云平台环境无法连接,还需要检查以下可能导致异常的原因:
- 弹性云主机是否与集群在相同可用区、虚拟私有云、子网和安全组。
- 安全组的出入规则是否正确。
如果是在互联网环境无法连接,还需要检查以下可能导致异常的原因:
- 用户网络是否与互联网可以正常连通。
- 用户网络防火墙策略是否限制了访问。
- 用户网络是否需要通过代理才能访问互联网。
联系服务人员
如果无法确定原因并解决问题,请联系企业管理员。
为什么在互联网环境连接DWS后,解绑了EIP不会立即返回失败消息?
这是因为解绑了EIP后,会导致网络断开。但是此过程中,TCP协议层因keepalive等的设置,无法及时识别物理连接已经故障,导致gsql,ODBC和JDBC等客户端无法及时识别网络故障。
客户端等待数据库返回的时间与keepalive参数的设置相关,具体可以表示为:keepalive_time + keepalive_probes * keepalive_intvl。
因为keepalive参数涉及到网络的通信的稳定性,所以可根据具体的业务压力与网络状况进行调整。
如果是Linux环境,使用sysctl命令修改如下参数:
- net.ipv4.tcp_keepalive_time
- net.ipv4.tcp_keeaplive_probes
- net.ipv4.tcp_keepalive_intvl
以修改net.ipv4.tcp_keepalive_time参数值为例,执行如下命令将参数值修改为120秒:
sysctl net.ipv4.tcp_keepalive_time=120
如果是Windows环境,修改注册表“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters”中的如下配置信息:
- KeepAliveTime
- KeepAliveInterval
- TcpMaxDataRetransmissions(相当于tcp_keepalive_probes)
说明如果以上参数不在注册表“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\Tcpip\Parameters”中,可以在注册表编辑器对应路径下右键单击“新建 > DWORD值”进行添加。
使用公网IP连接集群时如何设置白名单?
用户可以登录VPC管理控制台手动创建一个安全组,然后回到DWS 创建集群页面,单击“安全组”下拉列表旁边的按钮,刷新后在“安全组”下拉列表中选择新建的安全组。
为了使DWS客户端可以连接集群,用户需要在新建的安全组中添加一条入规则,开放DWS 集群的数据库端口的访问权限。
- 协议:TCP。
- 端口范围:8000。指定为创建DWS 集群时设置的数据库端口,这个端口是DWS 用于接收客户端连接的端口。
- 源地址:选中“IP地址”,然后指定为客户端主机的IP地址,例如“192.168.0.10/32”。
添加入方向规则
添加完成后,即设置白名单成功。