将 NCC_Onprem_12_2_Installer.zip 复制到所有节点的主目录,
例如,scp NCC_Onprem_12_2_Installer.zip -i ssh_key.pem my-user@webrtc.corp.example.com:/home/my-user/
简介
Adobe Connect 使用最新的 WebRTC 框架提供音频视频增强功能。 通常在具有特定角色的多个 Linux® 节点上运行音频视频增强设置, 这些节点可以是信令节点、媒体节点和录制节点。此设置还利用 PostgreSQL 和 Redis 数据库,我们可以根据用途将这些数据库安装在一台或不同的计算机上。
要完成各节点的设置,相关操作为向节点复制安装程序 zip 文件、编辑配置文件、运行依赖项安装脚本,以及最终运行主安装脚本。 本文将介绍以下主题:
详细步骤,请参阅“安装”一节。
先决条件和系统要求
估算增强型音频/视频服务器/节点的大小
要估算增强型音频/视频服务器的大小,可以运行 session_participants_count.sql 文件。SQL 查询的输出可作为计算器的输入,这是一个名为 Additional Enhanced A/V hardware estimator.xlsx 的 Excel 文件。
计算器会根据您以往对 Adobe Connect 的使用情况估算所需虚拟机的数量。计算器需要下列一组输入。
- 服务器 CPU 核心数和 RAM 数。
附加 SQL 查询用于确定过去 12 个月中完成的并发会话峰值数以及平均与会者数量。
每个会话中发布者数量的估算值。 发布者是指在会议室中连接麦克风(静音或未静音均可)和网络摄像头(打开和暂停均可)的与会者(主持人、演示者或参加者)。
session_participants_count.sql 和 Additional Enhanced A/V hardware estimator.xlsx 文件均只随安装程序包提供,无其他提供途径。
预估 FQDN 和 SSL 证书要求
FQDN:
外部应用程序负载平衡器需有一条公共 DNS 记录,如 webrtc.example.com
各媒体服务器需分别有一条公共 DNS 记录,如 media-1.example.com
SSL 证书:
LB FQDN 需拥有一个 SSL 证书
建议为媒体服务器配置 TURNS,确保各媒体服务器均有一个证书。
了解网络架构
端口开放要求
源 | 目标 | 端口 | 协议 | 用途 |
---|---|---|---|---|
信令节点 | Redis | 6379 | TCP | |
Postgres | 5432 | TCP | ||
录制节点 | 5000-5100 | TCP | ||
SIP 或媒体 服务器节点 |
5060 | UDP | ||
SIP 或媒体 服务器节点 |
5060 | TCP | 用于 SIP 信令 | |
CPS 服务器 | 443 | TCP | ||
录制节点 | 媒体服务器 节点 (*) |
443 | TCP | TURNS |
3478 | UDP | STUN/TURN | ||
3478 | TCP | STUN/TURN | ||
30000 - 65535 | UDP | SRTP(实时媒体流) | ||
CPS 服务器 | 443 | TCP | ||
Redis | 6379 | TCP | ||
信令节点 | 8090 | TCP |
||
WebRTC 负载平衡器 (**) | 443 | TCP |
||
媒体服务器节点 | Redis | 6379 | TCP |
|
Postgres | 5432 | TCP |
||
stun.I.google.com | 19302 | UDP | 用于发现公共 IP、 验证 NAT 类型。 |
|
stun1.I.google.com |
19302 | UDP | 用于发现公共 IP、 验证 NAT 类型。 |
|
WebRTC 负载平衡器 (**) | 443 | TCP |
用于注册 WebRTC 网关 |
|
CPS 服务器 | WebRTC 负载平衡器 |
443 | TCP |
|
录制节点 | 80 | TCP |
下载录制文件 | |
用户/客户端/Internet | 媒体服务器节点 (*) |
443 | TCP |
TURNS(基于 TLS 的音频视频传输协议) |
3478 | UDP | STUN/TURN |
||
3478 | TCP | STUN/TURN |
||
30000 - 65535 | UDP | SRTP(实时媒体流) |
||
CPS 服务器 | 443 | TCP |
||
WebRTC 负载平衡器 |
443 | TCP |
||
SIP 节点 | Redis | 6379 | TCP |
大多数情况下,SIP 服务在媒体服务器节点上运行 |
Postgres | 5432 | TCP |
||
WebRTC 负载平衡器 |
443 | TCP |
*大多数情况下,媒体服务器具有公共 IP 地址,但在无需通过 Internet 访问 Adobe Connect 的受限环境中,端口应向其专用 IP 地址开放。
**存在可用于将流量路由到多个信令节点并用于 SSL 卸载的外部 WebRTC 负载平衡器。 负载平衡器充当新 WebRTC 服务器以及 CPS 和最终用户之间的接口。
通常通过具有以下配置的外部应用程序负载平衡器完成负载平衡。
HTTPS 端口 443:信令节点 HTTP 端口 18443 - CPS 和最终用户连接到此侦听器,这是新 WebRTC 群集的入口点。
HTTPS 端口 443:信令节点 HTTP 端口 9090 - 由管理员用来连接到 WebRTC 管理网页面板,以配置 TURNS 和 SIP/Telephony。
有关更多信息,请参阅为增强型音频/视频 (WebRTC) 的内部部署设置负载平衡。
增强音频/视频服务器的系统要求
- 操作系统 - Red Hat Enterprise Linux 64 位版本 8.6
- 安装在服务器上的第三方库(开源):
- Podman 4.2.0
- Virtualenv 20.19.0
- Python 3.9
- Pip 21.3.1
- Python 库(pydantic、pyhocon、docker、redis、packaging、psycopg2-binary、python-json-logger、pystun3、coloredlogs、colorama)
典型的音频视频增强设置至少需要 3 台 Red Hat 服务器, 分别用于信令、媒体和录制节点。 基于会议负载的估算器可以为多个媒体服务器、录制和信令节点提供建议。 应用程序负载平衡器将用于 SSL 卸载以及 CPS 与具有信令节点的最终用户客户端之间的通信。
一些基于负载的设置可能只需 2 台服务器,其中录制服务容器可在信令节点上运行。
最常见的 3 种服务器设置具体介绍如下。
- 配置 3 台 Red Hat 服务器。 请参阅硬件估算器进行配置。
- 要想成功安装,用户需为具有 sudo 访问权限的非 root 用户。
- 全新安装 Red Hat 后,创建新的用户 ID。
- 要在 RHEL 上为新用户 ID 启用 sudo,请将此 ID 添加到 wheel 组:
- 运行 sudo,成为 root 用户。
- 运行 usermod -aG,将 your_user_id 添加到 wheel 组。
- 退出登录,然后使用新 ID 重新登录。
- 运行 sudo,成为 root 用户。
- 为信令和录制节点分配静态 IP 地址。
- 为媒体服务器配置并分配公共 IP 地址。 如果使用 1:1 NAT,则应将公共 IP 映射到媒体服务器的专用 IP。
- 为媒体服务器创建公共 DNS 记录。 强烈建议设置 TURNS(通过 TLS 443 进行连接)并为此 FQDN 配置 SSL 证书。
- 打开 3 个节点之间的必要网络端口。 请参阅“网络架构”一节。
- 按照上一节中的说明设置外部应用程序负载平衡器。 此外,还要为负载平衡器设置公共 DNS 记录,并配置 SSL 证书。
复制安装程序 zip 文件
-
-
使用 Jarsigner 验证下载的已签名 zip 文件(可选)。 Jarsigner 随 Java 一起安装。
- 使用命令 [ java -version ] 验证是否已安装 Java。如果已安装 Java,则可以获取 Java 版本的输出。
- 若计算机上未安装 Java,请先完成安装。
sudo yum install java-1.8.0-openjdk-devel - 接下来,在“终端”窗口中复制以下命令,然后按 Enter 键。
jarsigner -verify -verbose NCC_Onprem_12_2_Installer.zip - 验证的输出结果包含以下内容:
- zip 中的文件列表
- 来自 Adobe 的用于身份验证的证书信息
- 若验证成功,输出消息为“已验证 jar”;若验证失败,则输出消息为“未验证 jar”
- 如果证书信息有效,且已打印验证成功的输出消息,则用户可以使用 zip 文件内容继续安装,否则需要联系 Adobe 支持团队。
-
提取 ZIP。确保文件具有相应的权限。
使用以下命令:除非明确指定,否则请勿使用 root/sudo 访问权限运行任何命令。解压缩 NCC_Onprem_12_2_Installer.zip
遍历到安装程序父目录,例如
cd ~/ncc-onprem-installer/
sudo chmod +x ExternalDependencies/install.sh
sudo chmod +x MainInstall.sh
sudo chmod +x check-connectivity.sh
sudo chmod +x uninstall.sh注意:在没有 Internet 访问权限的环境或处于锁定环境中运行安装程序时,请运行以下命令:
sudo chmod +x Externaldependecies/package-util.sh
-
执行依赖项安装脚本。
- 在没有 Internet 访问权限的环境或处于锁定环境中运行安装程序时,请运行以下命令以安装外部依赖项。 如果您可以访问 Internet,请继续执行后续的步骤 2。
遍历到安装程序的父目录,例如,确保您位于 ~/ncc-onprem-installer/ 目录中。
执行 bash ExternalDependencies/package-util.sh --install。 此操作会在特定的计算机环境中安装所有必需的外部依赖项。
需针对各节点执行此操作。
- 遍历到安装程序的父目录,例如,确保您位于 ~/ncc-onprem-installer/ 目录中。
执行 bash ExternalDependencies/install.sh。此操作会在特定的计算机环境中安装所有必需的外部依赖项。
需针对各节点执行此操作。
- 在没有 Internet 访问权限的环境或处于锁定环境中运行安装程序时,请运行以下命令以安装外部依赖项。 如果您可以访问 Internet,请继续执行后续的步骤 2。
安装过程
下文以 WebRTC 环境为例,讲解如何在 3 个不同的 Red Hat 实例 (信令节点、录制节点和媒体服务器节点)上进行安装,详细步骤如下。 请密切注意在 containers.conf 中为各节点说明配置的服务。 您需要在配置文件中为每个节点配置一组特定的服务/容器。
**在实验室系统中,您可以在一个 Linux 实例上安装所有节点(信令、录制和媒体服务器节点)。 在这种情况下,您可以在 containers.conf 中将环境所需的全部服务器/容器数量设置为 1。
信令节点
您通常可以在信令节点上运行以下服务。 将每项服务都作为一个 docker 容器运行。
- config(配置服务)
- cas(新的 Connect API 服务)
- apigw(API 网关/路由器)
- liveswitch-gateway(WebRTC 网关服务)
信令节点通常位于可通过外部负载平衡器访问 Connect 客户端的专用子网中。
过程
-
编辑主机文件
在信令节点上更新主机文件。 您可以使用 nano 或 vi 等文本编辑器。
- 使用 nano 或 vi 编辑器(例如 sudo vi /etc/hosts)打开 /etc/hosts 文件
- 在末尾添加以下行。 将 <private-ip> 替换为主机的专用 IP 地址。请注意以下各单词之间的空格。
<private-ip> cas.ncc.svc.cluster.local gw.fm.ncc.internal config.ncc.svc.cluster.local pi.ncc.svc.cluster.local auth.ncc.svc.cluster.local
注意:更改示例 IP 值以匹配您的环境。
192.168.1.100 cas.ncc.svc.cluster.local gw.fm.ncc.internal config.ncc.svc.cluster.local pi.ncc.svc.cluster.local auth.ncc.svc.cluster.local
- 使用 nano 或 vi 编辑器(例如 sudo vi /etc/hosts)打开 /etc/hosts 文件
-
编辑配置文件
- 编辑位于 ncc-onprem-installer/Config/config.conf 的配置文件。文件编辑的相关说明将以注释形式添加到配置文件中。 需要分别为每台主机编辑此文件。
- 接下来,编辑 ncc-onprem-installer/Config/containers.conf。 文件编辑的相关说明将以注释形式添加到文件中。需要分别为每台主机编辑此文件。 具体情况取决于要安装的服务和要部署的容器数量。
- 您可以在典型的信令节点上安装以下服务:
- casServer
- configService
- apiGateway
- gatewayServer
- redis
- postgres
- lb(可选。 有关其他配置步骤,请参阅下文“负载平衡器”一节。)
- 请将上述所有服务的数量设置为 1,所有其他服务的数量设置为 0。
- 重要提示:更改 Config.conf 后,请将 configService 的 restart 参数设置为 1。
- 在需要多个信令节点的设置中,仅需将 Redis 和 Postgres 数据库安装在第一个节点上。
- 编辑位于 ncc-onprem-installer/Config/config.conf 的配置文件。文件编辑的相关说明将以注释形式添加到配置文件中。 需要分别为每台主机编辑此文件。
-
执行主安装程序脚本。
切换到主安装程序目录 cd ~/ncc-onprem-installer/
执行主安装程序脚本 bash MainInstall.sh。 等待确认消息。
若安装成功,则消息为:
2023-01-31 18:21:34,033 : INFO : Main : 55 : Installation successful。
若安装失败,则消息为:
2023-01-31 20:04:44,849 : ERROR : Main : 59 : Installation failed。 有关详细信息,请查看 installer.log。请参阅“疑难解答”一节。
-
验证安装情况
- 运行状况检查 API
要检查节点的运行状况,可以浏览以下网址:http://<private_ip>:18443/health。 正常的响应必须为“200 OK {"apigw":"ok"}”。
要通过 RedHat 计算机进行验证,可以使用 CURL 命令
, 例如,curl -v http://172.31.56.203:18443/health - 验证容器状态
在“终端”窗口中,运行 docker ps 命令。
输出应如下所示。不管容器处于何种状态,都不应重新启动。
- 运行状况检查 API
-
使用捆绑的 Nginx 负载平衡器(又称负载平衡器容器)
安装程序现已与开源 Nginx 容器绑定,可实现 SSL 卸载。
该操作仅适用于实验室或仅具有 1 个信令节点的小型设置。
应在信令节点上安装负载平衡器。
使用此捆绑的负载平衡器时,信令节点应位于公共子网(或 DMZ)中,并已为这些节点分配一个公共 IP 或已通过 1:1 NAT 映射到公共 IP。 客户端通过端口 443 上的负载平衡器 URL 直接连接到节点。
在无需通过 Internet 访问 Connect 的设置中,信令节点应该位于专用子网中,但仍可从端口 443 的内部网络完成访问。
要求:
- 公共/专用 DNS 记录取决于用例
- DNS 记录的 SSL 证书
- SSL 证书的私钥
负载平衡器使用步骤:
- mkdir -p ~/connect/loadbalancer/certs
- 将 SSL 证书(已为信令节点的 FQDN 颁布)和私钥复制到证书目录, 确保二者名称分别为 cert.crt 和 key.key。
- 在 config.conf 文件的主机名 > 负载平衡器以及主机名 > FQDN 部分(现为 WebRTC 群集的入口点)添加 FQDN。
- 在 container.conf 文件中,将负载平衡器的数量更新为 1。
- 接下来,运行 bash MainInstall.sh。
要将通配符证书用于 AWS EC2 实例,请按照以下步骤操作:
- 在 Route 53 中创建 A 记录。 例如,如果通配符证书为 *.example.com,则将 A 记录创建为 webrtc.example.com,并将其映射到 EC2 实例的弹性 IP 中。
- 将通配符证书和密钥复制到 ~/connect/loadbalancer/certs 目录。确保二者名称分别为 cert.crt 和 key.key。
- 添加 FQDN。 例如,在主机名 > 负载平衡器以及主机名 > FQDN 部分添加 webrtc.example.com。
- 在 container.conf 文件中,将负载平衡器的数量更新为 1。
- 接下来,运行 bash MainInstall.sh。
您可以在媒体节点上运行以下服务:
- liveswitch-media-server(媒体服务器) – 用于音频视频增强
- liveswitch-sip-connector(SIP 服务) – 用于使用 SIP
媒体节点应位于公共子网(或 DMZ)中,并已为这些节点分配一个公共 IP 或已通过 1:1 NAT 映射到公共 IP。 客户端直接连接到媒体节点的公共 IP。
增强型音频视频 (WebRTC) 客户端使用 ICE 方法进行连接,并尝试通过下列端口和协议与媒体服务器建立音频视频流:
- 30000 – 65535 范围内的 UDP 端口可处理实时媒体流。
- UDP 和 TCP 端口 3478 可处理 STUN 和 TURN 流量,以帮助客户端通过防火墙实现流媒体传输。
- 通过端口 443 的 TLS 启用 TURNS,确保在受限网络中进行流媒体传输时具有高可用性。
- C12 WebRTC 客户端会首先尝试所有选项(TCP 和 UDP),然后再切换到端口 443 的 TLS。
- UDP 和 TCP 端口 5060 可处理用于中继/PBX 注册和入站/出站拨叫的 SIP 流量。 (如果使用 SIP,必须执行此步骤)
过程
-
执行主安装程序脚本。
切换到主安装程序目录 cd ~/ncc-onprem-installer/
执行主安装程序脚本 bash MainInstall.sh。 等待确认消息。
若安装成功,则消息为:
2023-01-31 18:21:34,033 : INFO : Main : 55 : Installation successful。
若安装失败,则消息为:
2023-01-31 20:04:44,849 : ERROR : Main : 59 : Installation failed。有关详细信息,请查看 installer.log。请参阅“疑难解答”一节。
-
验证安装情况
在“终端”窗口中,运行 docker ps 命令,确保 liveswitch-media-server 容器正在运行。
录制节点
录制节点应在私密网络中运行。 在录制节点上,可以运行以下一个或多个实例:
- hcr(录制容器。 hcr 容器数量决定可以同时运行的录制实例数量)
- recordingserver(用于向 CPS 提供录制文件的 Web 服务器。 每个录制节点提供 1 个录制文件)
可以在下列位置访问录制节点:
- 本地网络的 TCP 80,以便 CPS 可以下载录制内容。
- 本地网络的 TCP 5000-5100,将各个录制容器绑定到该范围内的主机端口。
- 本地网络的 TCP 8090。
为保证录制成功,录制节点应能够访问“媒体节点”一节中列出的公共 IP 端口上的媒体节点以及端口 443 的 CPS。
过程
-
编辑配置文件
- 编辑 config.conf 文件或从信令节点 ~/ ncc-onprem-installer /Config/config.conf 进行复制。
- 接下来,编辑 ~/ncc-onprem-installer/Config/containers.conf。 文件编辑的相关说明将以注释形式添加到文件中。
- 您可以在录制服务器节点上安装以下服务:
- recordingContainer
- recordingserver
- recordingContainer
- 请将 recordingContainer 的数量设置为大于等于 1,将 recordingserver 的数量设置为 1,将其他节点的数量设置为 0。
-
执行主安装程序脚本
切换到主安装程序目录 cd ~/ncc-onprem-installer/ncc-onprem-installer/。
执行主安装程序脚本 bash MainInstall.sh。等待确认消息。
若安装成功,则消息为:
2023-01-31 18:21:34,033 : INFO : Main : 55 : Installation successful。
若安装失败,则消息为:
2023-01-31 20:04:44,849 : ERROR : Main : 59 : Installation failed。有关详细信息,请查看 installer.log。请参阅“疑难解答”一节。
-
验证安装情况
在“终端”窗口中,运行命令 B ,确保 hcr 和 recordingserver 容器正在运行。
准备环境
复制安装程序 zip 文件.
-
将 NCC_Onprem_12_2_Installer.zip 复制到所有节点的主目录,
例如,scp NCC_Onprem_12_2_Installer.zip -i ssh_key.pem my-user@webrtc.corp.example.com:/home/my-user/ -
使用 Jarsigner 验证下载的已签名 zip 文件(可选)。 Jarsigner 随 Java 一起安装。
- 使用命令 [ java -version ] 验证是否已安装 Java。如果已安装 Java,则可以获取 Java 版本的输出。
- 若计算机上未安装 Java,请先完成安装。
sudo yum install java-1.8.0-openjdk-devel - 接下来,在“终端”窗口中复制以下命令,然后按 Enter 键。
jarsigner -verify -verbose NCC_Onprem_12_2_Installer.zip - 验证的输出结果包含以下内容:
- zip 中的文件列表
- 来自 Adobe 的用于身份验证的证书信息
- 若验证成功,输出消息为“已验证 jar”;若验证失败,则输出消息为“未验证 jar”
- 如果证书信息有效,且已打印验证成功的输出消息,则用户可以使用 zip 文件内容继续安装,否则需要联系 Adobe 支持团队。
-
提取 ZIP。确保文件具有相应的权限。
使用以下命令:除非明确指定,否则请勿使用 root/sudo 访问权限运行任何命令。解压缩 NCC_Onprem_12_2_Installer.zip
遍历到安装程序父目录,例如
cd ~/ncc-onprem-installer/
sudo chmod +x ExternalDependencies/install.sh
sudo chmod +x MainInstall.sh
sudo chmod +x check-connectivity.sh
sudo chmod +x uninstall.sh -
执行依赖项安装脚本。
遍历到安装程序的父目录,例如,
确保您位于 ~/ncc-onprem-installer/ 目录中
执行 bash ExternalDependencies/install.sh。此操作会在特定的计算机环境中安装所有必需的外部依赖项。需针对各节点执行此操作。
升级过程需要停机。
信令节点
您通常可以在信令节点上运行以下服务。 将每项服务都作为一个 docker 容器运行。
- config(配置服务)
- cas(新的 Connect API 服务)
- apigw(API 网关/路由器)
- liveswitch-gateway(WebRTC 网关服务)
过程
-
编辑配置文件
- 编辑位于 ncc-onprem-installer/Config/config.conf 的配置文件。文件编辑的相关说明将以注释形式添加到配置文件中。 需要分别为每台主机编辑此文件。 您可以参考之前安装的 config.conf 文件。 请勿用旧文件替换新文件。 最新版本包含重要更新。
- 接下来,编辑 ncc-onprem-installer/Config/containers.conf。文件编辑的相关说明将以注释形式添加到文件中。需要分别为每台主机编辑此文件。
- 升级信令节点时,通常需要安装以下服务:
- casServer
- configService
- apiGateway
- gatewayServer
- 请参考之前安装中的文件,确定要安装的服务以及要部署的容器数量。 将所有之前安装的服务的数量设置为 1,将所有其他服务的数量设置为 0。
- 重要提示:更改 Config.conf 文件后或使用最新版本的安装程序进行升级时,请将 configService 的 restart 参数设置为 1。
- 重要提示:升级时,未安装随附的 Redis 和 Postgres 数据库,因此请在 containers.conf 文件中将其数量保留为 0。
-
切换到主安装程序目录 cd ~/ncc-onprem-installer/
执行主安装程序脚本 bash MainInstall.sh。 安装程序会自动将服务升级到最新版本。 等待确认消息。
若安装成功,则消息为:
2023-01-31 18:21:34,033 : INFO : Main : 55 : Installation successful。
若安装失败,则消息为:
2023-01-31 20:04:44,849 : ERROR : Main : 59 : Installation failed。有关详细信息,请查看 installer.log。 -
验证安装情况
- 运行状况检查 API
要检查节点的运行状况,可以浏览以下网址:http://<private_ip>:18443/health。 正常的响应必须为“200 OK {"apigw":"ok"}”。 要通过 RedHat 计算机进行验证,可以使用 CURL 命令,
例如,curl -v http://172.31.56.203:18443/health 验证容器状态
在“终端”窗口中,运行 docker ps 命令
输出应如下所示。不管容器处于何种状态,都不应重新启动。
- 运行状况检查 API
媒体服务器节点
您可以在媒体节点上运行以下服务:
- liveswitch-media-server(媒体服务器) – 用于音频视频增强
- liveswitch-sip-connector(SIP 服务) – 用于使用 SIP
过程
-
编辑配置文件。
-
编辑 config.conf 文件或从信令节点 ~/ncc-onprem-installer /Config/config.conf 进行复制。您可以参考之前安装的 config.conf 文件。 请勿用旧文件替换新文件。 最新版本包含重要更新。
注意:如果您处于受限环境中,请在 gatewayServer 部分中将 externalStunUrls0 和 externalStunUrls1 条目留空。 例如,externalStunUrls0=""、externalStunUrls1=""。
-
接下来,编辑 ~/ncc-onprem-installer/Config/containers.conf。文件编辑的相关说明将以注释形式添加到文件中。
-
接下来,编辑 ~/ncc-onprem-installer/Config/containers.conf。文件编辑的相关说明将以注释形式添加到文件中。
-
您可以在媒体服务器节点上升级以下服务:
- mediaServer
- sipServer(如需 SIP/Telephony)
-
请参考之前安装中的文件,确定要安装的服务以及要部署的容器数量。 将所有之前安装的服务的数量设置为 1,将所有其他服务的数量设置为 0。
-
在 mediaServer 块中,更新 mediaNodePublicIP 和 mediaNodePublicFQDN 的值。有关更多详细信息,请参阅内联注释。
-
-
执行主安装程序脚本
切换到主安装程序目录 cd ~/ncc-onprem-installer/
执行主安装程序脚本 bash MainInstall.sh。 安装程序会自动将服务升级到最新版本。 等待确认消息。
若安装成功,则消息为:
2023-01-31 18:21:34,033 : INFO : Main : 55 : Installation successful。
若安装失败,则消息为:
2023-01-31 20:04:44,849 : ERROR : Main : 59 : Installation failed。 有关详细信息,请查看 installer.log。请参阅“疑难解答”一节。
-
验证安装情况
在“终端”窗口中,运行 docker ps 命令,确保 liveswitch-media-server 和 liveswitch-sip-connector(可选安装)容器正在运行。
录制节点
录制节点应在私密网络中运行。 在录制节点上,可以运行以下一个或多个实例:
hcr(录制容器。 hcr 容器数量等于可以运行的并发录制实例数量。)
过程
-
编辑配置文件
- 编辑 config.conf 文件或从信令节点 ~/ ncc-onprem-installer /Config/config.conf 进行复制。 您可以参考之前安装的 config.conf 文件。 请勿用旧文件替换新文件。 最新版本包含重要更新。
- 接下来,编辑 ~/ncc-onprem-installer/Config/containers.conf。 文件编辑的相关说明将以注释形式添加到文件中。
- 您可以在录制服务器节点上升级以下服务:
- recordingContainer
- 请参考先前安装目录中的 containers.conf,并将 recordingContainer 的数量设置为与之相同的数值,将所有其他服务的数量设置为 0。
- 编辑 config.conf 文件或从信令节点 ~/ ncc-onprem-installer /Config/config.conf 进行复制。 您可以参考之前安装的 config.conf 文件。 请勿用旧文件替换新文件。 最新版本包含重要更新。
-
执行主安装程序脚本。
切换到主安装程序目录 cd ~/ncc-onprem-installer/ncc-onprem-installer/
执行主安装程序脚本 bash MainInstall.sh。 安装程序会自动将服务升级到最新版本。 等待确认消息。
若安装成功,则消息为:
2023-01-31 18:21:34,033 : INFO : Main : 55 : Installation successful。
若安装失败,则消息为:
2023-01-31 20:04:44,849 : ERROR : Main : 59 : Installation failed。有关详细信息,请查看 installer.log。请参阅“疑难解答”一节。
-
验证安装情况
在“终端”窗口中,运行 docker ps 命令,确保 hcr 容器正在运行。
需要在所有 Adobe Connect 12 (CPS) 服务器上执行以下步骤:
- 在位于 <Installation_Dir>/Connect/custom.ini 的所有 Connect 服务器的 custom.ini 中添加以下配置。
# CAS 发现 URL 列表(以逗号分隔)
# 可能的值
WEBRTC_CAS_DISCOVERY_URLS=http://<Signalling Node IP >:18443/api/cps/ingest
WEBRTC_CAS_DISCOVERY_URLS=http://<Load Balancer URL>/api/cps/ingest
# CAS 共享密钥,用于签署对 CAS 的请求。 输入您在信令节点 config.conf 文件 hmac 部分设置的值。
WEBRTC_CAS_SHARED_SECRET=CorrectHorseBatteryStaple - 保存文件并重新启动 connectpro 服务。
安装之后的过程
-
验证网络连接
运行连接测试工作流程,以验证不同节点之间的网络连接
- 登录信令节点。
- 遍历到安装程序父目录,例如
cd ~/ncc-onprem-installer/ncc-onprem-installer/ - 运行 bash check-connectivity.sh
命令。 - 在运行基本网络测试时,连接工具会使用 Config.conf 文件中提供的值,例如:
- 不同服务之间的 HTTP 请求
- 必要的 TCP 和 UDP 端口上的网络连接测试
- 名称解析
- 数据库连接
- 此测试检查节点和服务之间的必要连接,然后共享结果,以帮助诊断网络连接问题。
-
测试 Adobe Connect 会议的音频视频增强功能
- 创建新会议,确保已选择“增强型音频/视频”选项。
- 加入会议室,打开麦克风和摄像头。
- 如果情况允许,亦请从其他电脑或移动设备加入会议室,验证音频视频交流是否正常。
- 尝试屏幕共享。
- 开始录制。等待 30 秒,然后按下“停止”。 接下来,验证是否可以访问录制内容。
其他功能设置
配置 SIP
若要配置 SIP,您必须访问 FM 管理网页面板。
-
访问 http://<your-load-balancer-address>:9090/admin,使用在 config.conf 中配置的用户名和密码登录。如果未使用负载平衡器,请浏览 http://<Signalling_Node-address>:9090/admin。
-
访问应用程序,然后访问 Adobe Connect,随后向下滚动至频道。为 default (*) 和 broadcast-* 频道组配置 SIP 出站拨叫者 ID。
-
从主菜单中转到部署并编辑 SIP 配置。
将 TURNS 证书上传至 FM 管理面板
若要为 TURNS 绑定提供 SSL 终止,可以将证书上传到 FM 管理面板。
证书必须采取 PFX 格式。
请执行下列步骤:
-
访问 http://<your-load-balancer-address>:9090/admin,使用在 config.conf 中配置的用户名和密码登录。如果未使用负载平衡器,请浏览 http://<Signalling_Node-address>:9090/admin。
-
转到证书。
-
在文件证书项下选中 + 号并上传您正在使用的域的证书。
配置 TURNS 绑定
若要进行安全的 TURN 通信,必须执行此操作。
若您已按上一部分所述上传证书,请执行以下步骤:
-
导航至部署,然后选择默认。
-
向下滚动至高级配置部分。
-
使用您之前上传的证书配置 TURNS 绑定。
卸载
-
更改为安装程序根目录(根目录包含 uninstall.sh)cd ~/ncc_onprem_installer。
-
执行 bash uninstall.sh。
-
要从信令节点中删除 Postgres 和 Redis 数据库数据目录,请运行以下命令。
sudo rm -rf ~/connect
此操作会从系统中删除所有 NCC 组件和图像, 但外部依赖项(Python、PIP、Virtualenv 和 Python 包)不会被删除。
docker.errors.DockerException: Error while fetching server API version: ('Connection aborted.', FileNotFoundError(2, 'No such file or directory'))
如果未正确设置 DOCKER_HOST 环境变量,则会显示此错误消息。 请执行下列步骤:
- 遍历到安装程序父目录,例如
cd ~/ncc-onprem-installer/
- 运行 source ~/.bash_profile 命令
如果上述步骤无法解决该问题,请执行以下步骤:
- 运行 sudo yum remove podman-remote 命令,删除 Podman
- 退出当前用户并重新登录。
- 遍历到安装程序父目录,例如
cd ~/ncc-onprem-installer/
- 执行 bash ExternalDependencies/install.sh。
除非明确指定,否则请勿使用 root/sudo 访问权限运行任何命令。
2023-03-22 03:27:12 : ERROR : Main : 48 : Failed to start Postgres。
Postgres docker 容器由于权限问题而无法挂载主机卷时,系统将显示此错误消息。 请执行下列步骤:
- 遍历到安装程序父目录,例如
cd ~/ncc-onprem-installer/ - 运行 docker load -i images/postgres.tar.gz 命令
- 然后运行:
docker run -d \
--env POSTGRES_PASSWORD='PostPass1234' \
--volume ~/connect/postgres/data:/var/lib/postgresql/data \
--publish 5432:5432 \
--network host \
--user 0 \
--restart always \
--name postgres \
docker-connect-release.dr-uw2.adobeitc.com/ncc-onprem/postgres:12.2 - 此操作将修复主机目录中的权限问题。
- 接下来,运行以下命令,删除 Postgres docker 容器。
docker rm -f postgres - 最后,再次运行 MainInstaller。
bash MainInstall.sh
Media Server 需要 1:1 NAT,这意味着 Media Server 在互联网上的任何流量出入口都需要使用公共 IP。 如果您在路由器或防火墙上为 Media Server 配置了 1:1 NAT,则 Media Server 会自动寻找其公共 IP 并使用 STUN 协议。 请进入 WebRTC 网关的管理界面,确保 Media Server 可以检测到其公共 IP 地址。
https://adminwebrtc.yourdomain.com/admin/#/servers
即使 1:1 NAT 工作正常,仍然无法从客户端访问 Media Server
WebRTC 客户端使用 ICE 并按照以下顺序与 Media Server 建立音视频流:
UDP(端口范围为 35000 至 65535)
TCP(端口 3478)
TLS(端口 443)
C12 WebRTC 客户端会首先尝试所有选项(TCP 和 UDP),然后再切换到 443 端口的 TLS
Connect 12.2 默认为假设 CPS、WebRTC 和 New Connect Cluster (NCC) 位于同一 VLAN/VPC 或广播域。如果它们位于不同的网络中,请确保 CPS 和 NCC/WebRTC 之间具有正确的第三层路由,以便建立双向网络连接。
要检查 CPS 和 NCC 之间的网络连接,请使用 CURL 和 Telnet。
CPS 和 NCC 连接仅通过 HTTPS 工作。
FMGW 容器日志中显示以下错误:第二个 Redis 实例被设置为作为副本运行。
ERROR [FM.LiveSwitch.Signalling.Server.IdleThread][-] 2022-07-21T12:46:29.439Z 闲置线程中发生意外错误。
StackExchange.Redis.RedisServerException: READONLY 您无法对只读副本进行写入。
解决方案:
打开 Redis 服务对应的配置文件,将属性值“slave-read-only”修改为“no”。
作为一种解决方法,请执行以下步骤:
- cd ncc-onprem-installer。
- mv Images images。
- sed -i 's/Images\//images\//' Installer/utils/global_constants.py。
- 卸载 - 执行 uninstall.sh。
- 重新安装 - 执行 MainInstall.sh。
现在可以忽略日志中的 InfluxDB 异常。
重新启动实例并重新启动 docker 容器后,如果查看 CAS 容器中的日志情况,则会发现存在异常。
要解决此问题,请重新启动 CAS 容器。 输入 docker restart cas。