使用docker安装部署ES8+kibana,以及https配置生成

1.容器拉取

es8拉取

docker pull docker.elastic.co/elasticsearch/elasticsearch:8.15.0

kibana拉取

docker pull docker.elastic.co/kibana/kibana:8.15.0

2.部署容器

1.ES8部署
docker run --name es0
  -p 9200:9200
  -e "ES_JAVA_OPTS=-Xms2048m -Xmx2048m"
  -e "discovery.type=single-node"
  -v 路径/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
  -v 路径/data:/usr/share/elasticsearch/data
  -v 路径/backup:/usr/share/elasticsearch/backup
  docker.elastic.co/elasticsearch/elasticsearch:8.15.0

路径自行替换成持久化路径

先创建好指定路径文件夹,并创建好yml配置文件:

cluster.name: "docker-cluster"
network.host: 0.0.0.0
path.repo: ["/usr/share/elasticsearch/backup"]
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: X-Requested-With,Content-Type,Content-Length,Authorization
xpack.security.enrollment.enabled: true
xpack.security.http.ssl.enabled: false
2.Kibana部署
docker run --name kib01 -p 5601:5601 -e I18N_LOCALE=zh-CN docker.elastic.co/kibana/kibana:8.15.0

3.生成SSL证书并完成部署初始化

1.进入ES8容器
docker exec -it es0 /bin/bash
2.使用ES8自带工具生成SSL证书
./bin/elasticsearch-certutil http

1.是否生成CSR(N)

2.是否使用现有证书(N)

3.是否修改生成证书配置(N)

4.输入证书的密码

5.生成证书有效时长(5Y)

6.是否单点证书(Y)

7.输入内网IP

8.再次输入确认

9.是否修改配置(N)

10.输入生成的路径(/usr/share/elasticsearch/data/ssl.zip)

3.解压并配置SSL

生成完成后到指定的路径/data进行解压

unzip ssl.zip -d  ssl

修复错误 (解决参考):

ERROR: Unable to create an enrollment token. Elasticsearch node HTTP layer SSL configuration Keystore doesn't contain any PrivateKey entries where the associated certificate is a CA certificate 

keytool -importkeystore -destkeystore 路径/data/ssl/ca/ca.p12 -srckeystore 路径/data/ssl/elasticsearch/http.p12 

修改yml配置:

cluster.name: "docker-cluster"
network.host: 0.0.0.0
path.repo: ["/usr/share/elasticsearch/backup"]
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: X-Requested-With,Content-Type,Content-Length,Authorization
xpack.security.enrollment.enabled: true
xpack.security.http.ssl.enabled: true
xpack.security.http.ssl.keystore.path: /usr/share/elasticsearch/data/ssl/ca/ca.p12
xpack.security.http.ssl.keystore.password: "设置的密码"

然后重启ES8的docker容器

4.获取令牌和重置初始密码

1.获取令牌(注意先进入容器)

bin/elasticsearch-create-enrollment-token -s kibana

2.重置密码

bin/elasticsearch-reset-password -u elastic

4.完成Kibana配置

1.将先前获取的令牌填入

2.输入账号密码登录

### 使用 Docker Compose 安装 Elasticsearch 8Kibana 为了使用 Docker Compose 安装 Elasticsearch 8Kibana,需准备 `docker-compose.yml` 文件来定义服务。以下是具体方法: 创建一个新的目录用于保存配置文件和服务定义,并在此目录内新建名为 `docker-compose.yml` 的文件。 #### 编写 docker-compose.yml 文件 在该文件中指定版本并定义所需的服务,包括 ElasticsearchKibana。对于 Elasticsearch 8.x 版本来说,需要注意一些特定设置以确保容器间通信正常工作以及防止启动失败。 ```yaml version: '3.4' services: es01: image: docker.elastic.co/elasticsearch/elasticsearch:8.10.4 container_name: es01 environment: - discovery.type=single-node - ELASTIC_PASSWORD=your_password_here - "ES_JAVA_OPTS=-Xms512m -Xmx512m" ulimits: memlock: soft: -1 hard: -1 ports: - 9200:9200 - 9300:9300 volumes: - esdata01:/usr/share/elasticsearch/data kib01: depends_on: - es01 image: docker.elastic.co/kibana/kibana:8.10.4 container_name: kib01 environment: ELASTICSEARCH_HOSTS: http://es01:9200 ELASTICSEARCH_USERNAME: elastic ELASTICSEARCH_PASSWORD: your_password_here ports: - 5601:5601 volumes: esdata01: driver: local ``` 上述 YAML 配置指定了两个主要组件——Elasticsearch 实例 (`es01`) 及其配套的可视化工具 Kibana (`kib01`)。通过端口映射使得可以从主机访问这些服务[^1]。 执行命令启动服务: ```bash docker-compose up -d ``` 这会下载必要的镜像(如果本地不存在的话),然后以前台模式运行这两个服务实例。参数 `-d` 表示后台运行。 等待一段时间让所有服务完全初始化之后就可以通过浏览器访问 Kibana UI 页面,默认地址为 `http://localhost:5601/`[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值