Docker 简单部署 ElasticSearch
<h1 id="一elasticsearch是什么">一、ElasticSearch是什么?</h1><p>Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。<br>
不过,Elasticsearch不仅仅是Lucene和全文搜索,我们还能这样去描述它:</p>
<ul>
<li>分布式的实时文件存储,每个字段都被索引并可被搜索</li>
<li>分布式的实时分析搜索引擎</li>
<li>可以扩展到上百台服务器,处理PB级结构化或非结构化数据</li>
</ul>
<h1 id="二docker-部署-elasticsearch">二、Docker 部署 ElasticSearch</h1>
<h2 id="21-拉取镜像">2.1 拉取镜像</h2>
<pre><code>docker pull docker.elastic.co/elasticsearch/elasticsearch:6.3.2
</code></pre>
<h2 id="22-运行容器">2.2 运行容器</h2>
<p><code>ElasticSearch</code>的默认端口是9200,我们把宿主环境9200端口映射到<code>Docker</code>容器中的9200端口,就可以访问到<code>Docker</code>容器中的<code>ElasticSearch</code>服务了,同时我们把这个容器命名为<code>es</code>。</p>
<pre><code>docker run -d --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:6.3.2
</code></pre>
<h2 id="23-配置跨域">2.3 配置跨域</h2>
<h3 id="231-进入容器">2.3.1 进入容器</h3>
<p>由于要进行配置,因此需要进入容器当中修改相应的配置信息。</p>
<pre><code>docker exec -it es /bin/bash
</code></pre>
<h3 id="232-进行配置">2.3.2 进行配置</h3>
<pre><code># 显示文件
ls
结果如下:
LICENSE.txtREADME.textileconfiglib modules
NOTICE.txt bin data logsplugins
# 进入配置文件夹
cd config
# 显示文件
ls
结果如下:
elasticsearch.keystoreingest-geoiplog4j2.propertiesroles.ymlusers_roles
elasticsearch.yml jvm.options role_mapping.yml users
# 修改配置文件
vi elasticsearch.yml
# 加入跨域配置
http.cors.enabled: true
http.cors.allow-origin: "*"
</code></pre>
<h2 id="23-重启容器">2.3 重启容器</h2>
<p>由于修改了配置,因此需要重启<code>ElasticSearch</code>容器。</p>
<pre><code>docker restart es
</code></pre>
<p>展示如下:<br>
<img src="https://images2018.cnblogs.com/blog/534030/201808/534030-20180802225429612-1324370884.png" alt="" loading="lazy"></p>
<h1 id="三docker-部署-elasticsearch-head">三、Docker 部署 ElasticSearch-Head</h1>
<p>为什么要安装<code>ElasticSearch-Head</code>呢,原因是需要有一个管理界面进行查看<code>ElasticSearch</code>相关信息</p>
<h2 id="31-拉取镜像">3.1 拉取镜像</h2>
<pre><code>docker pull mobz/elasticsearch-head:5
</code></pre>
<h2 id="32-运行容器">3.2 运行容器</h2>
<pre><code>docker run -d --name es_admin -p 9100:9100 mobz/elasticsearch-head:5
</code></pre>
<p>展示如下:<br>
<img src="https://images2018.cnblogs.com/blog/534030/201808/534030-20180802225531963-1621975.png" alt="" loading="lazy"><br>
<img src="https://images2018.cnblogs.com/blog/534030/201808/534030-20180802225452815-1012955236.png" alt="" loading="lazy"><br>
<img src="https://images2018.cnblogs.com/blog/534030/201808/534030-20180802225515507-1387981373.png" alt="" loading="lazy"><br>
<img src="https://images2018.cnblogs.com/blog/534030/201808/534030-20180802225507521-535389532.png" alt="" loading="lazy"></p>
<p>这样,我们就完成了用Docker提供Elasticsearch服务,而不污染宿主机环境了,这样还有一个好处,如果想同时启动多个不同版本的Elastcsearch或者其他服务,Docker也是一个理想的解决方案。</p><br><br>
来源:https://www.cnblogs.com/jianxuanbing/p/9410800.html
頁:
[1]