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
相关推荐
麦兜和小可的舅舅2 天前
ClickHouse 一次Schema修改造成的Merge阻塞问题的分析和解决过程
clickhouse
bigdata-rookie5 天前
StarRocks(2.5.1)vs Clickhouse(21.7.3.14)集群 SSB 性能测试
clickhouse
CTO Plus技术服务中5 天前
ClickHouse原理解析与应用实践教程
clickhouse
zhangyifang_0097 天前
ClickHouse查询报错:Code: 62. DB::Exception: Max query size exceeded:
数据库·clickhouse
HideInTime7 天前
Clickhouse进阶分组复合排序查询
clickhouse
memgLIFE8 天前
clickhouse
clickhouse
Arbori_262159 天前
clickhouse 实现mysql GROUP_CONCAT() 函数
数据库·mysql·clickhouse
斯普信专业组10 天前
Nomad组件部署clickhouse-job
clickhouse·nomad
麦兜和小可的舅舅10 天前
ClickHouse Drop Table On Cluster 故障分析和原理解析
clickhouse·kafka
重生之绝世牛码12 天前
Linux软件安装 —— ClickHouse单节点安装(rpm安装、tar安装两种安装方式)
大数据·linux·运维·数据库·clickhouse·软件安装·clickhouse单节点