使用Docker快速部署ES单机或ES集群

使用Docker快速部署ES单机或ES集群,第1张

ES现在是很多系统中不可或缺的一部分,为了在使用时快速的部署一个ES环境,这里记录一下自己的一些操作步骤。

所有的操作都是基于Docker来的,没有装Docker的话请参照 官方文档 安装

采用的ES版本为6.8.13

宿主机系统为Centos 7.8

单机版添加密码验证

集群版使用ssl传输

将下面的内容粘贴到elasticsearch.yml

ES_JAVA_OPTS设置了ES的启动内存,自己按需修改

discovery.type=single-node表示该es为单节点,不加这个的话,你的es健康状态会显示为黄色

根据提示,先输入y,然后输入密码,这里会要求输入多次,主要是需要给好几个系统添加密码,用户默认elastic

至此,单节点的elasticsearch就部署好了,通过elasticsearch head即可连接使用

生成的ssl证书在用户目录certs下 cd ~/certs 即可看到

后续步骤需要在每一台集群服务器上执行

NODE_LIST:配置集群中其他节点的地址,格式为:ip:port,ip2:port2

NODE_NAME:当前节点的name

至此,搭建就完了

我们一般在开发与测试的使用使用的单节点的es,节约资源嘛,而在生产的时候,那肯定就需要上集群了,这时候在开发与测试环境的时候,java的连接配置就会与生产有一些出入

我一般都是用的 spring-boot-starter-data-elasticsearch 搭配 x-pack-transport 来连接

先引入相关的依赖

版本号这东西自己注意下哈,es对这还是挺敏感的

这里主要是通过isCluster这个配置来区分的

如果连接的是集群,由于我们之前为集群配置了一个ssl证书,所以java连接的时候也是需要使用那个证书的,所以会多出来几个配置

ES版本依赖: https://www.elastic.co/cn/support/matrix

三台服务器:

现在完成后上传至Linux服务器。比如通过ssh rz 命令上传到home目录

这里选择 ElasticHD ,解压即可使用。

有关ES可视化工具,参见下面附录

报错如下,切换至非root用户即可

ES未来的把版本要求匹配JDK 11,这里可以忽略。

启动检查失败,这里有三个错误。

[1] es进程的最大文件描述符[4096]太低,请至少增加到[65535]

[2] 用户[es]的最大线程数[3795]太低,请至少增加到[4096]

[3] 最大虚拟内存区域[65530]太低,请至少增加到[262144]

修改limits.conf配置 vim /etc/security/limits.conf 在末尾添加如下内容:

修改sysctl.conf配置 vim /etc/sysctl.conf 在末尾添加如下内容:

修改保存之后重新加载配置

查看防火墙状态,看防火墙是未开启此端口

直接关闭防火墙(比较暴力)

或者开启端口

浏览器可以成功访问: http://192.168.200.101:9200

日志不停的打印警告,主节点没有发现,原因是9300端口防火墙没有放开,因为节点通信、发现、选举master,默认使用9300端口。

ES官网: https://www.elastic.co/cn/elasticsearch

官网文档: https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html

中文社区: https://elasticsearch.cn/

ES常用工具清单: https://blog.csdn.net/laoyang360/article/details/80645710


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/494169.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-06-14
下一篇2023-06-14

发表评论

登录后才能评论

评论列表(0条)

    保存