clickhouse代理Chproxy
为什么开发了Chproxy
由于各种原因,ClickHouse
的最大执行时间、最大并发语句可能会超过 max_execution_time
和max_concurrent_queries
的限制:
max_execution_time
可能会因为当前实现的缺陷而被超过。
max_concurrent_queries
只针对每个节点的限制。如果是在集群节点上,是没法限制集群整体的并发查询数量。
这种 “泄漏” 的限制可能会导致所有集群节点的高资源使用率
。遇到这个问题后,我们不得不在我们的 ClickHouse
集群前维护 2 个不同的 http 代理
—— 一个用于在集群节点间分散 INSERT
操作,另一个用于发送 SELECT
到一个专用节点,在该节点再通过某种方式进行限制。这样很不健壮,管理起来也很不方便,所以我们开发了 Chproxy
。:)
安装 配置
cd /usr/local/chproxy/ && tar -xvzf chproxy-linux-amd64-v1.14.0.tar.gz
cat << EOF > /usr/local/chproxy/config.yml
hack_me_please: false
log_debug: true
server:http:# chproxy监听的端口listen_addr: ":8321"# 允许访问的网段allowed_networks: ["172.0.0.0/8","192.0.0.0/8"]read_timeout: 3m
param_groups:# jdbc url参数配置- name: "test"params:- key: "max_query_size"value: "100000000"- key: "max_ast_elements"value: "10000000"- key: "max_expanded_ast_elements"value: "10000000"
users:# 用户信息[写入权限],使用此用户名和密码连接clickhouse- name: "insert"password: "123456"to_cluster: "write_cluster"to_user: "default"params: "test"allow_cors: truecache: "longterm"# 用户信息[只读权限],使用此用户名和密码连接clickhouse,如果没有可以不写- name: "readonly"password: "123456"to_cluster: "readonly-cluster"to_user: "readonly"cache: "shotterm"params: "test"allow_cors: truemax_concurrent_queries: 200max_execution_time: 2m
clusters:# 集群信息[写入权限],注意替换为你自己的clickhouse地址- name: "write_cluster"#clichouse集群地址,多个以逗号分隔nodes: ["mypc01:8123"]# clickhouse 中你配置的用户名和密码users:- name: "default"password: "123456"#clichouse集群地址[只读],多个以逗号分隔,如果没有可以不写- name: "readonly-cluster"nodes: ["mypc01:8123"]# clickhouse 中你配置的用户名和密码users:- name: "readonly"password: "123456"caches:# chproxy自己的缓存,默认是在磁盘上- name: "longterm"dir: "/data1/chproxy/cache/"max_size: 950Mbexpire: 30s- name: "shotterm"dir: "/data1/chproxy/cache-shot/"max_size: 950Mbexpire: 30s
EOF
启动
./chproxy --config /usr/local/chproxy/config.yml
总结
chproxy
就是为了实现clickhouse
的负载均衡,比如insert用一个集群,select
用另一个集群
参考
chproxy/README-CN.md at master · Vertamedia/chproxy
https://github.com/Vertamedia/chproxy/blob/master/README-CN.md
clickhouse代理Chproxy相关推荐
- 【clickhouse】docker 下 搭建 clickhouse 监控
文章目录 1.概述 1.概述 转载:搭建clickhouse监控 原由与方案 为了更好地优化clickhouse的性能,需要对clickhouse集群进行监控.网上很多监控方案都是clickhouse ...
- 数仓选型必列入考虑的OLAP列式数据库ClickHouse(上)
概述 定义 ClickHouse官网地址 https://clickhouse.com/ 最新版本22.4.5.9 ClickHouse官网文档地址 https://clickhouse.com/do ...
- clickhouse官方文档_clickhouse分析:chproxy使用
点击上方蓝字关注我们 " 什么是chproxy?从名字就能了解ch代表clickhouse,proxy为代理,即专为clickhouse使用的代理.在clickhouse集群中,每一台机器都 ...
- ClickHouse学习教程
概述 官网 a fast open-source OLAP database management system. It is column-oriented and allows to genera ...
- ClickHouse使用实践与规范
导读: ClickHouse作为一款开源列式数据库管理系统(DBMS)近年来备受关注,主要用于数据分析(OLAP)领域.作者根据以往经验和遇到的问题,总结出一些基本的开发和使用规范,以供使用者参考. ...
- 唯品会翻牌ClickHouse后,实现百亿级数据自助分析
本文根据王玉老师在[deeplus直播第266期]线上分享演讲内容整理而成.(文末有获取本期PPT&回放的方式,不要错过) 王玉 唯品会实时平台OLAP团队负责人 负责唯品会Presto.Cl ...
- 唯品会王玉:老司机教你如何调教Presto和ClickHouse,应对业务难题!
分享嘉宾:王玉 唯品会 编辑整理:刘鹏鹏 滴滴出行 出品平台:DataFunTalk 导读:大家好,我是来自唯品会实时平台 OLAP 团队的王玉,主要负责唯品会这边 Presto.Kylin.Clic ...
- ClickHouse 在网易的实践
导读: ClickHouse作为一款开源列式数据库管理系统(DBMS)近年来备受关注,主要用于数据分析(OLAP)领域.作者根据以往经验和遇到的问题,总结出一些基本的开发和使用规范,以供使用者参考. ...
- 趣头条基于Flink+ClickHouse的实时数据分析平台
导读:趣头条一直致力于使用大数据分析指导业务发展.目前在实时化领域主要使用 Flink+ClickHouse 解决方案,覆盖场景包括实时数据报表.Adhoc 即时查询.事件分析.漏斗分析.留存分析等精 ...
最新文章
- 51nod 1222 最小公倍数计数【莫比乌斯反演】
- Python解释器有哪些?Python解释器种类
- 全国计算机等级考试题库二级C操作题100套(第30套)
- 【OpenCV 例程200篇】58. 非线性滤波—中值滤波
- 跟我一起读postgresql源码(十六)——Executor(查询执行模块之——control节点(下))
- .net项目开发工具最新动态
- 32位与64位应用程序速度分析
- OpenShift 4 之Service Mesh教程(4)- 跟踪访问后端服务超时
- seafile Windows MySQL_seafile4.3.1 + windows 2012 server +mysql 部署记录(3)
- lingo软件的基本使用方法_(PS软件)PHOTOSHOP基础操作和基本工具的使用
- Python的Numpy库简述
- 免费在线打字练习网站
- 物联网人工智能软件市场现状研究分析报告 -
- iOS内购实现及测试排查错误列表
- JAVA:实现Blowfish区块加密算法(附完整源码)
- 嵩天老师python爬虫笔记整理week3
- 街灯变成了平台,世界将会怎样
- keil配色(黑色背景)
- 孩子该不该学编程?学编程有用吗?
- 从PDF直接复制粘贴过来可以吗?其他软件的数据怎么导入Excel?
热门文章
- 四个变量的图表怎么做_EXCEL系列之基础图表总结
- linux yum坏了怎么办,yum坏掉的解决
- python樱桃小丸子_appium+python自动化框架搭建
- html 显示接口数据格式化,科技常识:html格式化输出JSON示例(测试接口)
- win7 html 设置成桌面,教你怎样设置专属自己的windows7动态桌面
- csgo躲猫猫模式显示服务器已满,csgo躲猫猫攻略大全
- 字符串当id用 转换成json对象
- java中table属性_div实现table功能
- 电脑开机卡住了怎么办_苹果电脑忘记开机密码怎么办?一段代码轻松解决
- oracle tbs_tmp,Oracle 12.2 设置LOCAL_TEMP_TABLESPACE