sprinboot+Elasticsearch 连接时失败报的标题错误.
安装的docker版本的es, 默认9200开启可用, 但9300不可用的
需要设置后才能使用, 设置方法:
1. 如果是正式服务器就忽略吧, 需要删除容器, 从新安装运行
docker stop id //停止
docker rm id //删除
之后用挂载方式安装运行
当然, 这个挂载的路径不是瞎写的, 第一次安装进去后, 可以看到 elasticsearch.yml文件就在容器的这个目录下,
外部配置文件路径就随你的便了
将docker容器中的配置文件挂载到外部, 到时,只要修改外部的yml配置文件就行了
挂载方法:
docker run -di --name=elasticsearch -p 9200:9200 -p 9300:9300 -v /usr/share/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml elasticsearch:6.1.8
-v 后面就是挂载
2. 配置挂载后, 外部的这个yml文件, 挂载的目的就是将容器中的yml文件拿出来,方便改的嘛..
vim elasticsearch //进入编辑 按 i 键
如果里面没有配置过的话, 里面一共就4行命令, 其中有3行是注释的....
报的错误, 就因为打开了他之后, 宿主机,也就是linux服务器不愿意了 下面有处理方法
找到: transport.host: 0.0.0.0 把前面的 "#"去掉
注意, 这个是放行任意ip可以访问, 需要的话, 在这里设置指定ip访问
之后, 按 "ESC" 键退出编辑模式
在按 ":" ,也就是冒号 , 输入 "wq" 是保存的意思, 完整的是 :wq
然后按回车
等等, 还没完, 不管是新手还是老手, 都会遇到马上的这个问题, 只是会不会处理
修改完容器的配置文件或者容器启动后, 等一会之后, 就会自动关闭的问题. 线下还好... 线上就TM恶心了...
通常这是容器运行报错了, 原因就太多了. 可能是本身的错误, 也可能是外部的错误, 也就是 linux服务器[宿主机]
这里如果把ip设置成0 0 0 0的话, 就会出这样的问题, 需要对宿主机进行设置
1. 修改sysctl.conf文件
命令: vim /etc/sysctl.conf
添加: vm.max_map_count=655360
出来之后 输入 sysctl -p
2. 新修改limits.conf文件
命令: vim /etc/security/limits.conf
添加:
* soft nofile 65536
* hard nofile 65536
在启动docker es