阿里云 E-MapReduce ClickHouse 操作指南 03期 — ClickHouse 运维

阿里云 E-MapReduce(简称EMR)是运行在阿里云平台上的一种大数据处理的系统解决方案。
ClickHouse 作为开源的列式存储数据库,主要用于在线分析处理查询(OLAP),能够使用 SQL 查询实时生成分析数据报告。而阿里云 EMR ClickHouse 则提供了开源 OLAP 分析引擎 ClickHouse 的云上托管服务。

本系列文章将从以下几个方面详细介绍 EMR ClickHouse 的操作指南:

EMR ClickHouse 操作指南 — ClickHouse 运维

一、日志配置说明

EMR 支持在控制台查看或配置日志参数,也支持在命令行中设置参数。

前提条件

已创建集群,详情请参见创建集群:
https://help.aliyun.com/document_detail/208809.htm

Clickhouse 控制台日志配置

您可以在 ClickHouse 服务配置页面的服务配置区域,在 server-config 页签中查看或修改配置,或者在 ClickHouse 服务的配置页面,在搜索区域搜索 logger.,即可查看或修改所有的日志配置项。

参数 描述
logger.level 日志的等级,默认等级为 information 可以配置的等级从严格到宽松依次为
  • none:关闭日志。

  • fatal:致命信息。

  • critical:危险信息。

  • error:错误信息。

  • warning:警告信息。

  • notice:普通但需要注意的信息

  • information(默认值):重要或者您感兴趣的信息

  • debug:调试信息。

  • trace:程序执行路径跟踪信息。

logger.path ClickHouse Server 正常输出的日志文件,默认为/var/log/clickhouse-server/clickhouse-server.log,会输出符合 logger.level 所指定的日志等级的日志。
logger.errorlog ClickHouse Server 中错误日志的输出路径。默认值为/var/log/clickhouse-server/clickhouse-server.err.log。
logger.size 日志文件的大小。当文件达到该参数设置的值时,ClickHouse 会将其存档并重命名,并创建一个新的日志文件。默认值为1000M
logger.count 存档的 ClickHouse 日志文件个数。当存档的日志文件个数达到该参数设置的值时,ClickHouse 会将最早的存档删除。默认值为10

ClickHouse 客户端日志配置

您可以通过配置客户端日志,来接收来自服务端的日志,默认接收 fatal 级别的日志。

1. 通过 SSH 方式登录集群:
https://help.aliyun.com/document_detail/169150.htm

2. 基本操作示例。

  • 查看每次执行的日志。

    1. 执行以下命令, 启动 clickhouse-client。
      clickhouse-client

    2. 您可以执行以下命令,设置参数 send_logs_level 查看每次执行的日志。
      set send_logs_level='debug';

返回信息如下所示。

  • 在 clickhouse-client 启动时,您可以执行以下命令,将日志保存到指定的文件中。

clickhouse-client --send_logs_level=trace --log-level=trace --server_logs_file='/tmp/query.log'

二、系统表说明

系统表存储于 System 数据库中,仅提供数据读取功能,不能被删除或更改,但可以对其进行分离(detach)操作。大多数系统表将其数据存储在 RAM 中,一个 ClickHouse 服务在刚启动时便会创建此类系统表。

背景信息

常用系统表如下:

  • system.clusters

  • system.query_log

  • system.zookeeper

  • system.replicas

  • system.storage_policies

  • system.disks

更多系统表信息,请参见ClickHouse官方文档:
https://clickhouse.tech/docs/zh/operations/system-tables/

system.clusters

该表包含了配置文件中可用的集群及其服务器的信息。

参数 数据类型 描述
cluster String 集群名。
shard_num UInt32 集群中的分片数,从1开始。
shard_weight UInt32 写数据时该分片的相对权重。
replica_num UInt32 分片的副本数量,从1开始。
host_name String 配置中指定的主机名
host_address String 从 DNS 获取的主机 IP 地址。
port UInt16 连接到服务器的端口
user String 连接到服务器的用户名。
errors_count UInt32 此主机无法访问副本的次数。
slowdowns_count UInt32 在与对端请求建立连接时导致副本更改的 slowdown 的次数。
estimated_recovery_time UInt32 在复制副本错误计数归零并被视为恢复正常之前剩余的秒数。

示例:您可以执行以下命令,查看表信息。

SELECT * FROM system.clusters LIMIT 2 FORMAT Vertical;

返回信息如下。


system.query_log

该表包含了已执行查询的相关信息。例如,开始时间、处理持续时间和错误消息。

system.query_log 表中记录了两种查询:

  • 客户端直接运行的初始查询。

  • 由其它查询启动的子查询(用于分布式查询执行)。对于这些类型的查询,有关父查询的信息显示在initial_*列。

根据查询的状态(请参见type列),每个查询在查询日志表中创建一行或两行记录:

  • 如果查询执行成功,则会创建typeQueryStartQueryFinish 的两行记录信息。

  • 如果在查询处理期间发生错误,则会创建typeQueryStart
    ExceptionWhileProcessing 的两行记录信息。

  • 如果在启动查询之前发生错误,则会创建 typeExceptionBeforeStart 的一行记录信息。

参数 数据类型 描述
type Enum8 执行查询时的事件类型。取值如下:
  • 'QueryStart' = 1:查询成功启动。

  • 'QueryFinish' = 2:查询成功完成。

  • 'ExceptionBeforeStart' = 3:查询执行前有异常。

  • 'ExceptionWhileProcessing' = 4 :查询执行期间有异常。

event_date Date 查询开始日期。
event_time DateTime 查询开始时间。
event_time_microseconds DateTime64 以微秒精度查询开始时间。
query_start_time DateTime 查询执行的开始时间。
query_start_time_microseconds DateTime64 以微秒精度查询执行的开始时间。
query_duration_ms UInt64 查询消耗的时间。单位为毫秒。
read_rows UInt64 从参与了查询的所有表和表函数读取的字节总数。包括常用的子查询,IN和JOIN的子查询。对于分布式查询read_rows包括在所有副本上读取的字节总数。每个副本发送它的read_rows值,并且查询的发起方将所有接收到的和本地的值汇总。缓存卷不会影响此值。
read_bytes UInt64 从参与了查询的所有表和表函数读取的总字节数。包括常用的子查询,IN和JOIN的子查询。对于分布式查询read_bytes包括在所有副本上读取的字节总数。每个副本发送它的read_bytes值,并且查询的发起方将所有接收到的值和本地的值汇总。缓存卷不会影响此值。
written_rows UInt64 对于INSERT查询,为写入的行数。对于其它查询,值为0。
written_bytes UInt64 对于INSERT查询时,为写入的字节数。对于其它查询,值为0
result_rows UInt64
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值