华为FusionInsight 如果使用jdbc方式访问,通常有两种方式,一种是通过hive驱动访问,
另一种是通过ELK工具访问。后者实际就是相当于访问一个 PostgreSQL 数据库,从速度及SQL
兼容性来说,建议使用ELK方式访问。
步骤:
- 部署ELK客户端 (请参考华为相关文档)
- 修改 PostgreSQL 的登录认证方式。
修改 pg_hba.conf 文件,增加形如使相关的客户端能登录数据库。host all all 10.1.1.0/24 md5
- 修改 PostgreSQL 的监听方式。
PostgreSQL默认只监听本地端口,用netstat -tuln只会看到“tcp 127.0.0.1:5432 LISTEN”。修改postgresql.conf中的listen_address=*,监听所有端口,
这样远程才能通过TCP/IP登录数据库,用netstat -tuln会看到“tcp 0.0.0.0:5432 LISTEN”。 - 找到对应的驱动替换产品里面默认的驱动 _JDBC_postgresql.jar,驱动通常放在 /home/omm/FusionInsight_client/Elk/jdbc
- 在产品里面使用常规的方式即可进行数据库访问
注:华为的ELK虽然是基于开源的 PostgreSQL再次封装,这时候有单独JDBC驱动包,可以采取如下方式进行替换产品的 PostgreSQL 的JDBC驱动包:
替换的驱动包名称是什么不重要,重要的是替换后,可以通过【系统监控】–》【类查找】可以找到对应的【驱动程序类】文件,可以找到,就说明加载正常:
如果新的JDBC驱动连接方式都变化了,这个需要咨询对应的数据库厂商如何通过jdbc方式连接对应数据库。