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
相关推荐
时时刻刻看着自己的心1 天前
clickhouse分布式表插入数据不用带ON CLUSTER
分布式·clickhouse
吹老师个人app编程教学2 天前
clickhouse-题库
clickhouse
fusugongzi2 天前
clickhouse一直重启,日志提示structure needs cleaning
clickhouse
arnold662 天前
深入探索 ClickHouse:性能优化之道
clickhouse·性能优化
孤独天狼3 天前
Clickhouse(Centos)
clickhouse
Favor_Yang4 天前
C# 连接ClickHouse 数据库
数据库·clickhouse·c#
fusugongzi5 天前
clickhouse优化记录
clickhouse
吹老师个人app编程教学5 天前
clickhouse-副本和分片
java·服务器·clickhouse
天地风雷水火山泽5 天前
二百七十九、ClickHouse——用Kettle对DWD层清洗数据进行增量补全
clickhouse
天地风雷水火山泽5 天前
二百八十、ClickHouse——用Kettle对DWD层补全的清洗数据进行记录
大数据·clickhouse·kettle