docker部署安装ElasticSearch

基于lucene开发的ElasticSearch由于其高效的检索性能,已经实际形成诸多业务架构中必备的一个技术组成部分。本次实际开发环境为Centos7,准备基于springboot搭建一套检索系统,自然ElasticSearch就是第一选择了。不过单独部署安装es又显得异常费事,docker容器服务部署必须实施。实际过程也非常简单。第一步,docker获取es容器镜像。

docker pull elasticsearch

第二步,查看镜像是否下载成功

docker images

第三步,选择挂载硬盘创建三个目录,分别对应es的日志,es的配置,和es的插件。并设置目录权限为可读写。

mkdir es_docker
cd es_docker
mkdir config logs plugins
chmod -R 777 config logs plugins

第四步,进入config目录里创建elasticsearch.yml文件,并使用vi命令插入如下内容:

http.host: 0.0.0.0

由于是yml文件配置,所以host后面的冒号,必须空格后才能输入0.0.0.0。也就是后面的ip地址前面需要空格。

第五步,开始使用docker run启动容器,具体命令参考为:

docker run --name elasticsearch -p 9200:9200  -p 9300:9300 
       -e "discovery.type=single-node" 
       -e ES_JAVA_OPTS="-Xms84m -Xmx512m" 
       -v /home/es_docker/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
       -v /home/es_docker/data:/usr/share/elasticsearch/data 
       -v /home/es_docker/plugins:/usr/share/elasticsearch/plugins 
       -d elasticsearch:7.12.0

第六步,使用docker ps -a检查es是否正常启动,然后使用docker logs来查看该容器的日志。

docker ps -a
docker logs elasticsearch

日志里没报错就表示启动成功了。

然后可以直接在浏览器里输入部署es的服务器ip地址和端口号9200,如果出现如下json格式结果,就ok了。

 

此时如果想查看es的服务是否启动正常,还可以基于docker来安装es的插件。过程基本一样,先docker去拉取插件,然后docker运行容器:

 docker pull mobz/elasticsearch-head:5
docker run -d --name es-head -p 9100:9100 docker.io/mobz/elasticsearch-head:5

执行docker命令后,也可以使用docker ps -a来查看是否成功启动。不过更好的方式是和es服务链接上。因此接下来首先需要修改es的config目录的配置文件elasticsearch.yml,在其后面增加两行语句:

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

主要目的就是允许跨域请求。

由于修改了配置文件,所以需要重启一下es的服务。直接运行如下语句:

docker restart elasticsearch

到此就可以使用网页浏览器来查看es的运行状况了。打开一个浏览器,地址栏上输入安装es插件的服务器ip地址和其端口号:

posted @ 2023-09-06 13:57  吕金林  阅读(598)  评论(0)    收藏  举报