侧边栏壁纸
博主头像
千异博主等级

学无止境,学以致用,志存高远!

  • 累计撰写 29 篇文章
  • 累计创建 26 个标签
  • 累计收到 0 条评论

docker安装elasticsearch和kibana

千异
2022-07-02 / 0 评论 / 0 点赞 / 1,200 阅读 / 2,539 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-07-02,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

最近工作使用到这两个环境,正巧Windows的子系统wsl2已经越来越强大,因此想到使用docker去安装这两个工具。但是网上的诸多教程都是乱七八糟,完全不适用。甚至大多数教程都使用的是非官方的kibana镜像,本人有洁癖,能用官方的决不会用来路不明的。但是官方的镜像vi命令都没有,所以编辑文本又成了问题,想要安装vi又提示软件源中没有此包。于是自己找了好久终于找到一个可用的教程,特此记录。

  1. 首先拉取镜像,如果不拉取镜像直接创建容器也行,会自动帮你拉取镜像的。
    但是为了合理利用网络资源,首先拉取两个镜像,后面不需要再等待下载。
    下面两个是截止至2022年7月2日的最新镜像,这里需要注意,必须写明版本号,因为这两个镜像都没有latest标签,所以不写版本号拉不了最新版本。而且kibana和elastic的版本号必须一致,小版本号都要一模一样。
docker pull elasticsearch:8.3.1
docker pull kibana:8.3.1
  1. 创建elasticsearch容器
docker run -itd --name elasticsearch -v ~/elasticsearch/plugins:/usr/share/elasticsearch/plugins -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:8.3.1
  1. 修改elasticsearch密码
docker exec -it elasticsearch bash	#首先进入容器
cp config/elasticsearch.yml config/elasticsearch.yml.bak20220702 #备份配置文件
vi config/elasticsearch.yml	#修改配置文件

配置文件完整内容如下:

cluster.name: "docker-cluster"
network.host: 0.0.0.0

#----------------------- BEGIN SECURITY AUTO CONFIGURATION -----------------------
#
# The following settings, TLS certificates, and keys have been automatically
# generated to configure Elasticsearch security features on 02-07-2022 02:36:02
#
# --------------------------------------------------------------------------------

# Enable security features
xpack.security.enabled: true

xpack.security.enrollment.enabled: true

# Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents
xpack.security.http.ssl:
  enabled: true
  keystore.path: certs/http.p12

# Enable encryption and mutual authentication between cluster nodes
xpack.security.transport.ssl:
  enabled: true
  verification_mode: certificate
  keystore.path: certs/transport.p12
  truststore.path: certs/transport.p12
#----------------------- END SECURITY AUTO CONFIGURATION -------------------------
xpack.license.self_generated.type: basic
http.cors.allow-methods: OPTIONS, HEAD, GET, POST, PUT, DELETE
http.cors.allow-headers: Content-Type,Accept,Authorization, x-requested-with

然后保存退出,按Ctrl+P+Q退出容器。

docker restart elasticsearch	#重启容器
docker exec -it elasticsearch bash	#再次进入容器
cd bin	#进入bin目录
elasticsearch-setup-passwords interactive	#设置密码,可能需要按Y确认,如果之前已经使用过其他命令重置过密码,使用此命令会报错。
  1. 安装kibana
docker run -itd --name kibana -p 5601:5601  -e "I18N_LOCALE=zh-CN" kibana:8.3.1	#使用此命令启动的kibana默认就是中文语言,别信网上说的官方只有英文,还让你安装半天的各种插件
  1. 访问http://localhost:5601/
    image.png

  2. 获取elasticsearch令牌

docker exec -it elasticsearch bash	#进入elasticsearch容器内部
cd bin	#进入bin目录
elasticsearch-create-enrollment-token --scope kibana	#获取令牌,会输出一堆字符,复制到上面截图的地方

image.png
点击配置两个字,会看见下面图片中的内容:
image.png
图中写了如何获取验证码的命令,但是此命令是Windows系统使用的,因为是bat脚本,所以我们依葫芦画瓢,把bat换成sh即可,也可以不写。

docker exec -it kibana bash	#首先进入kibana容器内部,得先退出上一个容器,返回宿主机,再执行此命令
cd bin	#进入bin目录
kibana-verification-code	#获取验证码

image.png
输入验证即可。可能还会让你输入帐号密码,帐号就是elastic,密码是你前面设置的。
image.png

0
博主关闭了所有页面的评论