clickhouse远程访问数据库PG数据库clickhouse-jdbc-bridge)

1、简介

clickhouse-jdbc-bridge:是clickhouse提供的一个jdbc组件,用于通过JDBC的方式远程访问其他数据库表。

2、安装
        1、下载源文件并打包获取clickhouse-jdbc-bridge-2.0.7-shaded.jar

在官网:https://github.com/ClickHouse/clickhouse-jdbc-bridge,下载程序到本地,找到clickhouse-jdbc-bridge-2.0.7-shaded.jar。
        2、将clickhouse-jdbc-bridge-2.0.7-shaded.jar放在Linux服务器的目录/home/soft/tools/ck-jdbc-bridge下,如:在该文件同级目录下新建文件位置目录:
mkdir -p /home/soft/tools/ck-jdbc-bridge --存放驱动配置文件
mkdir -p /home/soft/tools/ck-jdbc-bridge/config/datasources    --存放数据源配置文件
mkdir -p /home/soft/tools/ck-jdbc-bridge/drivers               --jdbc驱动存放目录

        3、以连接JDBC访问postgresql 例:在官网https://mvnrepository.com下载postgresql对应的驱动包:PostgreSQL JDBC Driver » 42.6.0,包名: postgresql-42.6.0.jar

放在/home/soft/tools/ck-jdbc-bridge/drivers目录下:

地址:https://mvnrepository.com/artifact/org.postgresql/postgresql/42.6.0

        4、设置clickhouse-jdbc-bridge远程的数据库信息
在/home/soft/tools/ck-jdbc-bridge/config/datasource目录下 
在datasources目录下创建数据源配置文件,msjdbc.json文件名尽量与配置中的datasource名一致,如下配置:

{
  "msjdbc": {
      "driverUrls": [
          "/home/soft/tools/ck-jdbc-bridge/drivers/postgresql-42.6.0.jar"
       ],
      "driverClassName": "org.postgresql.Driver",
      "jdbcUrl": "jdbc:postgresql://192.xx.3.233:5432/you-dataname",
      "username": "xxx",
      "password": "xxx",
      "connectionTestQuery": ""
   }
}

5、进入/home/soft/tools/ck-jdbc-bridge目录,运行clickhouse-jdbc-bridge

nohup java -jar clickhouse-jdbc-bridge-2.0.7-shaded.jar &
tail -f nohup.out

6、在clickhouse部署的服务器修改clickhouse的config.xml配置:具体位置/etc/clickhouse-server目录下的config.xml文件,找到以下代码,移除注释,并修改host为执行clickhouse-jdbc-bridge-2.0.7-shaded.jar的ip地址:


        127.0.0.1
        9019

保存之后,重启clickhoust服务

systemctl restart clickhouse-server

3、访问

        1、查看能成功访问的的链接:

select * from jdbc('','show datasource')

        2、远程查询oracle的某个表 :               

 select from jdbc('msjdbc', 'select * from msname.test_tb')

        3、直接远程连接

 select from jdbc('jdbc:postgresql://xxx.xxx.xx.xxx:5432/you-database?user=xxx&password=xxx', 'select * from msname.test_tb')

参考:clickhouse远程访问Oracle 11g数据库(clickhouse-jdbc-bridge)_程序员储物箱的博客-CSDN博客

你可能感兴趣的:(clickhouse,数据库)