您可以通过 Configure Maven Artifact 面板上的复选框为新的 StreamBase 项目启用 Docker 支持。
与非 Docker 项目相比,启用 Docker 的 StreamBase 应用程序项目具有以下附加功能。
源码/主/泊坞窗
您可以在创建 Docker 映像之前编辑这些文件以指定不同的默认值。
例如,考虑 的顶部的这段话src/main/docker/base/Dockerfile。要为 Docker 容器中的节点指定不同的管理用户名,您可以更改tibco为另一个名称。
#
# 设置环境
#
ENV STREAMING_PRODUCT_HOME /opt/tibco/streambase
ENV STREAMING_RUNTIME_HOME /var/opt/tibco/streambase
ENV JAVA_HOME /etc/alternatives/jre
环境路径 /bin:/usr/sbin:${STREAMING_PRODUCT_HOME}/distrib/tibco/bin
ENV USER_NAME tibco
源代码/主要/配置
支持 Docker 的项目具有三个使用默认设置创建的 HOCON 配置文件,用于配置容器化的 StreamBase 节点:
应用程序配置文件
默认模式配置文件
安全.conf
hosts中属性的域名值security.conf取自你在创建项目时指定的dockerDomain属性。默认值为example.com。
// 默认基于主机的安全性
//
名称 = “docker_1st”
版本 =“1.0.0”
type = "com.tibco.ep.dtm.configuration.security"
配置= {
// 使 docker 网络中的所有节点都受信任
// 访问时无需任何凭据
// 远程节点
//
可信主机 = {
hosts = [ "*.example.com" ]
}
}
要创建和运行多个无需用户身份验证即可相互通信的 Docker 容器化 StreamBase 节点,您必须配置 Docker 网络设置和 StreamBase 运行时设置,如下所示:
使用docker run命令 --network的--hostname选项配置 Docker 网络设置。
为您的 StreamBase Runtime 节点指定同一网络中的 TrustedHosts 成员身份。
dockerDomain当您在创建 StreamBase Application 项目时指定 a 时,就会为您完成此操作。Studio 获取您提供的域名并将其输入到security.conf为该项目创建的配置文件的 TrustedHosts 根对象中。
--network在Docker 选项和 TrustedHosts 配置中使用相同的域名。
以下示例配置了一个三节点集群,每个节点都运行相同的docker_1stStreamBase 应用程序。
docker 网络创建 example.com
docker run -d --name nodeA -e STREAMING_NODENAME=A.cluster \
--network example.com --hostname A.example.com docker_1st:1.0.0
docker run -d --name nodeB -e STREAMING_NODENAME=B.cluster \
--network example.com --hostname B.example.com docker_1st:1.0.0
docker run -d --name nodeC -e STREAMING_NODENAME=C.cluster \
--network example.com --hostname C.example.com docker_1st:1.0.0
这个例子是人为的,因为三个节点只包含没有HA配置的firstappEventFlow 片段。availabilityZones您可以添加该配置并重新创建 Docker 映像。如果您想了解更多相关知识,不妨来关注一下本站的Docker教程技术文档,里面还有更丰富的知识等着大家去学习,希望对大家能够有所帮助。
你适合学Java吗?4大专业测评方法
代码逻辑 吸收能力 技术学习能力 综合素质
先测评确定适合在学习