Strategy ONE
启动运行状况检查
MicroStrategy 2019版本中重命名了多项服务。由于此指南需要修改基础文件,因此它使用原始服务名称。
Telemetry Store(即 Platform Analytics Consumer)和 Identity Telemetry producer(即 Usher Metadata Producer)依赖于对三个组件的访问权限,也需要这些访问权限才能处理遥测日志:
- 平台分析存储库(即数据库服务器)
- Telemetry Cache(即 Redis)
- Telemetry Server(即 Kafka)
所有这三个组件都必须处于健康运行状态才能使 Platform Analytics 成功处理遥测日志。如果这些组件中的任何一个不可用,Telemetry Store 消费者和 Identity Telemetry 生产者将停止。因此,在启动期间,消费者和生产者都会对三个组件执行运行状况检查,并生成包含结果的详细报表。
有时,在运行状况检查开始时,其中一个组件可能处于启动过程中而不处于完全就绪状态。在这种情况下,消费者和生产者将执行三次连续检查,每次检查之间有 60 秒的延迟,以确认从属项是否处于不健康状态。
有关 Platform Analytics 体系结构的详细信息,请参阅 Platform Analytics 体系结构和服务。
命名约定和位置
运行状况检查在 Platform Analytics Consumer 和 Usher Metadata Producer 启动过程中执行。因此,在 Platform Analytics 默认安装路径中的 log 文件夹内会生成了两份运行状况检查报告:
- Linux:/opt/MicroStrategy/PlatformAnalytics/log
- Windows:C:\Program Files (x86)\MicroStrategy\Platform Analytics\log
该文件的名称表示报表是与消费者还是生产者相对应。
例如,
platform-analytics-consumer-health-check-yyyymmddhhmmss.out
platform-analytics-usher-lookup-producer-health-check-yyyymmddhhmmss.out
运行状况检查报表结果
每份运行状况检查报表分为四个部分:
每个部分提供有关三个组件的运行状况的不同信息。
健康检查
在健康检查期间,将执行两项检查:
- 消费者/生产者是否可以连接到安装期间提供的并存储在 PAConsumerConfig.yaml 配置文件?如果没有,则进行额外的网络连接测试来诊断问题的原因。
- 数据库用户是否具有所需的权限?有关安装先决条件的完整列表,请参阅 Platform Analytics 先决条件。
健康检查报告提供了权限和结果状态的列表。如果所有检查都成功,最后一行将显示 Warehouse health check result is healthy。
如果任何一行内容为 Failed,检查你的 PAConsumerConfig.yaml 文件并确保数据库具有正确的权限。
如果您在健康检查中收到以下任何错误,请参考以下建议的解决方法:
“缺失权限”错误
如果数据库用户存储在 PAConsumerConfig.yaml 配置文件缺少权限,则 INFO [privilege type] privilege: Failed。要解决此错误,管理员必须将缺失的权限授予数据库用户并重新启动使用者。
如何授予缺失的权限:
- 停止 Platform Analytics Consumer 和 Usher Metadata Producer。
- 连接到包含平台分析存储库的数据库服务器。执行以下命令,将“someuser”和“somehost”替换为客户指定的信息:复制
GRANT DROP ON platform_analytics_wh.* TO ‘someuser’@‘somehost’;
- 重新启动 Platform Analytics Consumer 和 Usher Metadata Producer。
连接失败错误
如果消费者或生产者无法使用 PAConsumerConfig.yaml 配置文件,您可能会看到以下错误:
2018-11-21 21:43:28,793 INFO HealthCheck main - Failed to connect to the database. Retrying after waiting for 60 seconds.
2018-11-21 21:45:31,797 INFO HealthCheck main - Failed to connect to the database. Retrying after waiting for 60 seconds.
2018-11-21 21:47:34,800 ERROR HealthCheck main - Failed to connect to the database using url:jdbc:mysql://XX.Y.Z.1:3306/platform_analytics_wh?rewriteBatchedStatements=true&useLegacyDatetimeCode=false&serverTimezone=UTC. Please double check your connection parameters.
Communications link failure
选择 PAConsumerConfig.yaml 文件根据安装期间提供的数据库信息填充。要解决此错误,请连接到托管 Platform Analytics 的计算机并确认 warehouseDbConnection 标题正确 PAConsumerConfig.yaml 文件。
“数据库用户密码错误”错误
如果加密仓库密码不正确,消费者或者生产者将无法连接数据库。要生成新的加密密码并更新确认,请参阅更新配置到 Platform Analytics 存储库的数据库用户密码 。
“启用 SSL 情况下创建的数据库用户”错误
Platform Analytics 支持 MySQL 5.6、5.7 和 8.0 版本。对于 MySQL 8.0,默认情况下启用 SSL 连接。目前,Platform Analytics 不支持连接到 MySQL 的数据库用户使用 SSL。为 Platform Analytics Consumer 或 Usher Metadata Producer 创建数据库用户时,请使用 REQUIRE 条款。
停用 SSL 的方法:
Redis 运行状况检查
Redis 运行状况检查确定使用者或生产者是否可以成功连接到 Redis 服务器。该检查提供有关在启动期间收集的 Redis 的详细统计信息。如果所有检查都成功,最后一行将显示 Redis server health check result is healthy。
如果您在检查中发现错误,请确保 Redis 正在运行,并且您的配置正确 PAConsumerConfig.yaml 文件。
如果你在 Redis 中收到以下任何错误 健康检查,这里是建议的解决方法:
“Redis已停止”错误
如果消费者或生产者无法连接到 Redis,则可能是因为 Redis 处于停止状态。要解决此错误,请启动 MicroStrategy In-Memory Cache、Platform Analytics Consumer 和 Usher Metadata Producer。
“连接 Redis 失败”错误
如果消费者或生产者无法连接到Redis,可能是因为配置不正确 PAConsumerConfig.yaml 文件。要解决此错误,请连接到托管 Platform Analytics 的计算机并确认 redisConnection 标题正确 PAConsumerConfig.yaml 文件。
为 Redis 启用密码验证 错误
如果消费者或生产者无法连接到 Redis,可能是因为启用了密码身份验证。默认情况下,Redis 未配置密码验证,但可以在安装后进行设置。
如果 Redis 已启用密码验证,并且密码在 PAConsumerConfig.yaml 配置文件,消费者或生产者将无法连接到Redis。要解决此错误,请按照在 MicroStrategy Telemetry Cache 上启用密码身份验证中的步骤操作。
Kafka 运行状况检查
Kafka 健康检查确保遥测管理器(Apache Zookeeper)和遥测服务器(Kafka 服务器)已启动并连接。如果所有检查都成功,最后一行将显示 Kafka cluster health check result is healthy。
由于 Telemetry Server 依赖于 Telemetry Manager,因此必须首先启动 Telemetry Manager。
如果您在检查中看到错误,请确保已启动 ZooKeeper 和 Kafka。
如何检查 ZooKeeper 服务器是否在所有节点上运行:
- 在 Linux 上,运行以下命令来运行 PID。复制
ps ax | grep java | grep -i QuorumPeerMain | grep -v grep | awk '{print $1}'
- 在 Windows 上,打开 Windows 的服务并检查“Apache ZooKeeper”服务是否正在运行。
如何检查 Kafka 服务器是否在所有节点上运行:
- 在 Linux 上,运行以下命令来运行 PID。复制
ps ax | grep -i 'kafka\\.Kafka' | grep java | grep -v grep | awk '{print $1}'
- 在 Windows 上,打开 Windows 的服务并检查“Apache Kafka”服务是否正在运行。
如何在所有节点上启动 ZooKeeper 和 Kafka:
-
在 Linux 上,在 Kafka 目录中运行以下命令:
复制# Start Zookeeper on all nodes,
./zookeeper-server-start.sh -daemon ../config/zookeeper.properties
# Start Kafka on all nodes,
./kafka-server-start.sh -daemon ../config/server.properties - 在 Windows 上,打开 Windows 的服务并启动 Apache ZooKeeper 和 Apache Kafka。
如果这是具有 ZooKeeper 和 Kafka 的多个节点的集群环境,则必须首先启动 ZooKeeper 的所有节点。
运行状况检查摘要
如果所有健康检查都成功,则结果将是 passing。如果任何一项检查失败,您将收到 FAIL 为相应的组件。如若发生失败,请利用上面的详细报表列表来调查可能的失败原因。