docker安装elasticsearch和kibana

本文档详细介绍了如何在Docker环境下安装Elasticsearch和Kibana,并解决了Elasticsearch的跨域访问问题。通过修改配置文件启用HTTP CORS并安装IK分词器以支持中文分词。同时,对于Kibana,文章也展示了如何设置为中文界面。这些步骤对于搭建和优化 Elasticsearch 和 Kibana 的中文搜索环境至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、ElasticSearch安装
1、使用以下命令安装:

docker run -d --name elasticsearch  -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.17.1

es安装完成之后在浏览器中打开http://localhost:9200这个网址,如果能看到以下信息则说明我们的es是已经安装好了的。

[root@localhost ~]#  curl localhost:9200
{
  "name" : "62c07e5f4ffc",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "GTc2BBM_QyS58nc6yfFq1w",
  "version" : {
    "number" : "7.17.1",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "e5acb99f822233d62d6444ce45a4543dc1c8059a",
    "build_date" : "2022-02-23T22:20:54.153567231Z",
    "build_snapshot" : false,
    "lucene_version" : "8.11.1",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

如果你是在服务器上安装,想要对外访问还必须打开你服务器的9200端口,然后将localhost换成你服务器的ip地址即可。

2、修改配置,解决跨域访问问题
首先进入到容器中,然后进入到指定目录修改elasticsearch.yml文件。

docker exec -it elasticsearch /bin/bash
cd /usr/share/elasticsearch/config/
vi elasticsearch.yml

在elasticsearch.yml的文件末尾加上:

http.cors.enabled: true
http.cors.allow-origin: "*"

修改配置后重启容器即可。

docker restart elasticsearch

3、安装ik分词器
es自带的分词器对中文分词不是很友好,所以我们下载开源的IK分词器来解决这个问题。首先进入到plugins目录中下载分词器,下载完成后然后解压,再重启es即可。具体步骤如下:
方法一:
注意:elasticsearch的版本和ik分词器的版本需要保持一致,不然在重启的时候会失败。可以在这查看所有版本,选择合适自己版本的右键复制链接地址即可。点击这里

docker exec -it elasticsearch /bin/bash
cd /usr/share/elasticsearch/plugins/
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.17.1/elasticsearch-analysis-ik-7.17.1.zip
exit
docker restart elasticsearch   

方法二:
当elasticsearch的版本和ik分词器的版本不一致时(假设elasticsearch版本为6.7.0,ik分词器版本为6.5.0),可以通过以下方法安装:

首先使用docker命令进入容器命令行界面

docker exec -it elasticsearch /bin/bash

之后从github上抓取ik分词器的压缩包:

wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.5.0/elasticsearch-analysis-ik-6.5.0.zip

之后再plugins下建立ik文件夹将压缩包解压进入此文件夹:

cd plugins/
mv ../elasticsearch-analysis-ik-6.5.0.zip ./ik/
unzip elasticsearch-analysis-ik-6.5.0.zip

之后编辑plugin-descriptor.properties文件

vi plugin-descriptor.properties
elasticsearch.version=6.7.0

重启elasticsearch即可
  
二、Kibana安装
1、安装

docker run --name kibana --link=elasticsearch:test  -p 5601:5601 -d kibana:7.17.1

2、修改中文
Kibana在6.7以后的版本,支持了多种语言。并且自带在安装包里。修改方式如下:

docker exec -it kibana /bin/bash
cd config
vi kibana.yml

在kibana.yml配置文件中新增一行:

i18n.locale: "zh-CN"  

保存之后重启容器。

### 使用 Docker 安装配置 Elasticsearch Kibana 教程 #### 创建必要的目录结构 为了更好地管理持久化数据,在主机上创建相应的目录用于存储ElasticsearchKibana的数据以及配置文件。 ```bash mkdir -p /home/docker/elasticsearch/data/ mkdir -p /home/docker/elasticsearch/config/ mkdir -p /home/docker/kibana/config/ ``` 对于Kibana的配置文件,可以按照如下方式创建并编辑: ```bash vi /home/docker/kibana/config/kibana.yml ``` 在此文件中设置连接至Elasticsearch的相关参数[^1]。 #### 下载官方镜像 通过Docker Hub或其他可信源获取最新的ElasticsearchKibana镜像。例如,执行以下命令来拉取指定版本的镜像: ```bash docker pull docker.elastic.co/elasticsearch/elasticsearch:8.12.1 docker pull docker.elastic.co/kibana/kibana:8.12.1 ``` 这里使用的是特定版本号`8.12.1`作为例子,实际应用时可以根据需求调整版本号[^4]。 #### 启动Elasticsearch服务 启动Elasticsearch实例并将本地路径映射给容器内的相应位置以便于访问日志其他资源。下面是一个简单的运行命令示例: ```bash docker run -d \ --name elasticsearch \ -e "discovery.type=single-node" \ -v /home/docker/elasticsearch/data:/usr/share/elasticsearch/data \ -v /home/docker/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \ -p 9200:9200 \ docker.elastic.co/elasticsearch/elasticsearch:8.12.1 ``` 上述命令设置了单节点集群模式,并开放了默认REST API端口9200供外部调用[^3]。 #### 配置与启动Kibana服务 同样地,也需要为Kibana准备一个合适的环境变量列表以确保其能够正常工作并与前面提到的Elasticsearch实例建立联系。以下是启动Kibana的一个基本方法: ```bash docker run -d \ --name kibana \ -e ELASTICSEARCH_HOSTS=http://localhost:9200 \ -v /home/docker/kibana/config/kibana.yml:/usr/share/kibana/config/kibana.yml \ -p 5601:5601 \ docker.elastic.co/kibana/kibana:8.12.1 ``` 注意这里的`ELASTICSEARCH_HOSTS`应该指向之前已经成功部署好的Elasticsearch地址。 #### 使用 `docker-compose` 进行简化管理 如果希望进一步简化多容器项目的管理工作,则推荐采用`docker-compose`工具。只需要定义好YAML格式的服务描述文档即可一键完成整个系统的搭建过程。比如这样一份典型的组合方案: ```yaml version: '3' services: elasticsearch: image: docker.elastic.co/elasticsearch/elasticsearch:8.12.1 container_name: elasticsearch environment: - discovery.type=single-node volumes: - ./data/elasticsearch:/usr/share/elasticsearch/data - ./config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml ports: - "9200:9200" kibana: image: docker.elastic.co/kibana/kibana:8.12.1 container_name: kibana environment: - ELASTICSEARCH_HOSTS=http://elasticsearch:9200 volumes: - ./config/kibana.yml:/usr/share/kibana/config/kibana.yml ports: - "5601:5601" depends_on: - elasticsearch ``` 保存以上内容到名为`docker-compose.yml`的文件里之后,只需一条指令就能让所有组件按序自动启动起来: ```bash docker-compose up -d ``` 这不仅减少了手动输入大量重复性的CLI选项所带来的麻烦,而且使得跨平台移植变得更加容易实现[^5]。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值