跳到主要内容

Qlik NPrinting messaging service (RabbitMQ) 启动和连接问题

Possible cause  

如果未生成报表,或者引擎从未转为 Online 状态,或者如果 Qlik NPrinting scheduler service 在启动后大约一分钟之后停止,Qlik NPrinting messaging service (RabbitMQ) 可能已停止或者可能无法连接。

调度程序日志显示类似以下的消息:

*********************************************
Error: RabbitMQ message broker is unreachable
Shutting down scheduler service
*********************************************

Or like:

*********************************************
RabbitMQ service is not connected - trying again in 3 seconds
*********************************************

Proposed action  

  1. 检查 Qlik NPrinting messaging service 是否在运行。
  1. 从系统配置文件文件夹 (C:\WINDOWS\system32\config\systemprofile\) 复制 .erlang.cookie 文件并用它替换 %USERPROFILE% 文件夹 (C:\Users\npadmin) 中的该文件。
  2. 以管理员身份打开新命令提示。
  3. 导航至 RabbitMQ sbin 文件夹:%ProgramFiles%\NPrintingServer\rabbitmq_server-3.8.3\sbin
  4. 运行以下命令:

    rabbitmqctl.bat list_permissions

    输出应当为:

    Listing permissions for vhost "/" ...
    user configure write read
    client_engine .* .* .*
    client_webengine .* .* .*
    remote .* .* .*
    client_audit .* .* .*
    client_scheduler .* .* .*
  5. 如果输出与此不同,请转到修复消息服务用户和权限。
  1. 以管理员身份打开新命令提示。
  2. 导航至证书生成器文件夹:%ProgramFiles%\NPrintingServer\NPrinting\RabbitMQCertificatesGenerator
  3. 运行以下命令:

    RabbitMQCertificatesGenerator.exe -d -c "C:\ProgramData\NPrinting\certificates"

  4. 如果输出由于缺少证书或证书无效而出现警告或错误,请转到重新创建消息服务证书
  1. 从系统配置文件文件夹 (C:\WINDOWS\system32\config\systemprofile\) 复制 .erlang.cookie 文件并用它替换 %USERPROFILE% 文件夹 (C:\Users\npadmin) 中的该文件。
  2. 以管理员身份打开新命令提示。

  3. 导航至 RabbitMQ sbin 文件夹:%ProgramFiles%\NPrintingServer\rabbitmq_server-3.8.3\sbin

  4. 运行以下命令:

    rabbitmqctl.bat status

  5. 检查输出。要检查的主要部分如下:
    Runtime
    OS PID: 12128
    OS: Windows
    Uptime (seconds): 23801
    RabbitMQ version: 3.8.3
    Node name: rabbit@localhost
    Erlang configuration: Erlang/OTP 22 [erts-10.6] [64-bit] [smp:12:12] [ds:12:12:10] [async-threads:64]
    Erlang processes: 316 used, 1048576 limit
    Scheduler run queue: 1
    Cluster heartbeat timeout (net_ticktime): 60
     
    Plugins
    Enabled plugin file: C:/ProgramData/NPrinting/RabbitMQ/enabled_plugins
    Enabled plugins:
    * rabbitmq_auth_mechanism_ssl
     
    Data directory
    Node data directory: c:/ProgramData/NPrinting/RabbitMQ/db/rabbit@localhost-mnesia
     
    Config files
    * c:/ProgramData/NPrinting/RabbitMQ/advanced.config
     
    Listeners
    Interface: [::], port: 25672, protocol: clustering, purpose: inter-node and CLI tool communication
    Interface: 0.0.0.0, port: 5672, protocol: amqp/ssl, purpose: AMQP 0-9-1 and AMQP 1.0 over TLS
    Interface: [::], port: 5672, protocol: amqp/ssl, purpose: AMQP 0-9-1 and AMQP 1.0 over TLS
  6. 如果命令失败或输出与预期的不同,请转到重新创建 Qlik NPrinting 消息服务

  7. 如果遇到命令错误,可以运行以下命令以获取更详细的错误:

    rabbitmq-server.bat

  1. 从系统配置文件文件夹 (C:\WINDOWS\system32\config\systemprofile\) 复制 .erlang.cookie 文件并用它替换 %USERPROFILE% 文件夹 (C:\Users\npadmin) 中的该文件。
  2. 以管理员身份打开新命令提示。
  3. 导航至证书生成器文件夹:%ProgramFiles%\NPrintingServer\NPrinting\RabbitMQCertificatesGenerator
  4. 运行以下命令:

    RabbitMQCertificatesGenerator.exe -p "%ProgramFiles%\NPrintingServer\rabbitmq_server-3.8.3"

  5. 重启服务
  1. 备份文件夹 C:\Programdata\NPrinting\RabbitMQ 并将其放在其他位置
  2. 从系统配置文件文件夹 (C:\WINDOWS\system32\config\systemprofile\) 复制 .erlang.cookie 文件并用它替换 %USERPROFILE% 文件夹 (C:\Users\npadmin) 中的该文件。
  3. 以管理员身份打开新命令提示。
  4. 停止所有服务,并关闭 services.msc 窗口。

  5. 通过运行以下命令停止 epmd.exe 进程:taskkill /f /im epmd.exe
  6. 导航至 RabbitMQ sbin 文件夹:%ProgramFiles%\NPrintingServer\rabbitmq_server-3.8.3\sbin
  7. 删除文件夹 C:\ProgramData\NPrinting\RabbitMQ 中的所有内容,但文件 enabled_pluginsadvanced.config 除外。
  8. 运行以下命令:rabbitmq-service.bat remove
  9. 使用指向 Erlang 基本文件夹 (C:\Program Files\erl10.6) 的路径,添加系统环境变量 ERLANG_HOME(如果缺失)
  10. 以管理员身份关闭命令提示并打开新的命令提示。
  11. 导航至 RabbitMQ sbin 文件夹:%ProgramFiles%\NPrintingServer\rabbitmq_server-3.8.3\sbin
  12. 运行以下命令:

    rabbitmq-service.bat install

    rabbitmq-service.bat start

  13. 如果服务没有启动,可以尝试运行此命令以获取更详细的错误:rabbitmq-server.bat
  14. 转到重新创建消息服务证书并完成步骤。
  1. 以管理员身份打开新命令提示。
  2. 导航至证书生成器文件夹:%ProgramFiles%\NPrintingServer\NPrinting\RabbitMQCertificatesGenerator
  3. 运行以下命令:RabbitMQCertificatesGenerator.exe -f -c "C:\ProgramData\NPrinting\certificates" -p "%ProgramFiles%\NPrintingServer\rabbitmq_server-3.8.3"

    该步骤也可修复消息服务用户和权限

  4. 重新安装 Qlik NPrinting Engine 并从 Qlik NPrinting web console 重新配置它们。转到管理员 > 引擎管理器以使用新证书。
  5. 重启服务