当前位置:   article > 正文

Docker安装Elesticsearch7详细步骤

Docker安装Elesticsearch7详细步骤

图片

1、创建安装目录

mkdir -p /usr/local/docker/es-docker

2、配置虚拟内存

如果不配置,后面启动es会报错。

max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

配置如下

vi /etc/sysctl.conf
vm.max_map_count=262144

最后执行以下命令使其生效

sysctl -p

3、配置docker-compose.yml

内容如下:

  1. version: '2.2'
  2. services:
  3. es01:
  4. image: docker.elastic.co/elasticsearch/elasticsearch:7.17.12
  5. container_name: es01
  6. environment:
  7. - node.name=es01
  8. - cluster.name=es-docker-cluster
  9. - discovery.seed_hosts=es02,es03
  10. - cluster.initial_master_nodes=es01,es02,es03
  11. - bootstrap.memory_lock=true
  12. - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
  13. ulimits:
  14. memlock:
  15. soft: -1
  16. hard: -1
  17. volumes:
  18. - data01:/usr/local/docker/es-docker/data/data01
  19. ports:
  20. - 9200:9200
  21. networks:
  22. - elastic
  23. es02:
  24. image: docker.elastic.co/elasticsearch/elasticsearch:7.17.12
  25. container_name: es02
  26. environment:
  27. - node.name=es02
  28. - cluster.name=es-docker-cluster
  29. - discovery.seed_hosts=es01,es03
  30. - cluster.initial_master_nodes=es01,es02,es03
  31. - bootstrap.memory_lock=true
  32. - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
  33. ulimits:
  34. memlock:
  35. soft: -1
  36. hard: -1
  37. volumes:
  38. - data02:/usr/local/docker/es-docker/data/data02
  39. networks:
  40. - elastic
  41. es03:
  42. image: docker.elastic.co/elasticsearch/elasticsearch:7.17.12
  43. container_name: es03
  44. environment:
  45. - node.name=es03
  46. - cluster.name=es-docker-cluster
  47. - discovery.seed_hosts=es01,es02
  48. - cluster.initial_master_nodes=es01,es02,es03
  49. - bootstrap.memory_lock=true
  50. - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
  51. ulimits:
  52. memlock:
  53. soft: -1
  54. hard: -1
  55. volumes:
  56. - data03:/usr/local/docker/es-docker/data/data03
  57. networks:
  58. - elastic
  59. volumes:
  60. data01:
  61. driver: local
  62. data02:
  63. driver: local
  64. data03:
  65. driver: local
  66. networks:
  67. elastic:
  68. driver: bridge

4、安装

docker-compose -f docker-compose.yml up -d

5、Elasticsearch新特性

Elasticsearch 7 于2019年11月发布,对比6.x,7.x 版本的特性变化主要有:
1. 集群连接变化:TransportClient 被废弃,7.x 的 java 代码,只能使用 restclient。对于 java 编程,建议采用 High-level-rest-client 的方式操作 ES 集群。
2. ES 数据存储结构变化:去除了 Type,es6时,官方就提到了 es7会删除 type,并且 es6时已经规定每一个 index 只能有一个 type。在 es7中使用默认的_doc 作为 type,官方说在8.x版本会彻底移除 type。同时,api 请求方式也发送变化,如获得某索引的某 ID 的文档的请求方式为:GET index/_doc/id,其中index和id为具体的值。
3. High-level REST client 改变:已删除接受 Header 参数的 API 方法;Cluster Health API 默认为集群级别。
4. ES 程序包默认打包 JDK:7.x 版本的程序包大小突然变为300MB+,对比6.x,包大了200MB+,正是 JDK 的大小。
5. 默认配置变化:默认节点名称为主机名,默认分片数改为1,不再是5。
6. 查询相关性速度优化:采用 Weak-AND 算法。核心原理是取 TOP N 结果集,估算命中记录数。一般情况下,在计算文本相关性时,会通过倒排索引的方式进行查询,通过倒排索引已经要比全量遍历节约大量时间,但有时候仍然很慢。这是因为很多时候我们其实只想要 top n 个结果,一些结果明显较差的也进行了复杂的相关性计算,而 Weak-AND 算法通过计算每个词的贡献上限来估计文档的相关性上限,从而建立一个阈值对倒排中的结果进行减枝,从而得到提速的效果。
7. 间隔查询(Intervals queries):在某些搜索用例中,例如法律和专利搜索,引入了查找单词或短语彼此相距一定距离的记录的需要。Elasticsearch 7.0中的间隔查询引入了一种构建此类查询的全新方式,与之前的方法(跨度查询 span queries)相比,使用和定义更加简单。与跨度查询相比,间隔查询对边缘情况的适应性更强。
8. 引入新的集群协调子系统。
这些新特性使得 Elasticsearch 7 在性能、可扩展性和易用性方面有了显著的提升,为用户提供了更好的搜索体验。

图片

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/40471
推荐阅读
相关标签
  

闽ICP备14008679号