Docker 安装 ES8 和 Kibana
https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html
Docker 安装 ES8
安装 ES
# 创建一个单独的 es 网络
docker network create elastic
# pull es 镜像
docker pull docker.elastic.co/elasticsearch/elasticsearch:8.12.2
# 启动 es,并且限制一下内存
docker run --name es01 --net elastic -p 9200:9200 -it -m 1GB docker.elastic.co/elasticsearch/elasticsearch:8.12.2
容器启动过后会出现下面的内容,这里会包含 elastic 的一个初始用户和密码,并且也会输出一个用于 kibana 链接的 token 在 30 分钟内有效。这个密码后期也可以重置,不过建议还是好好保存一下,避免麻烦。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
✅ Elasticsearch security features have been automatically configured!
✅ Authentication is enabled and cluster connections are encrypted.
ℹ️ Password for the elastic user (reset with `bin/elasticsearch-reset-password -u elastic`):
oQuOvvZWZ_Yl*MP4Qdx+
ℹ️ HTTP CA certificate SHA-256 fingerprint:
069ac73fc5c8ad9d14aaa3a1d6c4ba92cbfebab0354254c5e1512855cfc34dbe
ℹ️ Configure Kibana to use this cluster:
* Run Kibana and click the configuration link in the terminal when Kibana starts.
* Copy the following enrollment token and paste it into Kibana in your browser (valid for the next 30 minutes):
eyJ2ZXIiOiI4LjEyLjIiLCJhZHIiOlsiMTcyLjE5LjAuMjo5MjAwIl0sImZnciI6IjA2OWFjNzNmYzVjOGFkOWQxNGFhYTNhMWQ2YzRiYTkyY2JmZWJhYjAzNTQyNTRjNWUxNTEyODU1Y2ZjMzRkYmUiLCJrZXkiOiJLQ2o4VVk0QlZqTFJyVldaM3gwUzpXRkcxWHpuUVF5LURiVDU1a1BDT0NnIn0=
ℹ️ Configure other nodes to join this cluster:
* Copy the following enrollment token and start new Elasticsearch nodes with `bin/elasticsearch --enrollment-token <token>` (valid for the next 30 minutes):
eyJ2ZXIiOiI4LjEyLjIiLCJhZHIiOlsiMTcyLjE5LjAuMjo5MjAwIl0sImZnciI6IjA2OWFjNzNmYzVjOGFkOWQxNGFhYTNhMWQ2YzRiYTkyY2JmZWJhYjAzNTQyNTRjNWUxNTEyODU1Y2ZjMzRkYmUiLCJrZXkiOiJLU2o4VVk0QlZqTFJyVldaM3gwWDpad1hEWWhuc1RPT2x4UjRzdHBmX013In0=
If you're running in Docker, copy the enrollment token and run:
`docker run -e "ENROLLMENT_TOKEN=<token>" docker.elastic.co/elasticsearch/elasticsearch:8.12.2`
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
拷贝证书
因为 ES8 默认是开启了安全认证的,为了后续的方便,这里我们可以先把证书拷贝出来,放在一个地方,后期会用到。
docker cp es01:/usr/share/elasticsearch/config/certs/http_ca.crt .
验证集群
在证书所在目录下执行下面命令
curl --cacert http_ca.crt -u elastic:$ELASTIC_PASSWORD https://localhost:9200
如果返回如下信息,则表示集群配置成功
{
"name" : "82fa82574efc",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "BC7jOUcjR-ut7toSNcOtkA",
"version" : {
"number" : "8.12.2",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "48a287ab9497e852de30327444b0809e55d46466",
"build_date" : "2024-02-19T10:04:32.774273190Z",
"build_snapshot" : false,
"lucene_version" : "9.9.2",
"minimum_wire_compatibility_version" : "7.17.0",
"minimum_index_compatibility_version" : "7.0.0"
},
"tagline" : "You Know, for Search"
}
Docker 安装 Kibana
# 拉取镜像
docker pull docker.elastic.co/kibana/kibana:8.12.2
# 启动 kibana 并且跟 es 使用同一个网络
docker run --name kib01 --net elastic -p 5601:5601 docker.elastic.co/kibana/kibana:8.12.2
启动过后,点击日志中的链接打开 5601 端口,输入上面的 token,即可,后续登录 kibana 的时候需要使用上面的 es 用户和密码。
发表评论