规划
使用docker方式极简安装elaticsearch-7.17.2和kibana-7.17.2,同时elaticsearch配置中文分词插件ik分词器,适宜自研、开发和测试。
镜像
-
docker.elastic.co/elasticsearch/elasticsearch:7.17.2 :官方镜像,同时支持x86-64和arm64v8,树莓派可用
-
docker.elastic.co/kibana/kibana:7.17.2 :官方镜像,同时支持x86-64和arm64v8,树莓派可用
宿主机
- 基础环境:centos-7.8/centos-7.9+docker-19.03.8
- 配置目录:无
- 配置文件:无
- 数据目录:/home/docker/server/elasticsearch/data
- 日志目录:/home/docker/server/elasticsearch/logs
- 插件目录:/home/docker/server/elasticsearch/plugins
- 开放端口:9200,9300,5601
- 网络模式:host
拉取镜像
# x86-64 & arm64v8
docker pull docker.elastic.co/elasticsearch/elasticsearch:7.17.2
docker pull docker.elastic.co/kibana/kibana:7.17.2
启动容器
x86版本
# 启动elasticsearch
docker run -d \
--name=elasticsearch \
--net=host \
--privileged=true --restart always \
-e TZ=Asia/Shanghai \
-e "discovery.type=single-node" \
-v /home/docker/server/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-v /home/docker/server/elasticsearch/data:/usr/share/elasticsearch/data \
-v /home/docker/server/elasticsearch/logs:/usr/share/elasticsearch/logs \
docker.elastic.co/elasticsearch/elasticsearch:7.17.2
# 启动kibana 注意${ip}替换为宿主机IP
docker run -d \
--name kibana \
--net=host \
--privileged=true --restart always \
-e TZ=Asia/Shanghai \
-e "ELASTICSEARCH_HOSTS=http://${ip}:9200" \
docker.elastic.co/kibana/kibana:7.17.2
# 安装ik分词器,elasticsearch容器启动成功之后,可以操作
docker exec -it elasticsearch bash
root@pi129:/usr/share/elasticsearch# /usr/share/elasticsearch/bin/elasticsearch-plugin -v install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.17.2/elasticsearch-analysis-ik-7.17.2.zip
-> Installing https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.17.2/elasticsearch-analysis-ik-7.17.2.zip
-> Downloading https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.17.2/elasticsearch-analysis-ik-7.17.2.zip
[=================================================] 100%??
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: plugin requires additional permissions @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
* java.net.SocketPermission * connect,resolve
See https://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html
for descriptions of what these permissions allow and the associated risks.
Continue with installation? [y/N]y
-> Installed analysis-ik
-> Please restart Elasticsearch to activate any plugins installed
root@pi129:/usr/share/elasticsearch#
# 要使ik分词器生效,需要重启elasticsearch容器
docker restart elasticsearch
注意:一般情况下,启动elasticsearch会遇到下面这个问题
这是因为容器里实际运行用户对宿主机挂载目录没有操作权限,执行如下操作
chmod 777 -R /home/docker/server/elasticsearch
或者
chown -R 1000:1000 /home/docker/server/elasticsearch
稍等片刻,或者主动重启容器就好了。
arm64v8版本
同x86
使用容器
- 访问地址:http://$:5601
删除容器
docker stop kibana elasticsearch && docker rm kibana elasticsearch
# 强制删除
docker rm -f kibana elasticsearch
日常运维
docker start kibana elasticsearch
docker restart kibana elasticsearch
docker stop kibana elasticsearch
评论区