注:本文对应ES版本为:8.4.2
1、下载、部署与测试
参考文献:官方Docker部署导航
第一步,获取ES的image
docker pull docker.elastic.co/elasticsearch/elasticsearch:8.4.2
第二步,创建一个供ES和Kibana使用的网络
docker network create elastic
第三步,启动ES,注意,在Docker的输出信息中,会记录有ES用户密码和注册Kibana用的Token。一定要记录,仅在第一次启动时显示。
docker run --name es01 --net elastic -p 9200:9200 -p 9300:9300 -it elasticsearch:8.4.2
第四步,从docker中拷贝信息CA证书信息(http_ca.crt)
docker cp es01:/usr/share/elasticsearch/config/certs/http_ca.crt .
第五步,使用http_ca.crt测试ES是否正常工作
curl --cacert http_ca.crt -u elastic https://localhost:9200
*2、添加新的节点至Cluster中
第一步,重新生成Token
docker exec -it es01 /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s node
第二步,添加新的Docker ES节点
docker run -e ENROLLMENT_TOKEN="<token>" --name es02 --net elastic -it elasticsearch:8.4.2
*3、设置JVM堆空间大小
docker run -e ES_JAVA_OPTS="-Xms1g -Xmx1g" -e ENROLLMENT_TOKEN="<token>" --name es02 -p 9201:9200 --net elastic -it elasticsearch:elasticsearch:8.4.2
*4、生产环境
在生产环境中,需要设置vm.max_map_count不小于262144
5、添加fscrawler
5.1、使用此命令创建fscrawler的docker
docker run -it --network elastic --rm -v ~/.fscrawler:/root/.fscrawler -v ~/tmp:/tmp/es:ro dadoonet/fscrawler:2.10-SNAPSHOT fscrawler job_name
5.2、配置~/.fscrawler/_settings.yml
通过_settings.yml连接到ElasticSearch
而后重新运行fscrawler的docker