一、概述
有时,havenask集群可能处于异常的状态,此时,我们需要借助havenask的日志判断异常的原因。
- 首先,可以借用hape gs命令查看集群中,出现问题的节点。
- 然后,可以登录对应机器的IP,进入容器查询havenask日志。具体可以通过Havenask官网上的《Hape常见问题与排查》的文档进行了解。文档链接:https://havenask.net/#/doc/v0-2-2/sql/petool/problem
二、过程演示
1、引擎日志排查方法
- 使用hape gs命令查看对应进程所在机器
- havenask集群默认在/home/下创建所有进程的工作目录。可以在某一台机器下使用 ls ~ | grep havenask | grep (serviceName代表集群配置里面global.conf设定的服务名)。其中appmaster也即admin
- 日志:
- 所有进程有基本日志:
- 启动日志:/stdout.log 与/stdin.log
- havenask admin的主要日志:
- 集群进程调度日志 /hippo.log
- 集群目标日志 /suez.log
- havenask worker的主要日志:
- sql引擎工作日志 /ha_sql/logs/sql.log
- swift admin的主要日志:
- 集群进程调度日志 /logs/hippo.log
- 集群目标日志 /logs/swift/swift.log
- swift broker的主要日志:
- broker工作日志 /logs/swift/swift.log
2、举例
- 假设havenask集群的Swift出现问题。此时,可以使用hape gs swift命令,查看当前集群中所有的节点,发现出现错误的节点,并得到其对青机器的IP。登录这台机器,目前havenask的工作目录都在home下,因此我们可以使用它的服务名,找到对应的工作目录。
- 该工作目录是一个经典的swift worker的工作目录,我们可以在log/swift/swift.log中看到对应日志,再根据ERROR或WARN过滤错误。
- 假设havenask集群的在线节点出现问题。此时,可以使用hape gs haveask命令。
- 假设该节点是database节点容器问题,可以登录对应的机器,使用服务名找到home下的工作目录,进入该database节点,查看对应的日志。假设该在线节点主要的日志在sql.log,我们可以同样使用ERROR或WARN过滤错误。
三、结尾
具体Havenask日志查询的演示视频可以通过链接查看,欢迎各位开发者使用。
视频链接:https://developer.aliyun.com/live/253854?spm=a2c6h.13262185.profile.6.563bee42LdD7By
关注我们:
Havenask 开源官网:https://havenask.net/
Havenask-Github 开源项目地址:https://github.com/alibaba/havenask
阿里云 OpenSearch 官网:https://www.aliyun.com/product/opensearch
钉钉扫码加入 Havenask 开源官方技术交流群: