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
相关推荐
frjc5 小时前
数据库选型:如何从众多数据库中选出最理想的那一个
redis·mysql·clickhouse·elasticsearch
dkgee7 天前
记录一次Clickhouse持续占用CPU超过100%问题分析
clickhouse·hermes
想念是会呼吸的鱼8 天前
【ClickHouse 常用 SQL 语句整理】
sql·clickhouse
SelectDB技术团队8 天前
StarRocks 迁移至 Apache Doris 完整指南:三步完成结构、数据与业务平滑切换
数据库·人工智能·sql·clickhouse·apache doris·selectdb·湖仓架构升级
ClickHouseDB12 天前
基于 OpenTelemetry 的意式浓缩咖啡机可观测性实践
clickhouse
l1t14 天前
DeepSeek总结的chdb-core v26.7.3发版说明
数据库·clickhouse·oracle
SelectDB技术团队17 天前
从 ClickHouse 迁移到 Doris:SQL 兼容、同步与验证清单
数据库·人工智能·sql·clickhouse·apache doris·selectdb·湖仓架构升级
java_logo18 天前
Docker 部署 ClickHouse Server:轻松搭建列式 OLAP 分析数据库平台
数据库·clickhouse·docker·私有化部署·olap·列式数据库·轩辕镜像
西风未眠23 天前
ClickHouse数据库引擎引起的数据丢失
数据库·clickhouse·故障
李兆龙的博客25 天前
从一到无穷大 #86:ClickHouse 收购 RunReveal——可观测性竞争进入宏观调控阶段
clickhouse