ck 配置 clickhouse-jdbc-bridge

背景

ck可以用过clickhouse-jdbc-bridge技术来直接访问各数据库,包括oracle,oracle也可以用jdbc,odbc没调研过

规划

jdbc-bridge是面向客户端的技术,也就是说,那个节点有客户端,哪个节点就需要???

安装配置

需要准备的文件

clickhouse-jdbc-bridge

https://github.com/ClickHouse/clickhouse-jdbc-bridge

理论上需要下载源码然后用mavne打包,但提供了打包好的,可以推测用的是maven的shade插件

oracle的驱动

在官网https://mvnrepository.com下载Oracle对应的驱动包ojdbc8-12.2.0.1.jar放置到/data/clickhouse-jdbc-bridge/drivers目录下。

ojdbc8-12.2.0.1.jar 可用于11g

创建目录

注意,jdbc-bridge对目录有要求,相对位置是固定的,上级目录随意。

json 复制代码
|--clickhouse-jdbc-bridge-2.0.7-shaded.jar
        |--noput.out
        |--drivers
            |--ojdbc8-12.2.0.1.jar
        |--config
            |-- datasources
                |-- oracle.json

sudo mkdir -p /app/clickhouse/clickhouse-jdbc-bridge

sudo chown -R bigdata:bigdata /app 注意,这里权限可以不用clickhouse用户,别的用户也可以

sudo chmod 755 -R /app

cd /app/clickhouse/clickhouse-jdbc-bridge

mkdir -p config/datasources

mkdir drivers

最终的目录结构

json 复制代码
|--app/clickhouse
    |--clickhouse-jdbc-bridge
        |--clickhouse-jdbc-bridge-2.0.7-shaded.jar
        |--noput.out
        |--drivers
            |--ojdbc8-12.2.0.1.jar
        |--config
            |-- datasources
                |-- oracle.json

配置文件

cd /app/clickhouse/clickhouse-jdbc-bridge/config/datasources
注意:

  • oracle.json和里面的根节点oracle名字必须一样
  • jdbcUrl中,注意gid和库,如果是库,要用/,如果是gid,要用:,弄混了会报错
  • connectionTestQuery一定要为空串,不然有可能出问题,oracle好像不支持这么测试
json 复制代码
vim oracle.json
{
  "oracle": {
      "driverUrls": [
          "/app/clickhouse/clickhouse-jdbc-bridge/drivers/ojdbc8-12.2.0.1.jar"
       ],
      "driverClassName": "oracle.jdbc.driver.OracleDriver",
      "jdbcUrl": "jdbc:oracle:thin:@10.135.0.70:1521/ods",
      "username": "账号",
      "password": "密码",
      "connectionTestQuery": ""
   }
}

nohup java -jar clickhouse-jdbc-bridge-2.1.0-shaded.jar &

tail -f nohup.out

ck的配置

到/etc/clickhouse-server目录下的config.xml文件,找到以下代码,移除注释,并修改host为执行clickhouse-jdbc-bridge-2.10.0-shaded.jar的ip地址:

xml 复制代码
<jdbc_bridge>
   <host>localhost</host>
   <port>9019</port>
</jdbc_bridge>

使用

启动

nohup java -jar clickhouse-jdbc-bridge-2.1.0-shaded.jar &

tail -f nohup.out

重启ck

systemctl restart clickhouse-server

systemctl restart clickhouse-server2

验证

sql 复制代码
select * from jdbc('','show datasource') --查看外部数据源
select * from jdbc('oracle','SELECT (TRUNC (SYSDATE+1) - SYSDATE) * 24 * 60 * 60 num_of_sec_left FROM DUAL') --运行一个测试sql
相关推荐
一瓢西湖水3 小时前
列式数据库-以clickHouse为例
数据库·clickhouse
zhglhy6 小时前
ClickHouse高性能技术解析
clickhouse
恒悦sunsite3 天前
clickhouse之clickhouse-client命令简介和使用
clickhouse·client·列式数据库·客户端命令·ctyunos
言之。6 天前
Python调用DeepSeek API查询ClickHouse
windows·python·clickhouse
zhglhy6 天前
ckman将单节点ClickHouse转为集群方案
clickhouse·ckman
葡萄月令with蒲公英8 天前
使用clickhouse_connect从csv导入数据到clickhouse报错
clickhouse
韩金群10 天前
centos离线安装配置clickhouse
linux·clickhouse·centos
谷新龙00113 天前
pg_clickhouse插件,在postgresql中借助clickhouse借用OLAP能力
数据库·clickhouse·postgresql
wending-Y13 天前
clickhouse 物化视图数据查询不稳定分析
clickhouse
l1t16 天前
PostgreSQL pg_clickhouse插件的安装和使用
数据库·clickhouse·postgresql·插件