6

【笔记】通过Docker部署Elasticsearch

 1 year ago
source link: https://feiju12138.github.io/2022/11/03/%E9%80%9A%E8%BF%87Docker%E9%83%A8%E7%BD%B2Elasticsearch/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

通过Docker部署Elasticsearch

创建一个网络

es-network:定义一个网络名称

docker network create es-network

部署Elasticsearch

  • 本案例以7.12.1版本部署为例
docker pull elasticsearch:7.12.1

创建用于映射数据卷的目录

mkdir -p /root/es/es-data
mkdir -p /root/es/es-plugins

-e "ES_JAVA_OPTS=-Xms512m -Xmx512m":指定JVM的内存,默认为1T
-e "discovery.type=single-node":指定启动的模式为单点模式
-v es-data::指定数据保存目录
-v es-plugins::指定插件目录
--network es-network:指定网络
-p 9200:9200:指定HTTP协议接口的端口映射
-p 9300:9300:指定各个节点之间通讯的端口映射

docker run \
--name es \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
-e "discovery.type=single-node" \
-v es-data:/root/es/es-data \
-v es-plugins:/root/es/es-plugins \
--privileged \
--network es-network \
-p 9200:9200 \
-p 9300:9300 \
-d \
elasticsearch:7.12.1

01.png

部署Kibana

  • Kibana需要与Elasticsearch在同一个网络
  • 本案例以7.12.1版本部署为例
docker pull kibana:7.12.1

-e ELASTICSEARCH_HOSTS=http://es:9200:指定Elasticsearch容器的地址。如果不指定,缺省值为http://elasticsearch:9200
--network es-network:指定网络

docker run \
--name kibana \
-e ELASTICSEARCH_HOSTS=http://es:9200 \
--network es-network \
-p 5601:5601 \
-d \
kibana:7.12.1

02.png

部署ik分词器

docker exec -it es /bin/bash
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.12.1/elasticsearch-analysis-ik-7.12.1.zip
exit
docker restart es
  • 拉取Kibana镜像时报错:no matching manifest for linux/arm64/v8 in the manifest list entries
  • AppleSilicon与Intel不兼容
  • 强制拉取x86_64架构的镜像

--platform linux/x86_64:如果有多种架构的镜像版本,指定需要拉取的架构版本

docker pull --platform linux/x86_64 kibana:7.12.1
  • 运行Kibana容器后,访问管理页面不成功,前段报错:Kibana server is not ready yet,后端报错:License information could not be obtained from Elasticsearch due to Error: No Living connections erroUnable to retrieve version information from Elasticsearch nodes.
  • Kibana配置的Elasticsearch地址不正确
  • 配置文件config/kibana.yml中配置的Elasticsearch地址缺省值为:elasticsearch.hosts: [ "http://elasticsearch:9200" ]
  • 将Elasticsearch启动时,名称改为elasticsearch
  • 修改配置文件config/kibana.yml中Elasticsearch地址的配置
  • 在运行容器时,根据当前的Elasticsearch地址,指定环境变量-e ELASTICSEARCH_HOSTS=http://es:9200

哔哩哔哩——黑马程序员
CSDN——会写代码的花城
CSDN——Elsez


Recommend

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK