最近想深入学习ES,想在它的基础上定制日志收集中间件,所以特定把它记录下来
创建ES配置文件 elasticsearch.yml,把文件放到 config目录下
# 集群名称 cluster.name: kite-es-cluster # 节点名称 node.name: kite-es-node-1 # 绑定host,0.0.0.0代表当前节点的ip network.host: 0.0.0.0 # 是否支持跨域,默认为false http.cors.enabled: true # 当设置允许跨域,默认为*,表示支持所有域名,如果我们只是允许某些网站能访问,那么可以使用正则表达式。比如只允许本地地址。 /https?:\/\/localhost(:[0-9]+)?/ http.cors.allow-origin: "*" #初始化主节点 cluster.initial_master_nodes: ["kite-es-node-1"] #本地只有一个节点,无法正常启动,先注释
创建docker-compose.yml 容器编排文件
version: '3.9'
services:
elasticsearch:
image: elasticsearch:8.1.2
restart: always
hostname: kite.elasticsearch
container_name: kite.elasticsearch
volumes:
- ./data:/usr/share/elasticsearch/data
- ./plugins:/usr/share/elasticsearch/plugins
- ./config/elasticsearch.yml:/config/elasticsearch.yml
environment:
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
- discovery.type=single-node
ports:
- '9200:9200' #java、集群通信端口
- '9300:9300' #http通信端口
privileged: true #环境变量
上面代码中红色标识配置文件的挂在,网上搜了很多资料是:
./config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
但是ES8.X配置文件目录实际上是在 /config/elasticsearch.yml
进入docker-compose.yml所在目录,打开命令行 执行docker-compose up -d 即可