Elastic Search Give an error No alive nodes found in your cluster

后端 未结 5 1105
南笙
南笙 2021-01-05 04:53

I am start working with elastic search.I successfully install elastic search on my server(Different from application server).But When I try to call Elatic search from my App

相关标签:
5条回答
  • 2021-01-05 05:21

    I was also same facing issue in magento2

    then, I installed

    $sudo apt-get install elasticsearch
    
    0 讨论(0)
  • 2021-01-05 05:22

    I have found this error and solved it by following steps:

    1. Comments the plugin setting on app/etc/env.php file.

      'system' => [
      'default' => [
        /* 'smile_elasticsuite_core_base_settings' => [
       'es_client' => [
        'servers' => 'node-1:9200,node-2:9200',
        'enable_https_mode' => '0',
        'enable_http_auth' => '0',
        'http_auth_user' => '',
        'http_auth_pwd' => ''
         ]
        ] */
       ]
      ]
      
    2. Start the server.

    3. upgrade magento

      php bin/magento setup:upgrade 
      
    0 讨论(0)
  • 2021-01-05 05:32

    I found the error.Error is coming due to space before node.name and cluster.name.Remove the space and its working fine.

    Updated elasticsearch.yml file

    # ======================== Elasticsearch Configuration =========================
    #
    # NOTE: Elasticsearch comes with reasonable defaults for most settings.
    #       Before you set out to tweak and tune the configuration, make sure you
    #       understand what are you trying to accomplish and the consequences.
    #
    # The primary way of configuring a node is via this file. This template lists
    # the most important settings you may want to configure for a production cluster.
    #
    # Please see the documentation for further information on configuration options:
    # <http://www.elastic.co/guide/en/elasticsearch/reference/current/setup-configuration.html>
    #
    # ---------------------------------- Cluster -----------------------------------
    #
    # Use a descriptive name for your cluster:
    #
    cluster.name: my-application-shakedeal
    #
    # ------------------------------------ Node ------------------------------------
    #
    # Use a descriptive name for the node:
    #
    node.name: shakedeal-1
    #
    # Add custom attributes to the node:
    #
    # node.rack: r1
    #
    # ----------------------------------- Paths ------------------------------------
    #
    # Path to directory where to store the data (separate multiple locations by comma):
    #
    # path.data: /path/to/data
    #
    # Path to log files:
    #
    # path.logs: /path/to/logs
    #
    # ----------------------------------- Memory -----------------------------------
    #
    # Lock the memory on startup:
    #
    # bootstrap.memory_lock: true
    #
    # Make sure that the `ES_HEAP_SIZE` environment variable is set to about half the memory
    # available on the system and that the owner of the process is allowed to use this limit.
    #
    # Elasticsearch performs poorly when the system is swapping the memory.
    #
    # ---------------------------------- Network -----------------------------------
    #
    # Set the bind address to a specific IP (IPv4 or IPv6):
    #
    network.host: 127.0.0.1
    network.bind_host: IP_ADDRESS
    #
    # Set a custom port for HTTP:
    #
    # http.port: 9200
    #
    # For more information, see the documentation at:
    # <http://www.elastic.co/guide/en/elasticsearch/reference/current/modules-network.html>
    #
    # --------------------------------- Discovery ----------------------------------
    #
    # Pass an initial list of hosts to perform discovery when new node is started:
    # The default list of hosts is ["127.0.0.1", "[::1]"]
    #
    # discovery.zen.ping.unicast.hosts: ["host1", "host2"]
    #
    # Prevent the "split brain" by configuring the majority of nodes (total number of nodes / 2 + 1):
    #
    # discovery.zen.minimum_master_nodes: 3
    #
    # For more information, see the documentation at:
    # <http://www.elastic.co/guide/en/elasticsearch/reference/current/modules-discovery.html>
    #
    # ---------------------------------- Gateway -----------------------------------
    #
    # Block initial recovery after a full cluster restart until N nodes are started:
    #
    # gateway.recover_after_nodes: 3
    #
    # For more information, see the documentation at:
    # <http://www.elastic.co/guide/en/elasticsearch/reference/current/modules-gateway.html>
    #
    # ---------------------------------- Various -----------------------------------
    #
    # Disable starting multiple nodes on a single system:
    #
    # node.max_local_storage_nodes: 1
    #
    # Require explicit names when deleting indices:
    #
    # action.destructive_requires_name: true
    

    PHP Code

     <?php
        require 'vendor/autoload.php';
        $indexParams = [
            'index' => 'my_index',
            'body' => [
                'settings' => [
                    'number_of_shards' => 5,
                    'number_of_replicas' => 1
                ]
            ]
        ];
    
        $client = Elasticsearch\ClientBuilder::create()
            ->setSSLVerification(false)
            ->setHosts(["IP_ADDRESS:9200"])->build();  
        $response = ''; 
        try {
            /* Create the index */
            $response = $client->indices()->create($indexParams);
            print_r($response);
    
            print_r($response);
    
        } catch(Exception $e) {
            echo "Exception : ".$e->getMessage();
        }
        die('End : Elastic Search');
    
    ?>
    

    Success Response :

     Array
     (
        [acknowledged] => 1
     )
    
    0 讨论(0)
  • 2021-01-05 05:37

    I also facing the same problem. I was specified in host 'myhostaddress:9200'. Change it with IP of your Elasticsearch host server like '127.0.0.1:9200' . It resolve my problem.

    0 讨论(0)
  • 2021-01-05 05:43

    Your answer can be found at the link I am providing https://forums.aws.amazon.com/thread.jspa?threadID=230626 I got the same problem but through this link it resolved, the answer which suggest attaching a suffix :443 at the end will work

    0 讨论(0)
提交回复
热议问题