docker 搭建 Elasticsearch 和 Kibana

紫贤金刚
• 阅读 2750

一、ElasticSearch

1 pull

ElasticSearch的 docker 镜像不支持默认的 latest 标签,所以在 Pull 时需要指定标签:

docker pull elasticsearch:7.12.0

2 创建网络连接

用来与其他容器服务进行通信,比如 Kibana。

docker network create es-test

3 创建容器

docker run -itd --name es --net es-test -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.12.0

4 修改配置,允许跨域访问

docker exec -it es bash
echo -e "http.cors.enabled: true\nhttp.cors.allow-origin: \"*\"" >> config/elasticsearch.yml

5 安装 ik 分词器

es自带的分词器对中文分词不是很友好,所以我们下载开源的 IK 分词器来解决这个问题。

下面的命令接上一步:

cd plugins
elasticsearch-plugin install https://ghproxy.com/https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.12.0/elasticsearch-analysis-ik-7.12.0.zip

6 重启 es

exit
docker restart es

访问 http://localhost:9200 ,成功的话会得到类似以下响应:

{
    "name": "0d096b662146",
    "cluster_name": "docker-cluster",
    "cluster_uuid": "KFeS1JjNTlqo56RmN8DiFw",
    "version": {
        "number": "7.12.0",
        "build_flavor": "default",
        "build_type": "docker",
        "build_hash": "78722783c38caa25a70982b5b042074cde5d3b3a",
        "build_date": "2021-03-18T06:17:15.410153305Z",
        "build_snapshot": false,
        "lucene_version": "8.8.0",
        "minimum_wire_compatibility_version": "6.8.0",
        "minimum_index_compatibility_version": "6.0.0-beta1"
    },
    "tagline": "You Know, for Search"
}

二、Kibana

1 pull

拉取对应版本的 Kibana:

docker pull kibana:7.12.0

2 创建容器

docker run -itd --name kibana --net es-test -p 5601:5601 kibana:7.12.0

3 修改配置

需要修改ElasticSearch的连接,因为创建容器时已经映射了端口,所以只需要替换为本机的 ip 地址,以 192.168.31.152 为例:

docker exec -it kibana bash
sed -i "s/elasticsearch:9200/192.168.31.152:9200/g" config/kibana.yml

4 重启

退出 docker 容器的 bash 命令行,除了exit命令外,还可以使用ctrl+D退出。

然后重启容器:

docker restart kibana

访问 http://localhost:5601 会进入 Kibana 控制台。

三、测试

在 Kibana 控制台的 Dev tools 中进行测试,也可以直接在终到用 curl 工具测试。

1 创建一个索引

PUT /test

2 测试分词功能

POST test/_analyze
{
  "analyzer": "ik_max_word",
  "text": "我昨天去北京出差时逛了逛北京大学"
}

这里测试时选用的是最大分词ik_max_word,会将一句话或一段话中所有的可能组成的词组或字提取出来,这是搜索引擎中常见的方式。

你也可以使用智能模式ik_smart,只要能组成词就不会继续向下细分。

可以切换这两个模式查看不同的结果。

点赞
收藏
评论区
推荐文章
Oracle 分组与拼接字符串同时使用
SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(
Wesley13 Wesley13
4年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
zdd小小菜鸟 zdd小小菜鸟
3年前
windows--docker-指定ip启动mysql
windowsdocker指定ip启动mysql前提条件tex默认电脑已经安装好了docker,以及自定义配置docker的网络;若无请参考安装1.搜索mysql镜像shelldockersearchmysql2.拉取镜像shelldockerpullmy
西蒙 西蒙
4年前
docker入门基本命令
docker基础命令dockerimages查看镜像列表dockerpsa查看所有docker容器,a指的是所有包括以关闭的容器dockerrm655e69删除容器,655e69指的是容器Iddockerrminginx:latest删除镜像,:latest为制定版本dockerpullngin
Stella981 Stella981
4年前
Dockerfile 说明
1.基本说明  Dockfile是一个用于编写docker镜像生成过程的文件,其有特定的语法。在一个文件夹中,如果有一个名字为Dockfile的文件,其内容满足语法要求,在这个文件夹路径下执行命令:dockerbuildtagname:tag.,就可以按照描述构建一个镜像了。name是镜像的名称,tag是镜像的版本或者是标签号,
Stella981 Stella981
4年前
Docker基础(1) 原理篇
Docker是什么Docker的构成Docker的分层和写时拷贝策略Docker与主流虚拟机的区别Docker镜像与容器的关系镜像的变更管理Docker是什么Docker是一个开源的应用容器引擎。它的理念是“Buildonce,Runanywhere,Configureonce
Stella981 Stella981
4年前
PhoneGap设置Icon
参考:http://cordova.apache.org/docs/en/latest/config\_ref/images.html通过config.xml中的<icon标签来设置Icon<iconsrc"res/ios/icon.png"platform"ios"width"57"height"57"densi
Stella981 Stella981
4年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Stella981 Stella981
4年前
Linux Docker镜像使用
docker拉取镜像命令dockerpull选项DockerRegistry地址:端口号/仓库名:标签中框号内内容都为可选内容若不输入镜像仓库地址则拉取官方默认仓库,即DockerHub   https://hub.docker.com/(https://www.oschina.net/action
Stella981 Stella981
4年前
Docker容器构建过程的安全性分析
来源:嘶吼专业版ID:Pro4houDevOps概念的流行跟近些年微服务架构的兴起有很大关系,DevOps是Dev(Development)和Ops(Operations)的结合,Dev负责开发,Ops负责部署上线,Docker出现之前,公司需要搭建一个数据库环境,有了Docker之后,只需在一些开源的基础镜像上构建出公司自己的镜像即可。因此目前
Stella981 Stella981
4年前
Docker搭建MySQL服务
Docker开源镜像前面我们已经安装好了Docker,也简单了解了Docker。那么我们可以尝试搭建一个MySQL服务。要搭建服务就要启动服务容器,要创建容易就要有镜像,Docker提供了一个类似Github的开源平台,提供开源镜像,放心可靠。(毕竟大家都看着源码呢)Docker开源镜像传送门(https://www.o
紫贤金刚
紫贤金刚
Lv1
穿花蛱蝶深深见,点水蜻蜓款款飞。
文章
3
粉丝
0
获赞
0