seo优秀网站分析,站长网,深圳专业网站制作,wordpress代码详解背景
ck可以用过clickhouse-jdbc-bridge技术来直接访问各数据库#xff0c;包括oracle#xff0c;oracle也可以用jdbc#xff0c;odbc没调研过
规划
jdbc-bridge是面向客户端的技术#xff0c;也就是说#xff0c;那个节点有客户端#xff0c;哪个节点就需要#xff…背景
ck可以用过clickhouse-jdbc-bridge技术来直接访问各数据库包括oracleoracle也可以用jdbcodbc没调研过
规划
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对目录有要求相对位置是固定的上级目录随意。
└── clickhouse-jdbc-bridge├── clickhouse-jdbc-bridge-2.1.0-shaded.jar├── config│ └── datasources│ └── oracle.json└── drivers└── ojdbc8-12.2.0.1.jarsudo 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
最终的目录结构
/app
└── clickhouse└── clickhouse-jdbc-bridge├── clickhouse-jdbc-bridge-2.1.0-shaded.jar├── config│ └── datasources│ └── oracle.json└── drivers└── ojdbc8-12.2.0.1.jar配置文件
cd /app/clickhouse/clickhouse-jdbc-bridge/config/datasources 注意
oracle.json和里面的根节点oracle名字必须一样jdbcUrl中注意gid和库如果是库要用/如果是gid要用:弄混了会报错connectionTestQuery一定要为空串不然有可能出问题oracle好像不支持这么测试:后面可以没有空格connectTimeout socketTimeout 2个参数都不能用用了启动不会报错但连的时候会报没有sourceserverTimezone这个参数也不行用了启动不会报错但连的时候会报没有source要用timezone:“GTM8”
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:xx.xxx.0.70:1521/ods,username: 账号,password: 密码,connectionTestQuery: ,timezone:GTM8}
}nohup java -jar clickhouse-jdbc-bridge-2.1.0-shaded.jar tail -f nohup.out
jdbc相关配置
以jdbc url配置时
jdbc:mysql://59.110.137.112:3306/answer?useUnicodetruecharacterEncodingutf8
zeroDateTimeBehaviorconvertToNulluseSSLtrueserverTimezoneGMT%2B8
nullCatalogMeansCurrenttrue以配置文件或者代码配置时 复制 设置时区 设置时区时添加serverTimezone参数比如serverTimezoneGMT%2B8URL 中 %2B表示号GMT%2B8即为GMT8。
GMT8 表示东八区北京时间 Asia/Shanghai 表示上海时间也是东八区
ck的配置
到/etc/clickhouse-server目录下的config.xml文件找到以下代码移除注释并修改host为执行clickhouse-jdbc-bridge-2.10.0-shaded.jar的ip地址:
jdbc_bridgehostlocalhost/hostport9019/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
验证
select * from jdbc(,show datasources) --查看外部数据源
select * from jdbc(oracle,SELECT (TRUNC (SYSDATE1) - SYSDATE) * 24 * 60 * 60 num_of_sec_left FROM DUAL) --运行一个测试sql