安装 Elasticsearch

1、下载 Elasticsearch 镜像

  1. docker pull elasticsearch:7.7.0

2、在 Linux 本机上创建文件夹,用于挂载容器数据

  1. mkdir -p /mydata/elasticsearch/config
  2. mkdir -p /mydata/elasticsearch/data
  3. chmod -R 777 /mydata/elasticsearch/

3、设置为外部可访问

  1. echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml

4、启动容器

9200端口是发送 http 请求所用,9300用于集群间的通讯,ES_JAVA_OPTS 设置内存大小(初始64m,最大占用512m,不设置可能会导致 Elasticsearch 占满虚拟机内存)

  1. docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
  2. -e "discovery.type=single-node" \
  3. -e ES_JAVA_OPTS="-Xms64m -Xms512m" \
  4. -v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
  5. -v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
  6. -v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
  7. -d elasticsearch:7.6.2

5、测试是否运行成功

访问:http://111.229.31.244:9200/
image.png

到这里,你会认为启动成功,但是过一会elasticsearch会自动关闭:
查看其启动日志:

  1. docker logs 容器ID

发现如下报错:

  1. ERROR: bootstrap checks failed
  2. max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

需要更改最小内存,命令如下:
image.png
再次运行启动命令:

  1. docker run -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -d -p 9200:9200 -p 9300:9300 --name es01 elasticsearch:5.6.9

可视化界面 Kibana

如果想要可视化界面,可以安装 Kibana,不安装也不影响使用

1、下载 kibana 镜像

  1. docker pull kibana:7.4.2

2、启动容器

  1. docker run --name kibana \
  2. -e ELASTICSEARCH_HOSTS=http://111.229.31.144:9200 \
  3. -p 5601:5601 -d kibana:7.4.2

3、测试是否启动成功


Elasticsearch 安装ik

1、进入Elasticsearch 容器

  1. docker exec -it elasticsearch /bin/bash

创建IK 文件夹:

  1. makdir /usr/share/elasticsearch/plugins/ik

/usr/share/elasticsearch/plugins/ik

2、上传IK 离线包

上传文件包:
cd /usr/local
image.png

3、复制到容器内部IK 文件夹

  1. docker cp /usr/local/elasticsearch-analysis-ik-7.8.0.zip elasticsearch:/usr/share/elasticsearch/plugins/ik

image.png
解压文件夹:

  1. unzip elasticsearch-analysis-ik-7.8.0.zip

image.png

4、测试