【问题标题】:Will mesos & zookeeper uses random ports to communicate with peersmesos & zookeeper 会使用随机端口与对等方通信吗
【发布时间】:2016-05-17 09:10:04
【问题描述】:
  • 我是 mesos 新手,我已经配置了带有 3 个主节点的 mesos 集群设置 以及 rhel6.7 机器中的 2 个从站
  • 我使用了可用的 rpm 包来安装 mesos。我已经下载了 zookeeper.tar.gz 并使用了 zookeeper 的二进制文件,它的配置是

  • 使用以下参数启动 mesos-master

  • 添加了一些规则来接受端口(5050、8080、2181、2888、3888)的传入和传出。我已使用以下步骤添加规则。
  • 启动了三个主服务器,我看到了日志,无法相互通信,三个主服务器正在崩溃,然后我刷新(iptales -F)所有规则并启动了三个服务器,它能够通信和工作正确地,我在领先的 mesos master 上做了 netstat 以了解哪些端口用于通信。我认为它使用了除 2181、5050、2888、3888 和 8080 之外的更多端口,我看到更多端口用于通信。我已附上屏幕截图。
  • 生产环境有防火墙,生产环境不能允许所有端口
  • mesos 和 zookeepr 是否会使用随机端口进行通信(在
    使用 39958,38574,40097 等的屏幕截图?
  • 如果它使用随机端口,我们可以有 forceport 选项来避免 使用来自 zookeeper 或 mesos 的随机端口? - 这类问题有解决办法吗? - 有人可以提出解决此问题的建议吗?

【问题讨论】:

    标签: apache-zookeeper mesos mesosphere rhel6


    【解决方案1】:

    由于 Zookeeper 服务器既充当客户端(尝试连接到其他服务器)又充当服务器(侦听来自其他 ZK 服务器的连接),因此在尝试连接到另一台服务器(作为客户端)时必须选择一个临时端口。

    此临时端口取自以下命令的输出定义的范围。

    sysctl net.ipv4.ip_local_port_range

    即:对于我的机器来说,端口范围是

    net.ipv4.ip_local_port_range = 32768 60999

    我们可以通过使用以下命令更改端口范围来减少临时端口。

    sudo sysctl -w net.ipv4.ip_local_port_range="1024 1050"

    【讨论】:

    • 没关系,但是如何将其绑定到特定接口?它默认绑定到 0.0.0.0,这会将端口暴露给世界。我很乐意让它只在内部网络上收听。
    猜你喜欢
    • 1970-01-01
    • 2015-12-05
    • 1970-01-01
    • 1970-01-01
    • 2021-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-31
    相关资源
    最近更新 更多