美文网首页软件测试
elasticsearch5.6自坑记录

elasticsearch5.6自坑记录

作者: 我心悠然 | 来源:发表于2020-08-21 11:48 被阅读0次

    因为工作要求,需要测试elasticsearch5.6.0版本,拿到这个的时候,网上找了很多资料,代码通过TransportClient实现。

    首先、服务器上部署elasticsearch5.6.0版本。下载地址:https://www.elastic.co/cn/downloads/past-releases/elasticsearch-5-6-0(在Linux上面也可以通过命令:wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.0.tar.gz)

    其次、配置信息elasticsearch.yml文档,开启和配置以下内容:

    1、cluster.name: my-application

    2、node.name: node-1

    3、path.data: /home/canace/elasticsearch-5.6.0/path/data——{根据实际地址修改,日志存放点,考虑新建用户可以有权限调用}

    4、path.logs: /home/canace/elasticsearch-5.6.0/path/logs——{根据实际地址修改,日志存放点,考虑新建用户可以有权限调用}

    5、network.host: 0.0.0.0

    6、http.port: 9200

    再者、配置信息jvm.options文档,修改成以下内容:

    如果不修改会提示内存不足

    最后启动./bin/elasticsearch。

    下面来讲一下代码实现,demo代码是通过springboot实现,先来看下pom依赖内容:

    最主要的实现方式,TransportClient链接;注意点是:TransportClient的端口,这里9300是TransportClient的端口,和安装地址对外的port不是一样的。还有一个我是通过cluster.name获取对应机子,所以名称一定不能配置错误。

    如果不确定TransportClient的端口号,可以在启动elasticsearch的时候,查看对应的提示信息。

    主要讲讲遇到的问题:

    问题1 :网上很多新建节点的时候通过new TransportAddress(InetAddresses.forString(host),9300);但是这个会有错误提示。

    解决方法:通过new InetSocketTransportAddress(InetAddresses.forString(host),9300);来定义节点。

    问题2 : None of the configured nodes are available: [{#transport#-1}{GRphuiRLRgOVTP0707mGFQ}

    这个问题困扰我很久,提示是节点没有找到,虽然根据网上的提示,看了好几遍配置,但是终究未能解决问题。后来通过debug,发现client有个错误提示:Method threw 'java.lang.StackOverflowError' exception. Cannot evaluate org.elasticsearch.common.inject.InjectorImpl.toString(),这才找了问题所在,因为链接的机器上没有启动elasticsearch,简直自己把自己坑死。

    所以当出现这个问题的时候,首先要排查链接机子上的elasticsearch是否已经启动,可以通过{ip}:{port}查看

    二、查看cluster_name是否和代码中配置的一致

    demo代码地址: https://github.com/lunacai/canace-es56-demo

    Elasticsearch基本命令

    查看集群状态: curl http://localhost:9200/_cat/health?v

    查看索引列表: curl http://localhost:9200/_cat/indices?v

    查看某个索引库结构: curl http://localhost:9200/{canace}

    查看某个索引所有内容: curl http://localhost:9200/{canaca}/_search?q=*&pretty

    创建索引: curl -X PUT "localhost:9200/{canace}?pretty"

    相关文章

      网友评论

        本文标题:elasticsearch5.6自坑记录

        本文链接:https://www.haomeiwen.com/subject/bofujktx.html