Docker安装ES、Kibana
# ES
拉取镜像
docker pull elasticsearch:7.9.3
1
单节点运行,并设置内存大小,防止小内存服务器直接爆了
docker run -d \
-v /etc/localtime:/etc/localtime \
--name=es -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms128m -Xmx1024m" elasticsearch:7.9.3
1
2
3
4
5
2
3
4
5
9300是多节点时通信用
进入容器做一些配置 (可选吧,我不配置它确实是是没出现问题。)
#进入es容器内容
docker exec -it es /bin/bash
#修改es配置文件
vi /usr/share/elasticsearch/config/elasticsearch.yml
#添加以下配置(允许跨域)
http.cors.enabled: true
http.cors.allow-origin: "*"
# 最后重启即可
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# Kibana
拉取镜像
docker pull kibana:7.9.3
1
运行
docker run -d -v /etc/localtime:/etc/localtime --name kibana -p 5601:5601 kibana:7.9.3
1
进入容器,修改配置,kibana中文、es地址等配置
# 首先查看ES容器内部IP是多少,等会要去填的
docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' es
# 进入kibana容器
docker exec -it kibana /bin/bash
# 编辑kibana配置文件
vi /usr/share/kibana/conf/kibana.yml
# 修改以下点:
i18n.locale: "zh-CN"
elasticsearch.hosts: [ "http://你刚才查的ip:9200" ]
# 最后重启即可
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
# 安装IK分词器插件、Ingest Attachment 插件
下载不了右键复制链接,浏览器下载去
ingest-attachment-7.9.3.zip (opens new window)
elasticsearch-analysis-ik-7.9.3.zip (opens new window)
下载好了放到服务器上,然后拷贝到容器当中去
docker cp elasticsearch-analysis-ik-7.9.3.zip es:/opt/
docker cp ingest-attachment-7.9.3.zip es:/opt/
# 命令格式:docker cp 你的文件 容器:容器内文件
1
2
3
2
3
我这里是将两个压缩包放在了容器内的/opt
下面,然后进入ES容器,进入ES的bin
文件夹执行下面的命令安装
# 进入容器
docker exec -it es /bin/bash
#安装命令
/usr/share/elasticsearch/bin/elasticsearch-plugin install file:///opt/ingest-attachment-7.9.3.zip
1
2
3
4
5
2
3
4
5
另外一个也是一样的。
最后执行如下命令看看两个插件是否都有了
/usr/share/elasticsearch/bin/elasticsearch-plugin list
1
最后退(exit)出容器,重启(docker restart es)ES即可。
# 补充:给es和kibana设置密码
- 进入es容器
docker exec -it es /bin/bash
,编辑elasticsearch.yml 文件,在最后添加内容:
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
1
2
3
4
5
2
3
4
5
- 重启后在此进入es容器,进入bin目录下执行
./elasticsearch-setup-passwords interactive
1
中途输入 Y ,然后输入好多遍自定义的密码,我这边输入的是qwer1234,记好了,等会儿要用。
退出、重启es后再次访问你的ES:9200地址,就需要填账号密码了:账号elastic 密码 qwer1234
进入kibana容器,编辑kibana.yml文件,最下面添加账号密码即可
# 注意这里配置的是 kibana 哈
elasticsearch.username: "kibana"
elasticsearch.password: "qwer1234"
1
2
3
2
3
- 退出、重启kibana,然后访问Kibana:5601地址,就需要填写账号密码了。
特别注意点:
登录Kibana时请使用账号:elastic qwer1234
如果使用: kibana qwer1234 那么登录成功后会403!!!!
编辑 (opens new window)
上次更新: 2023/05/30, 06:56:38