Cluster (connect 2 nodes)

Yes it is still running :

[root@frghcslnetv12 ~]# systemctl status elasticsearch.service
● elasticsearch.service - Elasticsearch
   Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2018-06-04 13:32:55 CEST; 55min ago
     Docs: http://www.elastic.co
 Main PID: 52356 (java)
    Tasks: 70
   CGroup: /system.slice/elasticsearch.service
           └─52356 /bin/java -Xms1g -Xmx1g -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+AlwaysPreTouch -Xss1m -Djava....

Jun 04 13:32:55 frghcslnetv12 systemd[1]: Started Elasticsearch.
Jun 04 13:32:55 frghcslnetv12 systemd[1]: Starting Elasticsearch...
[root@frghcslnetv12 ~]#

Can you show me your Kibana configuration please?

# Kibana is served by a back end server. This setting specifies the port to use.
#server.port: 5601

# Specifies the address to which the Kibana server will bind. IP addresses and host names are both valid values.
# The default is 'localhost', which usually means remote machines will not be able to connect.
# To allow connections from remote users, set this parameter to a non-loopback address.
#server.host: "localhost"

# Enables you to specify a path to mount Kibana at if you are running behind a proxy. This only affects
# the URLs generated by Kibana, your proxy is expected to remove the basePath value before forwarding requests
# to Kibana. This setting cannot end in a slash.
#server.basePath: ""

# The maximum payload size in bytes for incoming server requests.
#server.maxPayloadBytes: 1048576

# The Kibana server's name.  This is used for display purposes.
#server.name: "your-hostname"

# The URL of the Elasticsearch instance to use for all your queries.
#elasticsearch.url: "http://localhost:9200"

# When this setting's value is true Kibana uses the hostname specified in the server.host
# setting. When the value of this setting is false, Kibana uses the hostname of the host
# that connects to this Kibana instance.
#elasticsearch.preserveHost: true

# Kibana uses an index in Elasticsearch to store saved searches, visualizations and
# dashboards. Kibana creates a new index if the index doesn't already exist.
#kibana.index: ".kibana"

# The default application to load.
#kibana.defaultAppId: "home"

# If your Elasticsearch is protected with basic authentication, these settings provide
# the username and password that the Kibana server uses to perform maintenance on the Kibana
# index at startup. Your Kibana users still need to authenticate with Elasticsearch, which
# is proxied through the Kibana server.
#elasticsearch.username: "user"
#elasticsearch.password: "pass"

# Enables SSL and paths to the PEM-format SSL certificate and SSL key files, respectively.
# These settings enable SSL for outgoing requests from the Kibana server to the browser.
#server.ssl.enabled: false
#server.ssl.certificate: /path/to/your/server.crt
#server.ssl.key: /path/to/your/server.key
# Optional settings that provide the paths to the PEM-format SSL certificate and key files.
# These files validate that your Elasticsearch backend uses the same key files.
#elasticsearch.ssl.certificate: /path/to/your/client.crt
#elasticsearch.ssl.key: /path/to/your/client.key

# Optional setting that enables you to specify a path to the PEM file for the certificate
# authority for your Elasticsearch instance.
#elasticsearch.ssl.certificateAuthorities: [ "/path/to/your/CA.pem" ]

# To disregard the validity of SSL certificates, change this setting's value to 'none'.
#elasticsearch.ssl.verificationMode: full

# Time in milliseconds to wait for Elasticsearch to respond to pings. Defaults to the value of
# the elasticsearch.requestTimeout setting.
#elasticsearch.pingTimeout: 1500

# Time in milliseconds to wait for responses from the back end or Elasticsearch. This value
# must be a positive integer.
#elasticsearch.requestTimeout: 30000

# List of Kibana client-side headers to send to Elasticsearch. To send *no* client-side
# headers, set this value to [] (an empty list).
#elasticsearch.requestHeadersWhitelist: [ authorization ]
# Header names and values that are sent to Elasticsearch. Any custom headers cannot be overwritten
# by client-side headers, regardless of the elasticsearch.requestHeadersWhitelist configuration.
#elasticsearch.customHeaders: {}

# Time in milliseconds for Elasticsearch to wait for responses from shards. Set to 0 to disable.
#elasticsearch.shardTimeout: 0

# Time in milliseconds to wait for Elasticsearch at Kibana startup before retrying.
#elasticsearch.startupTimeout: 5000

# Specifies the path where Kibana creates the process ID file.
#pid.file: /var/run/kibana.pid

# Enables you specify a file where Kibana stores log output.
#logging.dest: stdout

# Set the value of this setting to true to suppress all logging output.
#logging.silent: false

# Set the value of this setting to true to suppress all logging output other than error messages.
#logging.quiet: false

# Set the value of this setting to true to log all events, including system usage information
# and all requests.
#logging.verbose: false

# Set the interval in milliseconds to sample system and process performance
# metrics. Minimum is 100ms. Defaults to 5000.
#ops.interval: 5000

# The default locale. This locale can be used in certain circumstances to substitute any missing
# translations.
#i18n.defaultLocale: "en"

Ok, can you just re confirm the output of:

curl http://localhost:9200/_cat/nodes?pretty on .29?
[root@frghcslnetv10 ~]# curl http://localhost:9200/_cat/nodes?pretty
172.16.250.29 57 98 98 9.29 8.29 7.48 mdi * network-1

Ok, let's try this.

In your elasticsearch configuration on .29, change

discovery.zen.ping.unicast.hosts: ["172.16.250.29"]

to

discovery.zen.ping.unicast.hosts: ["172.16.250.30"]

and restart elasticsearch

Leave the .30 configuration as it is.

[root@frghcslnetv10 ~]# curl http://localhost:9200/_cat/nodes?pretty
172.16.250.30 60 27  0 0.00 0.01 0.12 mdi * network-2
172.16.250.29 36 67 50 6.93 7.96 7.55 mdi - network-1

image

Is it working now ?

Yes, all good :slight_smile:

Thank you a looot again :smiley:

When I stop elasticsearch on ".30", I can see jst the node 1 but when I stop elasticsearch on ".29" and I change on Kibana.yml => elasticsearch.url : "http://172.16.250.30:9200" , I see nothing.

Do I have to change the output logstash ?

My output now is :

output {
        elasticsearch {
                hosts => [ "localhost:9200" ]
                document_id => "%{fingerprint}"
        }
}

Can you give me the link to install the free version of x-pack monitoring ?

On logstash, it's best to set both elastic nodes:

    output {
        elasticsearch {
                hosts => [ "172.16.250.30:9200", "172.16.250.29:9200" ]
                document_id => "%{fingerprint}"
        }
}

For x-pack, you can following this guide:

https://www.elastic.co/guide/en/x-pack/current/installing-xpack.html

1 Like

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.