docker安装elasticsearch:7.17.21

发布于:2024-05-08 ⋅ 阅读:(32) ⋅ 点赞:(0)

docker安装elasticsearch:7.17.21

  1. 下载对应版本的docker镜像
docker pull docker.elastic.co/elasticsearch/elasticsearch:7.17.21
  1. 启动容器
docker run --name elasticsearch-test -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -t docker.elastic.co/elasticsearch/elasticsearch:7.17.21
  1. 检查elasticsearch是否启动正常
[root@localhost ~]# curl 'http://192.168.1.114:9200'  # 请求响应结果如下:
{
  "name" : "f8a41f8d81bf",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "4wbWMMTRSfWyV1JDjjz17Q",
  "version" : {
    "number" : "7.17.21",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "d38e4b028f4a9784bb74de339ac1b877e2dbea6f",
    "build_date" : "2024-04-26T04:36:26.745220156Z",
    "build_snapshot" : false,
    "lucene_version" : "8.11.3",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}
[root@localhost ~]# 

  1. 下载对应版本的kibana镜像
docker pull docker.elastic.co/kibana/kibana:7.17.21
  1. 启动kibana
docker run -t --name kibana-test -p 5601:5601 docker.elastic.co/kibana/kibana:7.17.21
  1. 配置kibana
# 1、查看Kibana容器id

docker ps
# 2、进入到容器

docker exec -it kibana容器id /bin/bash
# 3、查看目录并进入到config目录下

ls
cd config
# 4、编辑 kibana.yml 文件
# 替换elasticsearch.hosts配置中elasticsearch地址为你自己的
sed -i 's/elasticsearch:9002/192.168.1.114:9200/g' ./kibana.yml

# 5、编辑kibana.yml文件末尾添加中文配置
echo -e "\n" >> kibana.yml
echo 'i18n.locale: "zh-CN"' >> kibana.yml


# 6、修改完成 退出容器


# 7、重启kibana

docker restart kibana容器Id
  1. 浏览器进入kibana页面:http://192.168.1.114:5601/,页面正常打开如下:
    配置成功kibana页面

如果想要使用密码访问,可按如下教程

对于Docker安装的Elasticsearch 7.17.21版本,开启密码验证(即X-Pack安全功能)可以通过以下步骤实现:

一、修改Elasticsearch配置文件:

  1. 首先,你需要进入Elasticsearch的容器。假设你的容器名为elasticsearch,可以使用以下命令进入容器:
docker exec -it elasticsearch bash
  1. 进入容器后,导航到Elasticsearch的配置目录(通常是/usr/share/elasticsearch/config),并编辑elasticsearch.yml文件:
cd /usr/share/elasticsearch/config  
vi elasticsearch.yml
  1. 在elasticsearch.yml文件中添加或确保有以下配置行来启用X-Pack安全功能:
xpack.security.enabled: true  
xpack.security.transport.ssl.enabled: true

注意: 如果你打算使用HTTPS,那么xpack.security.transport.ssl.enabled应该设置为true。如果你只是想要HTTP认证,并且不关心传输加密,那么可以将它设置为false。

二、设置密码:

上一步中退出容器(按Esc,然后输入:wq并回车保存并退出vi编辑器)。

在Docker宿主机上运行Elasticsearch的setup-passwords命令来初始化密码。这通常通过docker exec命令在容器内部执行:

docker exec -it elasticsearch-test elasticsearch-setup-passwords interactive

你会被提示为默认用户(如elastic、kibana、logstash_system等)设置密码。
重启Elasticsearch容器:

为了使配置更改生效,你需要重启Elasticsearch容器。这可以通过docker restart命令完成:

docker restart elasticsearch-test

(可选)配置Kibana进行身份验证:

如果你还使用Kibana,你需要在Kibana的配置文件(通常是/usr/share/kibana/config/kibana.yml)中添加Elasticsearch的身份验证凭据。这可以通过设置elasticsearch.username和elasticsearch.password字段来完成。

你还需要在Kibana的配置中启用X-Pack安全功能(如果尚未启用)。
进入Kibana容器:
使用docker exec命令进入Kibana容器。你需要知道你的Kibana容器的ID或名称。

docker exec -it <kibana_container_id_or_name> /bin/bash

修改配置文件:
在容器内部,导航到Kibana的配置目录(这可能会根据你的Kibana版本和Docker镜像而有所不同,但通常位于/usr/share/kibana/config/)。然后,使用文本编辑器(如vi或nano)修改kibana.yml文件。

cd /usr/share/kibana/config/  
vi kibana.yml

配置身份验证:
在kibana.yml文件中,你可以配置Kibana的身份验证设置。Kibana支持多种身份验证方法,包括基于用户名和密码的身份验证、基于角色的访问控制(RBAC)以及第三方身份提供商集成。
以下是一个简单的基于用户名和密码的身份验证配置示例:

elasticsearch.username: "kibana_user"  # 你的Elasticsearch用户名  
elasticsearch.password: "your_password"  # 你的Elasticsearch密码

注意:这里的用户名和密码是你在Elasticsearch中设置的,用于Kibana与Elasticsearch之间的通信。你需要确保这些凭据在Elasticsearch中是有效的。
重启Kibana容器:
为了使配置更改生效,你需要重启Kibana容器。使用docker restart命令重启容器。

docker restart <kibana_container_id_or_name>

浏览器打开链接测试:http://192.168.1.114:5601/ 页面需要登录了,如下图:
kibana登录页