栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

NoNodeAvailableException[None of the configured nodes are available: [{#transport#-1}····

NoNodeAvailableException[None of the configured nodes are available: [{#transport#-1}····

最近一直在搞一个与Spring Boot相关的项目,由于我的Elasticsearch并不是在本地Window中的,而是配置在Linux虚拟机中,然后就遇到了这样的一个错误:

NoNodeAvailableException[None of the configured nodes are available:

什么意思呢?翻译过来就是:配置的节点均不可用
可是,我明明可以通过Window的浏览器端进行访问的,如下图:

9200是给浏览器进行测试访问的,9300是给Java这种后端语言来进行访问的。但即便把Spring Boot的application.yml配置设置为与Linux虚拟机ip对应的地址依然会报错,这点让我十分费解;
于是,网上搜集了一番资料,终于,找到了一丝的端倪。
原来,Spring Boot的版本,与Elasticsearch是有对应关系的,即,如果Spring Boot的版本比较低,然后Elasticsearch的版本又比较高的话,这就像依赖冲突那样,会导致不能成功运行;
可能是Elasticsearch的默认依赖与Spring Boot的依赖对不上
可以将其默认配置修改一下pom配置:

或者将其Spring Boot的依赖版本修改一下;

我使用的Elasticsearch版本是6.3.0的,因此,理所当然的,与其对应的IK分词器,Kibana等都是版本6.3.0的,然后由于Kibana版本太低的话,就会导致启动报错,这个问题怎么解决呢?其实很简单,只需要将配置改一下就好了;
打开Kibana安装目录中config包下的kibana.yml文件

在这个文件的末尾处添加如下字段:

kibana.index: ".kibana6"

然后,Elasticsearch的默认的集群名称为elasticsearch,因此,在application.yml配置的时候cluster-name要和在浏览器9200端口访问的保持一致:

然后,Kibana就能正常启动了,如下图:

然后,对于Elasticsratch的安装,有点心得体会:
①将Elasticsearch压缩包进行解压,如果是tar.gz格式的压缩包就使用:
tar -zxvf 这里加压缩包名

tar -zxvf elasticsearch-6.3.0.tar.gz

②由于Elastsearch是不允许root用户进行访问的,因此需要创建一个用户
③创建完用户之后,给文件对用户进行分组

chown niu:niu elasticsearch-6.3.0
#将文件分给niu用户niu组里

④修改文件的访问权限

chmod 777 elasticsearch-6.3.0

⑤修改配置文件elasticsearch.yml:

network.host: 0.0.0.0 # 绑定到0.0.0.0允许任何ip来访问
#默认只允许本机访问,修改为0.0.0.0后则可以远程访问

⑥进入bin目录,执行Elasticsearch

./elasticsearch

然后会报错,其原因并不是安装失败了,仔细看错误原因可以发现:

是权限不够的原因,即niu用户不能够启动Elasticsearch,这该怎么办呢?
此时需要给用户授予权限
找到用户所在的盘符位置:/home/niu

执行授权指令

chmod -R 777 /home/niu

然后就可以正常运行了。

关于Elasticsearch插件的安装:
在Elasticsearch的解压包中的plugins中创建一个文件夹,以IK分词器为例:
在plugins文件夹中创建一个名为IK的文件夹,然后将IK分词器的压缩包放在该文件夹下,并对其解压,解压完毕将其压缩包删除就完成IK分词器插件的安装。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/711028.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号