Docker部署Elasticsearch操作教程,超详细的Elasticsearch部署步骤图解!

在企业当中,如果项目中有遇到使用Elasticsearch技术,想必搭建Elasticsearch使用安装包在linux环境当中一步一步去安装,也是非常的繁琐,复杂。这里给小伙伴们安利一款使用容器docker来部署Elasticsearch。

1、什么是Elasticsearch?

以下是从elasticsearch官网截的图:

Docker部署Elasticsearch

简单的说elasticsearch就是一款高效率的搜索引擎技术,现在很多项目基本都是微服务架构了,日志系统就不会用很老旧的技术了,多数企业就使用elasticsearch拿它来做日志系统,如果是大型电商系统的话,这里就得使用elasticsearch技术啦。

2、elasticsearch的特性?

Elasticsearch是一个可以扩展高达PB级别的存储服务器,这点优势相对于其他引擎也是很厉害的。
Elasticsearch是可以用来替代实时性较强的数据作为文档存储。
Elasticsearch是最受欢迎的企业搜索服务引擎之一,目前被很多大型企业组织使用,如Wikipedia,The Guardian,StackOverflow,GitHub等等。

3、elasticsearch的适用场景?

1、对项目当中的海量数据的实时处理
2、日志数据分析,elk(elasticsearch(存储日志)、logstash(收集日志)、kibana)(展示数据)。
3、大型电商搜索系统,大数据收集等等。
4、elasticsearch需要知道的概念

1、Elasticsearch 十分耗内存,建议启动前先尽量腾出内存空间。

2、Elasticsearch 需要暴露的端口很多,启动时需要比较复杂的配置。

3、Elasticsearch 的数据一般需要放置到安全目录,这里又涉及到数据卷技术了。

这里默认小伙伴都会docker技术了,直接上代码

1、镜像仓库里搜索elasticsearch

docker search elasticsearch

Docker部署Elasticsearch

2、安装最新elasticsearch7x

docker pull elasticsearch:7.6.0

Docker部署Elasticsearch

3、查看镜像

docker images | grep elasticsearch

Docker部署Elasticsearch

4、启动elasticsearch

[root@sail sail]# docker run -d --name elasticsearch01 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.6.2
Unable to find image 'elasticsearch:7.6.2' locally
7.6.2: Pulling from library/elasticsearch
ab5ef0e58194: Pull complete 
c4d1ca5c8a25: Pull complete 
941a3cc8e7b8: Pull complete 
43ec483d9618: Pull complete 
c486fd200684: Pull complete 
1b960df074b2: Pull complete 
1719d48d6823: Pull complete 
Digest: sha256:1b09dbd93085a1e7bca34830e77d2981521a7210e11f11eda997add1c12711fa
Status: Downloaded newer image for elasticsearch:7.6.2
6eccd8a777d91764963c2464b30db78b189f5c867633255e996bae088ace6029

命令说明:

--name : 镜像的名称
--p :对外的端口
--v :数据卷对应的位置
--e :"discovery.type=single-node"

这里查看 Docker 内存占用情况

[root@sail sail]# docker stats
CONTAINER ID   NAME              CPU %     MEM USAGE / LIMIT     MEM %     NET I/O   BLOCK I/O       PIDS
6eccd8a777d9   elasticsearch01   0.00%     1.238GiB / 1.694GiB   73.06%    0B / 0B   292MB / 389kB   43

由此可以看出,Elasticsearch 是多么的耗内存啊。

所以启动 Elasticsearch 时还是建议限制其最大内存占用。

[root@sail sail]# docker stats
CONTAINER ID   NAME              CPU %     MEM USAGE / LIMIT     MEM %     NET I/O   BLOCK I/O       PIDS
e6d7fe80cf29   elasticsearch02   0.78%     379.8MiB / 1.694GiB   21.89%    0B / 0B   106MB / 733kB   44

这样 Elasticsearch 的内存占用就会小很多了。

测试验证

[root@sail sail]# curl localhost:9200
{
  "name" : "e6d7fe80cf29",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "MIfPING6SFGVR88knFCf6w",
  "version" : {
    "number" : "7.6.2",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "ef48eb35cf30adf4db14086e8aabd07ef6fb113f",
    "build_date" : "2020-03-26T06:34:37.794943Z",
    "build_snapshot" : false,
    "lucene_version" : "8.4.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

 

至此 Elasticsearch 部署成功!!!。

 

 

实战教学·项目驱动

开班计划中
  • 网络安全

    5月23日

  • 前端

    5月24日

  • JAVA

    5月25日

  • UIUX

    5月27日

24小时报名热线

177 1362 3990

预约试学