首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Clickhouse客户-代码: 62。DB::Exception:空查询

Clickhouse客户-代码: 62。DB::Exception:空查询
EN

Stack Overflow用户
提问于 2021-02-14 21:54:28
回答 3查看 2.8K关注 0票数 2

我试图使用clickhouse-serverclickhouse-client服务来运行DockerDocker Compose。基于clickhouse停靠-撰写文件另一组样本,我在另一组样本文件中创建了服务,如下所示:

docker-compose.yml:

代码语言:javascript
复制
    ch_server:
      container_name: myapp_ch_server
      image: yandex/clickhouse-server
      ports:
        - "8181:8123"
        - "9000:9000"
        - "9009:9009"
      ulimits:
        nproc: 65535
        nofile:
          soft: 262144
          hard: 262144
      volumes: 
        - ./ch_db_data:/var/lib/clickhouse/
        - ./ch_db_logs:/val/log/clickhouse-server/
      networks:
        - myapp-network

    ch_client:
      container_name: myapp_ch_client
      image: yandex/clickhouse-client
      command: ['--host', 'ch_server']
      networks:
        - myapp-network

当我运行docker-compose up命令时,clickhouse-client服务会出现以下异常:

代码语言:javascript
复制
myapp_ch_client | Code: 62. DB::Exception: Empty query
myapp_ch_client exited with code 62

你知道如何修复这个错误吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-02-15 09:05:17

它只需要在命令params中传递SQL-查询:

代码语言:javascript
复制
version: "2.4"

services:
  ch_server:
    container_name: myapp_ch_server
    image: yandex/clickhouse-server
    ports:
      - "8123:8123"
      - "9000:9000"
      - "9009:9009"
    ulimits:
      nproc: 65535
      nofile:
        soft: 262144
        hard: 262144
    volumes: 
      - ./ch_db_data:/var/lib/clickhouse/
      - ./ch_db_logs:/var/log/clickhouse-server/
    networks:
      - myapp-network
    healthcheck:
      test: wget --no-verbose --tries=1 --spider localhost:8123/ping || exit 1
      interval: 2s
      timeout: 2s
      retries: 16

  ch_client:
    container_name: myapp_ch_client
    image: yandex/clickhouse-client
    command: ['--host', 'ch_server', '--query', 'select * from system.functions order by name limit 4']
    networks:
      - myapp-network
    depends_on:
      ch_server:
        condition: service_healthy

networks:
    myapp-network:

在拼图中定义clickhouse-client是没有意义的。clickhouse-client通常在docker-组合文件之外运行:

  1. 定义服务器(如集群的节点)、动物园管理员、Apache等。例如,让我们考虑ClickHouse的一个节点的配置:
代码语言:javascript
复制
version: "2.4"

services:
  ch_server:
    container_name: myapp_ch_server
    image: yandex/clickhouse-server
    ports:
      - "8123:8123"
      - "9000:9000"
      - "9009:9009"
    ulimits:
      nproc: 65535
      nofile:
        soft: 262144
        hard: 262144
    volumes: 
      - ./ch_db_data:/var/lib/clickhouse/
      - ./ch_db_logs:/var/log/clickhouse-server/
    networks:
      - myapp-network
    healthcheck:
      test: wget --no-verbose --tries=1 --spider localhost:8123/ping || exit 1
      interval: 2s
      timeout: 2s
      retries: 16

networks:
    myapp-network:
  1. 在单独的终端中运行clickhouse-client。
代码语言:javascript
复制
cd _folder_where_docker-compose_located

docker-compose exec ch_server clickhouse-client
票数 4
EN

Stack Overflow用户

发布于 2021-06-30 09:11:53

2021年版本为本教程https://dev.to/titronium/clickhouse-server-in-1-minute-with-docker-4gf2

代码语言:javascript
复制
  clickhouse-client:
    image: yandex/clickhouse-client:latest
    depends_on:
      - clickhouse-server
    links:
      - clickhouse-server
    entrypoint:
      - /bin/sleep
    command:
      - infinity

最后一行command: - infinity意味着它将永远在那里等待连接

票数 1
EN

Stack Overflow用户

发布于 2021-08-10 07:50:30

实际上,您可以访问ClickHouse服务器命令行上的一个ClickHouse客户端。

您可以轻松地连接到服务器容器并调用

代码语言:javascript
复制
clickhuse-client
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66200505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档