zoukankan      html  css  js  c++  java
  • php运行elasticSearch出现NoNodeAvailableException原因与解决方案

    第一次在本地运行elasticSearch,环境是php,所以直接按照文档安装elasticsearch-php   https://www.elastic.co/guide/cn/elasticsearch/php/current/_quickstart.html

    安装完运行,根据文档示例创建一个es文档

    
    
    require 'vendor/autoload.php';
    
    use ElasticsearchClientBuilder;
    
    $client = ClientBuilder::create()->build(); //默认连接的话是127.0.0.1:9300
    $params = [
        'index' => 'my_index',
        'type' => 'my_type',
        'id' => 'my_id',
        'body' => ['testField' => 'abc']
    ];
    
    $response = $client->index($params);
    print_r($response);

    直接报错:nonodesavailableexception 运行不起来

    最后发现,原来是没有开启elasticSearch服务 

    解决方案:

    1.再次下载elasticSearch

    ElasticSearch的官方地址: https://www.elastic.co/products/elasticsearch
    学习用,下载windows版本就行,上线的时候有运维人员安装给我们使用。

     2.安装

    ES服务 Window版的ElasticSearch的安装很简单,类似Window版的Tomcat,解压开即安装完毕,解压后的ElasticSearch 的目录结构如下:

    修改elasticsearch配置文件:config/elasticsearch.yml,增加以下两句命令:

    http.cors.enabled: true
    http.cors.allow-origin: "*"

    此步为允许elasticsearch跨越访问,如果不安装后面的elasticsearch-head是可以不修改,直接启动。(后面的可视化es如果使用的话,需要修改此处)

    3. 启动ES服务

    点击ElasticSearch下的bin目录下的elasticsearch.bat启动,控制台显示的日志信息如下:

     注意:9300是tcp通讯端口,集群间和TCPClient都执行该端口,9200是http协议的RESTful接口 。 通过浏览器访问ElasticSearch服务器,看到如下返回的json信息,代表服务启动成功:

    到这里说明服务启动了,再次去运行我们的创建文档代码,发现不报错了

     到这里你的es搜索就可以使用了,接下来就可以做一系列操作了

     es可视化安装

    下面是安装可视化界面

    这个es 可视化 需要基于Node 环境 ,所以说,想要可视化的话,要确保系统是否具备Node 环境

     

     打开cmd,进入我们上面安装的目录elasticsearch-head-master下

    输入命令安装:npm install --registry=https://registry.npm.taobao.org

    安装后 ,执行可视化启动命令: npm run start

     浏览器 输入 localhost:9100查看

     点击连接,如果连接不上,卡看是否跨域,因为是9100访问 9200 浏览器保护策略 端口不一致 导致跨域了

     es 配置文件中 添加 跨域 即 config 目录下的 elasticsearch.yml 文件

     再次查看

     可视化安装成功

  • 相关阅读:
    数据结构与算法--递归
    未能加载文件或程序集“ .....WebUI ”或它的某一个依赖项,试图加载格式不正确的程序
    PLSQL设置细节
    Oracle安装:64位电脑安装64位Oracle、PLSQL步骤
    C# JS 单例
    Method not found : Void System.Data.Objects.ObjectContextOptions.set_UseConsistentNullReferenceBehavior(Boolean)
    Webservice 65535 错误
    js queue dequeue clearQueue stop
    解决Get请求的长度限制
    站点图标favicon.ico
  • 原文地址:https://www.cnblogs.com/bkhdd/p/15223758.html
Copyright © 2011-2022 走看看