包含当前最新版Elasticsearch、Head、Kibana的搭建及配置,ik分词器插件的引用。

配置文件与挂载目录准备

es-master.yml

  1. # 集群名称
  2. cluster.name: es-cluster
  3. # 节点名称
  4. node.name: es-node1
  5. # 是否可以成为master节点
  6. node.master: true
  7. # 是否允许该节点存储数据,默认开启
  8. node.data: true
  9. # 网络绑定
  10. network.host: 0.0.0.0
  11. network.publish_host: 本机外网ip
  12. # 设置对外服务的http端口
  13. http.port: 9200
  14. # 设置节点间交互的tcp端口
  15. transport.port: 9300
  16. # 集群发现
  17. discovery.seed_hosts:
  18. - 本机外网ip
  19. # 手动指定可以成为 mater 的所有节点的 name 或者 ip,这些配置将会在第一次选举中进行计算
  20. cluster.initial_master_nodes:
  21. - es-node1
  22. # 支持跨域访问
  23. http.cors.enabled: true
  24. http.cors.allow-origin: "*"
  25. # 安全认证
  26. xpack.security.enabled: false
  27. #http.cors.allow-headers: "Authorization"

kibana.yml

  1. # 服务端口
  2. server.port: 5601
  3. # 服务IP
  4. server.host: "0.0.0.0"
  5. # ES
  6. elasticsearch.hosts: ["http://本机外网ip:9200"]
  7. # 汉化
  8. i18n.locale: "zh-CN"

docker-compose.yml

  1. version: "3"
  2. services:
  3. es-master:
  4. container_name: es-master
  5. hostname: es-master
  6. image: elasticsearch:7.10.1
  7. restart: always
  8. ports:
  9. - 9200:9200
  10. - 9300:9300
  11. volumes:
  12. - /home/elasticsearch/es-master.yml:/usr/share/elasticsearch/config/elasticsearch.yml
  13. - /home/elasticsearch/data:/usr/share/elasticsearch/data
  14. - /home/elasticsearch/logs:/usr/share/elasticsearch/logs
  15. environment:
  16. - "ES_JAVA_OPTS=-Xms512m -Xmx512m" #设置使用jvm内存大小
  17. es-head:
  18. container_name: es-head
  19. image: mobz/elasticsearch-head:5
  20. restart: always
  21. ports:
  22. - 9100:9100
  23. depends_on:
  24. - es-master
  25. kibana:
  26. container_name: kibana
  27. hostname: kibana
  28. image: kibana:7.10.1
  29. restart: always
  30. ports:
  31. - 5601:5601
  32. volumes:
  33. - /home/elasticsearch/kibana.yml:/usr/share/kibana/config/kibana.yml
  34. environment:
  35. - elasticsearch.hosts=http://本机外网ip:9200 #设置访问ES的入口
  36. depends_on:
  37. - es-master

挂载目录

  1. mkdir /home/elasticsearch/data
  2. mkdir /home/elasticsearch/logs
  3. chmod 777 /home/elasticsearch/data /home/elasticsearch/logs

image.png

调整虚拟内存域数量

  1. sysctl -w vm.max_map_count=262144
  2. sysctl -p
  3. # 上面这种解决办法只是临时的,如果服务器重启的话,就需要重新设置一下,可以到配置文件修改一下
  4. # 在sysctl添加一行配置:
  5. vim /etc/sysctl.conf
  6. vm.max_map_count=262144

启动预览

挂载运行

  1. docker-compose up --build -d

Elasticsearch预览

image.png

Head预览

image.png

Kibana预览

image.png
image.png

Head无法预览ES数据解决

预览数据出现406导致数据没有加载出来
需配置Head容器下/usr/src/app/_site/vendor.js文件

  1. 6886
  2. contentType: "application/x-www-form-urlencoded"
  3. 修改为
  4. contentType: "application/json;charset=UTF-8"
  5. 7573
  6. var inspectData = s.contentType === "application/x-www-form-urlencoded" &&
  7. 修改为
  8. var inspectData = s.contentType === "application/json;charset=UTF-8" &&

修改后保存退出,不需要重启容器。刷新浏览器,可预览数据未出现报错
image.png

在Kibana中通过RESTful API 操作ES

部署logstash https://blog.csdn.net/weixin_37644979/article/details/109206087