包含当前最新版Elasticsearch、Head、Kibana的搭建及配置,ik分词器插件的引用。
配置文件与挂载目录准备
es-master.yml
# 集群名称cluster.name: es-cluster# 节点名称node.name: es-node1# 是否可以成为master节点node.master: true# 是否允许该节点存储数据,默认开启node.data: true# 网络绑定network.host: 0.0.0.0network.publish_host: 本机外网ip# 设置对外服务的http端口http.port: 9200# 设置节点间交互的tcp端口transport.port: 9300# 集群发现discovery.seed_hosts:- 本机外网ip# 手动指定可以成为 mater 的所有节点的 name 或者 ip,这些配置将会在第一次选举中进行计算cluster.initial_master_nodes:- es-node1# 支持跨域访问http.cors.enabled: truehttp.cors.allow-origin: "*"# 安全认证xpack.security.enabled: false#http.cors.allow-headers: "Authorization"
kibana.yml
# 服务端口server.port: 5601# 服务IPserver.host: "0.0.0.0"# ESelasticsearch.hosts: ["http://本机外网ip:9200"]# 汉化i18n.locale: "zh-CN"
docker-compose.yml
version: "3"services:es-master:container_name: es-masterhostname: es-masterimage: elasticsearch:7.10.1restart: alwaysports:- 9200:9200- 9300:9300volumes:- /home/elasticsearch/es-master.yml:/usr/share/elasticsearch/config/elasticsearch.yml- /home/elasticsearch/data:/usr/share/elasticsearch/data- /home/elasticsearch/logs:/usr/share/elasticsearch/logsenvironment:- "ES_JAVA_OPTS=-Xms512m -Xmx512m" #设置使用jvm内存大小es-head:container_name: es-headimage: mobz/elasticsearch-head:5restart: alwaysports:- 9100:9100depends_on:- es-masterkibana:container_name: kibanahostname: kibanaimage: kibana:7.10.1restart: alwaysports:- 5601:5601volumes:- /home/elasticsearch/kibana.yml:/usr/share/kibana/config/kibana.ymlenvironment:- elasticsearch.hosts=http://本机外网ip:9200 #设置访问ES的入口depends_on:- es-master
挂载目录
mkdir /home/elasticsearch/datamkdir /home/elasticsearch/logschmod 777 /home/elasticsearch/data /home/elasticsearch/logs
调整虚拟内存域数量
sysctl -w vm.max_map_count=262144sysctl -p# 上面这种解决办法只是临时的,如果服务器重启的话,就需要重新设置一下,可以到配置文件修改一下# 在sysctl添加一行配置:vim /etc/sysctl.confvm.max_map_count=262144
启动预览
挂载运行
docker-compose up --build -d
Elasticsearch预览
Head预览
Kibana预览
Head无法预览ES数据解决
预览数据出现406导致数据没有加载出来
需配置Head容器下/usr/src/app/_site/vendor.js文件
6886行contentType: "application/x-www-form-urlencoded"修改为contentType: "application/json;charset=UTF-8"7573行var inspectData = s.contentType === "application/x-www-form-urlencoded" &&修改为var inspectData = s.contentType === "application/json;charset=UTF-8" &&
修改后保存退出,不需要重启容器。刷新浏览器,可预览数据未出现报错
在Kibana中通过RESTful API 操作ES
部署logstash https://blog.csdn.net/weixin_37644979/article/details/109206087

