【问题标题】:How to configure activemq-replicatedLevelDB to configure instance to connect to specific port of master/slave如何配置activemq-replicatedLevelDB配置实例连接到主/从的特定端口
【发布时间】:2017-03-03 18:07:36
【问题描述】:

我是 activemq-replicatedLevelDB 的新手,所以根据我有限的理解,我可能会认为事情是错误的。

我正在使用 zookeeper 设置 3 个 activemq 实例,然后确定 activemq 实例中的哪个是 AWS 中的主实例。 Zookeeper 部署在私有子网中,activemq 部署在公共子网中,zookeeper 和activemq 通信没有问题。

出于安全目的:

问题/问题: 我找不到在哪里可以配置这些 activemq 实例应该相互通信的端口。

问题原因: 我需要限制这些 activemq 实例打开的可用端口。而且我不能简单地允许来自公共子网的所有访问

以下端口限制示例

  • 端口 22 应该为 ssh 访问打开
  • zookeeper 客户端端口 (2181) 应该只对访问开放 从这些 activemq 实例中
  • 应该可以从特定来源访问端口 8161

我正在使用安全组来限制 AWS 中的这些访问。我尝试允许公共子网中的所有端口可访问,这允许 activemq 知道其他 activemq 实例是活动的,并且它们能够选择主/从。每次从头开始设置后,端口 45818 都不是同一个端口。所以我认为这是随机的。

下面的示例日志

Promoted to master
Using the pure java LevelDB implementation.
Master started: tcp://**.*.*.**:45818

一旦我删除了那个端口设置(允许所有访问),我得到了下面的堆栈跟踪

Not enough cluster members have reported their update positions yet.
 org.apache.activemq.leveldb.replicated.MasterElector

如果我对上面stacktrace的理解是对的,说明当前activemq不知道其他activemq实例的存在。所以我需要知道在检查其他 activemq 实例时如何配置这些 activemq 的端口,以便我可以限制/允许访问。

这是我的activemq的配置,指向zookeeper地址。其他配置为默认值。

activemq 版本:5.13.4

<persistenceAdapter>
        <replicatedLevelDB directory="activemq-data"
            replicas="3"
            bind="tcp://0.0.0.0:0"
            zkAddress="testzookeeperip1:2181,testzookeeperip2:2181,testzookeeperip3:2181"
            hostname="testhostnameofactivemqinstance"
        />
    </persistenceAdapter>

如果缺少任何信息,我会尽快更新此问题。谢谢

【问题讨论】:

    标签: amazon-web-services activemq apache-zookeeper


    【解决方案1】:

    这是一个提示而不是一个合格的答案,但太大而无法评论。

    您使用bind="tcp:0.0.0.0:0" 配置了动态端口。我没有在这个配置设置上使用固定端口,但是配置文档说,你可以设置它。

    绑定端口将用于与 master 的复制协议,因此显然不能将其切断,但只允许 zk 机器在那里通信应该是可以的。

    我没有分析代理之间的流量,但据我了解复制的 LevelDB,ZK 决定活动的主节点,而不是代理。因此,该端口上的代理之间应该没有通信。

    外部代理地址是在配置文件的&lt;broker&gt; 部分的transportConnectors 元素上配置的,但我猜你已经知道了。

    我建议,您将绑定配置为固定端口,并允许从 ZK 到该端口的通信,如果需要,从集群合作伙伴那里进行通信。客户端只能访问传输端口。允许与 ZK 通信,应该就是这样。

    【讨论】:

    猜你喜欢
    • 2016-11-22
    • 2014-12-27
    • 2020-08-19
    • 1970-01-01
    • 2019-05-04
    • 2020-06-21
    • 2020-09-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多