This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.8.2. metering 调试
当直接与各种组件交互时,可以更容易地调试 metering.以下部分详细介绍如何连接和查询 Presto 和 Hive 以及如何查看 HDFS 组件的仪表板。
本部分所有命令均假设您已通过 OperatorHub 在 openshift-metering
命名空间中安装了 metering。
8.2.1. 获取报告 Operator 日志 复制链接链接已复制到粘贴板!
获取 reporting-operator
日志后使用以下命令。
oc -n openshift-metering logs -f "$(oc -n openshift-metering get pods -l app=reporting-operator -o name | cut -c 5-)" -c reporting-operator
$ oc -n openshift-metering logs -f "$(oc -n openshift-metering get pods -l app=reporting-operator -o name | cut -c 5-)" -c reporting-operator
8.2.2. 使用 presto-cli 查询 Presto 复制链接链接已复制到粘贴板!
以下命令将打开交互式 presto-cli 会话,您可通过该会话查询 Presto。该会话与 Presto 在相同容器中运行,并会启动一个额外 Java 实例,可为 pod 创建内存限值。如果出现这种情况,您需要提高 Presto pod 的内存请求和限值。
Presto 默认配置为使用 TLS 进行通信。您必须先运行以下命令才可运行 Presto 查询:
oc -n openshift-metering exec -it "$(oc -n openshift-metering get pods -l app=presto,presto=coordinator -o name | cut -d/ -f2)" -- /usr/local/bin/presto-cli --server https://presto:8080 --catalog hive --schema default --user root --keystore-path /opt/presto/tls/keystore.pem
$ oc -n openshift-metering exec -it "$(oc -n openshift-metering get pods -l app=presto,presto=coordinator -o name | cut -d/ -f2)" -- /usr/local/bin/presto-cli --server https://presto:8080 --catalog hive --schema default --user root --keystore-path /opt/presto/tls/keystore.pem
运行完该命令后,系统会提示您运行查询。使用 show tables from metering;
查询来查看表列表:
8.2.3. 使用 beeling 来查询 Hive 复制链接链接已复制到粘贴板!
以下命令将打开交互式 beeline 会话,您可通过该会话查询 Hive。该会话与 Hive 在相同容器中运行,并会启动一个额外 Java 实例,可为 pod 创建内存限值。如果出现这种情况,您需要提高 Hive pod 的内存请求和限值。
oc -n openshift-metering exec -it $(oc -n openshift-metering get pods -l app=hive,hive=server -o name | cut -d/ -f2) -c hiveserver2 -- beeline -u 'jdbc:hive2://127.0.0.1:10000/default;auth=noSasl'
$ oc -n openshift-metering exec -it $(oc -n openshift-metering get pods -l app=hive,hive=server -o name | cut -d/ -f2) -c hiveserver2 -- beeline -u 'jdbc:hive2://127.0.0.1:10000/default;auth=noSasl'
运行完该命令后,系统会提示您运行查询。使用 show tables
查询来查看表列表:
8.2.4. 将端口转发到 Hive Web UI 复制链接链接已复制到粘贴板!
运行以下命令:
oc -n openshift-metering port-forward hive-server-0 10002
$ oc -n openshift-metering port-forward hive-server-0 10002
您现在可从浏览器窗口中打开 http://127.0.0.1:10002 以进入 Hive Web 界面。
8.2.5. 端口转发至 hdfs 复制链接链接已复制到粘贴板!
至命名节点:
oc -n openshift-metering port-forward hdfs-namenode-0 9870
$ oc -n openshift-metering port-forward hdfs-namenode-0 9870
您现在可从浏览器窗口中打开 http://127.0.0.1:9870 以进入 HDFS Web 界面。
至首个数据节点:
oc -n openshift-metering port-forward hdfs-datanode-0 9864
$ oc -n openshift-metering port-forward hdfs-datanode-0 9864
要检查其他数据节点,请运行上述命令,将 hdfs-datanode-0
替换为您要查看信息的 pod。
8.2.6. Metering Ansible Operator 复制链接链接已复制到粘贴板!
metering 会使用 Ansible Operator 来监控和协调集群环境中的资源。如果 metering 安装调试失败,通过查看 Ansible 日志或 MeteringConfig 自定义状态有助于解决问题。
8.2.6.1. 访问 Ansible 日志 复制链接链接已复制到粘贴板!
在默认安装中,metering Operator 会被部署为 pod。这种情况下,可进入 pod 检查 Ansible 容器日志:
oc -n openshift-metering logs $(oc -n openshift-metering get pods -l app=metering-operator -o name | cut -d/ -f2) -c ansible
$ oc -n openshift-metering logs $(oc -n openshift-metering get pods -l app=metering-operator -o name | cut -d/ -f2) -c ansible
或者,还可查看 Operator 容器的日志(将 -c ansible
替换为 -c operator
)以获取压缩输出。
8.2.6.2. 检查 MeteringConfig 状态 复制链接链接已复制到粘贴板!
查看 MeteringConfig 自定义资源的 status
有助于调试任何最新故障。以下命令显示类型为 Invalid
的状态消息:
oc -n openshift-metering get meteringconfig operator-metering -o=jsonpath='{.status.conditions[?(@.type=="Invalid")].message}'
$ oc -n openshift-metering get meteringconfig operator-metering -o=jsonpath='{.status.conditions[?(@.type=="Invalid")].message}'