Class DiscoveryNode

    • Constructor Detail

      • DiscoveryNode

        public DiscoveryNode​(java.lang.String id,
                             TransportAddress address,
                             Version version)
        Creates a new DiscoveryNode

        Note: if the version of the node is unknown Version.minimumCompatibilityVersion() should be used for the current version. it corresponds to the minimum version this elasticsearch version can communicate with. If a higher version is used the node might not be able to communicate with the remove node. After initial handshakes node versions will be discovered and updated.

        Parameters:
        id - the nodes unique (persistent) node id. This constructor will auto generate a random ephemeral id.
        address - the nodes transport address
        version - the version of the node
      • DiscoveryNode

        public DiscoveryNode​(java.lang.String id,
                             TransportAddress address,
                             java.util.Map<java.lang.String,​java.lang.String> attributes,
                             java.util.Set<DiscoveryNode.Role> roles,
                             Version version)
        Creates a new DiscoveryNode

        Note: if the version of the node is unknown Version.minimumCompatibilityVersion() should be used for the current version. it corresponds to the minimum version this elasticsearch version can communicate with. If a higher version is used the node might not be able to communicate with the remove node. After initial handshakes node versions will be discovered and updated.

        Parameters:
        id - the nodes unique (persistent) node id. This constructor will auto generate a random ephemeral id.
        address - the nodes transport address
        attributes - node attributes
        roles - node roles
        version - the version of the node
      • DiscoveryNode

        public DiscoveryNode​(java.lang.String nodeName,
                             java.lang.String nodeId,
                             TransportAddress address,
                             java.util.Map<java.lang.String,​java.lang.String> attributes,
                             java.util.Set<DiscoveryNode.Role> roles,
                             Version version)
        Creates a new DiscoveryNode

        Note: if the version of the node is unknown Version.minimumCompatibilityVersion() should be used for the current version. it corresponds to the minimum version this elasticsearch version can communicate with. If a higher version is used the node might not be able to communicate with the remove node. After initial handshakes node versions will be discovered and updated.

        Parameters:
        nodeName - the nodes name
        nodeId - the nodes unique persistent id. An ephemeral id will be auto generated.
        address - the nodes transport address
        attributes - node attributes
        roles - node roles
        version - the version of the node
      • DiscoveryNode

        public DiscoveryNode​(java.lang.String nodeName,
                             java.lang.String nodeId,
                             java.lang.String ephemeralId,
                             java.lang.String hostName,
                             java.lang.String hostAddress,
                             TransportAddress address,
                             java.util.Map<java.lang.String,​java.lang.String> attributes,
                             java.util.Set<DiscoveryNode.Role> roles,
                             Version version)
        Creates a new DiscoveryNode.

        Note: if the version of the node is unknown Version.minimumCompatibilityVersion() should be used for the current version. it corresponds to the minimum version this elasticsearch version can communicate with. If a higher version is used the node might not be able to communicate with the remove node. After initial handshakes node versions will be discovered and updated.

        Parameters:
        nodeName - the nodes name
        nodeId - the nodes unique persistent id
        ephemeralId - the nodes unique ephemeral id
        hostAddress - the nodes host address
        address - the nodes transport address
        attributes - node attributes
        roles - node roles
        version - the version of the node
      • DiscoveryNode

        public DiscoveryNode​(StreamInput in)
                      throws java.io.IOException
        Creates a new DiscoveryNode by reading from the stream provided as argument
        Parameters:
        in - the stream
        Throws:
        java.io.IOException - if there is an error while reading from the stream
    • Method Detail

      • nodeRequiresLocalStorage

        public static boolean nodeRequiresLocalStorage​(Settings settings)
      • isMasterNode

        public static boolean isMasterNode​(Settings settings)
      • isDataNode

        public static boolean isDataNode​(Settings settings)
      • isIngestNode

        public static boolean isIngestNode​(Settings settings)
      • createLocal

        public static DiscoveryNode createLocal​(Settings settings,
                                                TransportAddress publishAddress,
                                                java.lang.String nodeId)
        Creates a DiscoveryNode representing the local node.
      • getRolesFromSettings

        public static java.util.Set<DiscoveryNode.Role> getRolesFromSettings​(Settings settings)
        extract node roles from the given settings
      • getAddress

        public TransportAddress getAddress()
        The address that the node can be communicated with.
      • getId

        public java.lang.String getId()
        The unique id of the node.
      • getEphemeralId

        public java.lang.String getEphemeralId()
        The unique ephemeral id of the node. Ephemeral ids are meant to be attached the life span of a node process. When ever a node is restarted, it's ephemeral id is required to change (while it's getId() will be read from the data folder and will remain the same across restarts). Since all node attributes and addresses are maintained during the life span of a node process, we can (and are) using the ephemeralId in equals(Object).
      • getName

        public java.lang.String getName()
        The name of the node.
      • getAttributes

        public java.util.Map<java.lang.String,​java.lang.String> getAttributes()
        The node attributes.
      • isDataNode

        public boolean isDataNode()
        Should this node hold data (shards) or not.
      • isMasterNode

        public boolean isMasterNode()
        Can this node become master or not.
      • isIngestNode

        public boolean isIngestNode()
        Returns a boolean that tells whether this an ingest node or not
      • getRoles

        public java.util.Set<DiscoveryNode.Role> getRoles()
        Returns a set of all the roles that the node fulfills. If the node doesn't have any specific role, the set is returned empty, which means that the node is a coordinating only node.
      • getVersion

        public Version getVersion()
      • getHostName

        public java.lang.String getHostName()
      • getHostAddress

        public java.lang.String getHostAddress()
      • equals

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object