V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
0x0208v0
V2EX  ›  程序员

8G 云服务器上启了个 clickhouse,它总会因为某些 SQL 挂掉,现在想监控它,在它挂掉时能自己启动。我对 clickhouse🐔毛不懂,时间有限,想了 1 个简单方案和 1 个复杂,求帮忙看看。。。

  •  
  •   0x0208v0 · 2022-10-08 10:21:34 +08:00 · 2368 次点击
    这是一个创建于 558 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题。

    简单方案: 写个后台脚本,定时监测 clickhouse 进程是否寄了,寄了就启动,治标不治本,实现起来快

    复杂方案: 根据配置调优,或者扩大内存。收集最近导致服务挂掉的 SQL ,研究一下根本原因,这个方案可能花的时间会很多

    另外请教,你们的 clickhouse 是怎么运维的...

    第 1 条附言  ·  2022-10-08 13:48:11 +08:00
    谢谢各位大佬!打算用 docker 去弄了,还是 docker 省心
    15 条回复    2022-10-08 22:43:47 +08:00
    foolvino
        1
    foolvino  
       2022-10-08 10:26:14 +08:00
    改为 supervisor 启动
    zhenjiachen
        2
    zhenjiachen  
       2022-10-08 10:26:44 +08:00
    用 docker 才是最快的,用 docker compose 的 health check ,定时检测服务器接口是否健康,如果接口调用失败会自动重启。
    RangerWolf
        3
    RangerWolf  
       2022-10-08 10:27:30 +08:00
    我的生产环境就是用的 docker~ 在启动的时候 docker --restart always 就好了。。。
    RangerWolf
        4
    RangerWolf  
       2022-10-08 10:29:26 +08:00
    另外在 clickhouse 里面,systems.query_thread_log 等相关表,有很详细的记录,推荐去找找看,看看能不能找到蛛丝马迹。但是如果是生产环境,8G 确实太小了。实在没办法,你可以修改配置文件,把允许的最大内存使用量降低。
    我记得默认就是 8G ,但是系统里面还有其他的地方用了内存,就可能导致你的 Clickhouse 被干掉了
    faceair
        5
    faceair  
       2022-10-08 10:32:56 +08:00
    有钱省事方案:买云厂商运维的 clickhouse
    podel
        6
    podel  
       2022-10-08 10:34:13 +08:00
    +1 docker 启动 docker --restart always
    或者 systemd 管理 挂掉后自动重启就行了。
    octobersnow
        7
    octobersnow  
       2022-10-08 10:41:40 +08:00
    可以现在 SQL 使用内存的
    alsas
        8
    alsas  
       2022-10-08 10:50:26 +08:00
    docker 或者 systemd
    Itoktsnhc
        9
    Itoktsnhc  
       2022-10-08 12:03:36 +08:00
    docker --restart always , 然后通过 clickhouse 配置限制下使用的最大内存之类的配置
    pastor
        10
    pastor  
       2022-10-08 13:53:01 +08:00
    这配置,是在侮辱 clickhouse 还是在侮辱自家业务...
    0x0208v0
        11
    0x0208v0  
    OP
       2022-10-08 14:01:36 +08:00
    @pastor 哈哈哈老哥,这个 clickhouse 里面表不多,主要是为了报表展示的系统弄的,聚合起来能比 PG 快一些
    julyclyde
        12
    julyclyde  
       2022-10-08 14:03:50 +08:00
    systemd 是唯一方案
    supervisord 它自己都不能保证重启,有什么资格去管别人
    cron 里检测重启会导致程序所属的 cgroup 变成 user slice
    NikoXu
        13
    NikoXu  
       2022-10-08 15:40:06 +08:00
    systemd
    changdy
        14
    changdy  
       2022-10-08 22:43:23 +08:00
    @pastor 到也正常吧 比如有时候我只是想用到列式存储的优点 .不需要事务之类的情况 ,clickhouse 也是一个比较好的选择,
    changdy
        15
    changdy  
       2022-10-08 22:43:47 +08:00
    @v2exblog 会差多大?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2744 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 00:23 · PVG 08:23 · LAX 17:23 · JFK 20:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.