Uploaded image for project: 'Accumulo'
  1. Accumulo
  2. ACCUMULO-1985

Cannot bind monitor on remote host to all interfaces

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 1.5.0
    • Fix Version/s: 1.5.1, 1.6.0
    • Component/s: scripts
    • Labels:
      None

      Description

      To get the monitor to bind on all interfaces (typically, localhost and the public address), you can specify 0.0.0.0 in conf/monitor.

      However, because 0.0.0.0 is also used in the ssh command to start the monitor on a remote host, you can't get the monitor to start on all interfaces and on another host.

        Issue Links

          Activity

          Hide
          elserj Josh Elser added a comment -

          Introduced new variable: {{ACCUMULO_MONITOR_BIND_ALL}.

          When "true", the monitor will be started with an address of "0.0.0.0" instead of the host entry from $ACCUMULO_CONF_DIR/monitor.

          Show
          elserj Josh Elser added a comment - Introduced new variable: {{ACCUMULO_MONITOR_BIND_ALL}. When "true", the monitor will be started with an address of "0.0.0.0" instead of the host entry from $ACCUMULO_CONF_DIR/monitor.
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 7655de68fa94a379afe3ed4eb65c16c060b7e475 in branch refs/heads/master from Josh Elser
          [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=7655de6 ]

          ACCUMULO-1985 Allow the monitor to bind to all network interfaces.

          Create a new configuration parameter that users can defined in accumulo-env.sh
          that will, when starting the monitor process, override the value provided to the
          --address option from the hostname to "0.0.0.0". We can't just put "0.0.0.0" in
          conf/monitor as the scripts use each line in conf/monitor as the host to SSH to
          and this would break starting the monitor on a remote host.

          Show
          jira-bot ASF subversion and git services added a comment - Commit 7655de68fa94a379afe3ed4eb65c16c060b7e475 in branch refs/heads/master from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=7655de6 ] ACCUMULO-1985 Allow the monitor to bind to all network interfaces. Create a new configuration parameter that users can defined in accumulo-env.sh that will, when starting the monitor process, override the value provided to the --address option from the hostname to "0.0.0.0". We can't just put "0.0.0.0" in conf/monitor as the scripts use each line in conf/monitor as the host to SSH to and this would break starting the monitor on a remote host.
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 7655de68fa94a379afe3ed4eb65c16c060b7e475 in branch refs/heads/1.6.0-SNAPSHOT from Josh Elser
          [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=7655de6 ]

          ACCUMULO-1985 Allow the monitor to bind to all network interfaces.

          Create a new configuration parameter that users can defined in accumulo-env.sh
          that will, when starting the monitor process, override the value provided to the
          --address option from the hostname to "0.0.0.0". We can't just put "0.0.0.0" in
          conf/monitor as the scripts use each line in conf/monitor as the host to SSH to
          and this would break starting the monitor on a remote host.

          Show
          jira-bot ASF subversion and git services added a comment - Commit 7655de68fa94a379afe3ed4eb65c16c060b7e475 in branch refs/heads/1.6.0-SNAPSHOT from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=7655de6 ] ACCUMULO-1985 Allow the monitor to bind to all network interfaces. Create a new configuration parameter that users can defined in accumulo-env.sh that will, when starting the monitor process, override the value provided to the --address option from the hostname to "0.0.0.0". We can't just put "0.0.0.0" in conf/monitor as the scripts use each line in conf/monitor as the host to SSH to and this would break starting the monitor on a remote host.
          Hide
          jira-bot ASF subversion and git services added a comment -

          Commit 7655de68fa94a379afe3ed4eb65c16c060b7e475 in branch refs/heads/1.5.1-SNAPSHOT from Josh Elser
          [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=7655de6 ]

          ACCUMULO-1985 Allow the monitor to bind to all network interfaces.

          Create a new configuration parameter that users can defined in accumulo-env.sh
          that will, when starting the monitor process, override the value provided to the
          --address option from the hostname to "0.0.0.0". We can't just put "0.0.0.0" in
          conf/monitor as the scripts use each line in conf/monitor as the host to SSH to
          and this would break starting the monitor on a remote host.

          Show
          jira-bot ASF subversion and git services added a comment - Commit 7655de68fa94a379afe3ed4eb65c16c060b7e475 in branch refs/heads/1.5.1-SNAPSHOT from Josh Elser [ https://git-wip-us.apache.org/repos/asf?p=accumulo.git;h=7655de6 ] ACCUMULO-1985 Allow the monitor to bind to all network interfaces. Create a new configuration parameter that users can defined in accumulo-env.sh that will, when starting the monitor process, override the value provided to the --address option from the hostname to "0.0.0.0". We can't just put "0.0.0.0" in conf/monitor as the scripts use each line in conf/monitor as the host to SSH to and this would break starting the monitor on a remote host.
          Hide
          elserj Josh Elser added a comment -

          Ok – this was intentional. Sadly, when ACCUMULO-746 was done, we lost the ability to bind to everything to a single address with the scripts. I'm guessing the changes just got merged without the correct ticket reference (or the Git-svn conversion wasn't 100%)

          Show
          elserj Josh Elser added a comment - Ok – this was intentional. Sadly, when ACCUMULO-746 was done, we lost the ability to bind to everything to a single address with the scripts. I'm guessing the changes just got merged without the correct ticket reference (or the Git-svn conversion wasn't 100%)
          Hide
          elserj Josh Elser added a comment -

          I've been thinking about this. I actually checked out the 1.3.5 tag and it appears that Accumulo, up until 1.5.0, bound the monitor to all interfaces which makes me think this is a bug that no one has noticed yet (somehow).

          Show
          elserj Josh Elser added a comment - I've been thinking about this. I actually checked out the 1.3.5 tag and it appears that Accumulo, up until 1.5.0, bound the monitor to all interfaces which makes me think this is a bug that no one has noticed yet (somehow).
          Hide
          elserj Josh Elser added a comment -

          It looks like ACCUMULO-259 (specifically b5c31dff) broke this way back in the day.

          Previously, the static "create" method was used instead of the actual constructor to EmbeddedWebServer (changes). What it looks like is that in <1.5, the Monitor was always bound to all ports and >=1.5.0 actually "broke" this. Given that the changes were applied under a ticket that has nothing to do with such a change, this makes me wonder if this was even desirable? John Vines, do you remember at all?

          I can see benefit in having the ability to not bind to all interfaces, but I wonder if we should be changing back to bind to all by default and provide the means to bind to a specific interface for that "new" case.

          Show
          elserj Josh Elser added a comment - It looks like ACCUMULO-259 (specifically b5c31dff ) broke this way back in the day. Previously, the static "create" method was used instead of the actual constructor to EmbeddedWebServer ( changes ). What it looks like is that in <1.5, the Monitor was always bound to all ports and >=1.5.0 actually "broke" this. Given that the changes were applied under a ticket that has nothing to do with such a change, this makes me wonder if this was even desirable? John Vines , do you remember at all? I can see benefit in having the ability to not bind to all interfaces, but I wonder if we should be changing back to bind to all by default and provide the means to bind to a specific interface for that "new" case.
          Hide
          elserj Josh Elser added a comment -

          Surprised to find that this doesn't affect 1.4. I guess things must have changed in 1.5.

          Show
          elserj Josh Elser added a comment - Surprised to find that this doesn't affect 1.4. I guess things must have changed in 1.5.
          Hide
          elserj Josh Elser added a comment -

          I think the easiest approach (without re-working the scripts) is to add a configuration variable to accumulo-env.sh that will substitute '0.0.0.0' for the --address argument when starting the monitor.

          Show
          elserj Josh Elser added a comment - I think the easiest approach (without re-working the scripts) is to add a configuration variable to accumulo-env.sh that will substitute '0.0.0.0' for the --address argument when starting the monitor.

            People

            • Assignee:
              elserj Josh Elser
              Reporter:
              elserj Josh Elser
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development