【Docker】ES、Kibana及IK安装配置

这篇具有很好参考价值的文章主要介绍了【Docker】ES、Kibana及IK安装配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 目录

一.单节点安装部署

1.版本选择

2.推荐及总结

​3.官网下载地址

4.创建网络

5.拉取镜像

6.创建文件夹

7.运行docker命令

二、安装kibana

1.安装kibana

2.浏览器访问

3.国际化

三、Elasticsearch查询

1.数据插入:POST或PUT

2.数据查询GET

3.分词测试

四、安装分词器IK

(一)手动安装

1.下载IK安装包

2.解压IK,修改plugin-descriptor.properties 文件

(二)在线安装IK

1.在线安装IK

2.浏览器访问

3.测试


一.单节点安装部署

1.版本选择

[支持一览表 | Elastic]

【Docker】ES、Kibana及IK安装配置,Docker,docker,elasticsearch,容器,Kibana,IK,分词器

2.推荐及总结

  •  ES 7.x 及之前版本,选择 Java 8
  •  ES 8.x 及之后版本,选择 Java 17 或者 Java 18,建议 Java 17,因为对应版本的 Logstash 不支持 Java 18
  •  Java 9、Java 10、Java 12 和 Java 13 均为短期版本,不推荐使用
  •  M1(Arm) 系列 Mac 用户建议选择 ES 7.8.x 以上版本,因为考虑到 ELK 不同产品自身兼容性,7.8.x以上版本原生支持 Arm 原生 JDK

​3.官网下载地址

Past Releases of Elastic Stack Software | Elastic

以下安裝教程选择7.x 的最新版本:<strong> 7.17.15</strong>

注:建议选择7.15.5或7.17.6 ,因为分词器的版本最高为7.17.6。当然,安装7.17.15也有对应的解决办法。

4.创建网络

docker network create elastic

5.拉取镜像

docker  pull  elasticsearch:7.17.15

6.创建文件夹

创建数据、日志、插件存放文件夹

mkdir -p {'/docker/es/data','/docker/es/logs','/docker/es/plugins','/docker/es/config'}

7.运行docker命令

docker run -d \
-p 9200:9200 \
--restart=always \
--name es \
-v /docker/es/logs:/usr/share/elasticsearch/logs \
-v /docker/es/data:/usr/share/elasticsearch/data \
-v /docker/es/plugins:/usr/share/elasticsearch/plugins \
-v /docker/es/config:/usr/share/elasticsearch/config \
-e "discovery.type=single-node" \
-e "ES_JAVA_OPTS=-Xms256m -Xmx256m" \
-e "TAKE_FILE_OWNERSHIP=true" \
--network elastic --privileged elasticsearch:7.17.15


# 命令解释:
# -p 9200:9200:端口映射配置
# restart=always:开机启动
# -e “discovery.type=single-node”:非集群模式
# -e “ES_JAVA_OPTS=-Xms512m -Xmx512m”:设置内存,如果服务器内存不是很大,这里设置小点,否则服务将起不来
# -v 本地目录:逻辑目录
# -v /usr/local/es/single/logs:/usr/share/elasticsearch/logs 挂载逻辑卷,绑定es的日志目录
# -v /usr/local/es/single/data:/usr/share/elasticsearch/data 挂载逻辑卷,绑定es的数据目录
# -v /usr/local/es/single/plugins:/usr/share/elasticsearch/plugins 挂载逻辑卷,绑定es的插件目录
# --network elastic 加入一个名为elastic的网络中
# –privileged 允许访问挂载目录
# --name es 容器名
# TAKE_FILE_OWNERSHIP:挂载权限问题,绑定-挂载本地目录或文件,请确保该用户能够读懂它,而数据和日志dirs则需要另外的写访问权限。一个好的策略是为本地目录授予组对gid 1000或0的访问权限

浏览器访问http://xxxxxx:9200

【Docker】ES、Kibana及IK安装配置,Docker,docker,elasticsearch,容器,Kibana,IK,分词器

二、安装kibana

[支持一览表 | Elastic]

即es是哪个版本,kibana就安装对应的版本即可

1.安装kibana

docker  pull  kibana:7.17.15
docker run -d \
-p 5601:5601 \
-e "ELASTICSEARCH_HOSTS=http://es:9200" \
--network=elastic \
--name kibana kibana:7.17.15

# 命令解释
# -p 5601:5601 端口映射
# –network elastic 加入一个名为elastic的网络中,与elasticsearch在同一个网络中
# -e ELASTICSEARCH_HOSTS=http://127.0.0.1:9200 设置elasticsearch的地址,也可以用es容器名,因为kibana已经与elasticsearch在一个网络,因此可以用容器名直接访问elasticsearch

2.浏览器访问

http://xxxxx:5601

【Docker】ES、Kibana及IK安装配置,Docker,docker,elasticsearch,容器,Kibana,IK,分词器

3.国际化

# 将容器内的配置拷贝到本地
docker cp 容器id:/usr/share/kibana/config/kibana.yml /usr/local/kibana/kibana.yml
# 修改配置文件,添加国际化后保存
i18n.locale: "zh-CN"
# 将修改后的配置拷贝到容器内
docker cp /usr/local/kibana/kibana.yml 容器id:/usr/share/kibana/config/kibana.yml
# 重启kibana
docker restart kibana

三、Elasticsearch查询

1.数据插入:POST或PUT

PUT /mytest/user/1
{
  "name": "李四lisi",
  "age": 21,
  "car": "宝马x5"
}
# 结果
{
  "_index" : "mytest",
  "_type" : "user",
  "_id" : "1",
  "_version" : 3,
  "result" : "updated",
  "_shards" : {
    "total" : 2,
    "successful" : 1,
    "failed" : 0
  },
  "_seq_no" : 3,
  "_primary_term" : 1
}

2.数据查询GET

# 根据id进行查询
GET /mytest/user/1
# 结果:
{
  "_index" : "mytest",
  "_type" : "user",
  "_id" : "1",
  "_version" : 3,
  "_seq_no" : 3,
  "_primary_term" : 1,
  "found" : true,
  "_source" : {
    "name" : "李四lisi",
    "age" : 21,
    "car" : "宝马x5"
  }
}

# 查当前索引下所有数据
GET /mytest/user/_search
#结果:
{
  "took" : 0,
  "timed_out" : false,
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : {
      "value" : 2,
      "relation" : "eq"
    },
    "max_score" : 1.0,
    "hits" : [
      {
        "_index" : "mytest",
        "_type" : "user",
        "_id" : "2",
        "_score" : 1.0,
        "_source" : {
          "name" : "张三,zhangsan",
          "age" : 21,
          "car" : "奥迪a6l"
        }
      },
      {
        "_index" : "mytest",
        "_type" : "user",
        "_id" : "1",
        "_score" : 1.0,
        "_source" : {
          "name" : "李四lisi",
          "age" : 21,
          "car" : "宝马x5"
        }
      }
    ]
  }
}
# 查当前索引下多个id的数据
GET /mytest/user/_mget
{
  "ids": ["1","2"]
}
#结果:
{
  "docs" : [
    {
      "_index" : "mytest",
      "_type" : "user",
      "_id" : "1",
      "_version" : 3,
      "_seq_no" : 3,
      "_primary_term" : 1,
      "found" : true,
      "_source" : {
        "name" : "李四lisi",
        "age" : 21,
        "car" : "宝马x5"
      }
    },
    {
      "_index" : "mytest",
      "_type" : "user",
      "_id" : "2",
      "_version" : 1,
      "_seq_no" : 2,
      "_primary_term" : 1,
      "found" : true,
      "_source" : {
        "name" : "张三,zhangsan",
        "age" : 21,
        "car" : "奥迪a6l"
      }
    }
  ]
}

3.分词测试

如果没装分词器,中文分词不是很友好,结果如下:

#分词查询
GET _analyze
{
    "analyzer": "standard",
    "text": "宝马x5"
}
#结果:
{
  "tokens" : [
    {
      "token" : "宝",
      "start_offset" : 0,
      "end_offset" : 1,
      "type" : "<IDEOGRAPHIC>",
      "position" : 0
    },
    {
      "token" : "马",
      "start_offset" : 1,
      "end_offset" : 2,
      "type" : "<IDEOGRAPHIC>",
      "position" : 1
    },
    {
      "token" : "x5",
      "start_offset" : 2,
      "end_offset" : 4,
      "type" : "<ALPHANUM>",
      "position" : 2
    }
  ]
}

四、安装分词器IK

(一)手动安装

IK版本必须和es版本一致,由于安装的es版本为7.17.15,而 当前 ik的最新版本为7.17.6,因此不能在线安装,改为手动安装

在线安装时报错:

Plugin [analysis-ik] was built for Elasticsearch version 7.17.6 but version 7.17.15 is running

1.下载IK安装包

https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.17.6/elasticsearch-analysis-ik-7.17.6.zip

2.解压IK,修改plugin-descriptor.properties 文件

 【Docker】ES、Kibana及IK安装配置,Docker,docker,elasticsearch,容器,Kibana,IK,分词器

 【Docker】ES、Kibana及IK安装配置,Docker,docker,elasticsearch,容器,Kibana,IK,分词器

 将修改后的IK复制到es容器内:

# d26e72805e83 为容器id,docker ps 即可查看
docker cp /home/ik/ d26e72805e83:/usr/share/elasticsearch/plugins/ik

然后重启es即可

# es 你的容器名称
docker restart es

(二)在线安装IK

1.在线安装IK

# 查看es容器id
docker ps
# 进入容器内部
docker exec -it 容器id /bin/bash
# 在线下载安装IK
./bin/elasticsearch-plugin  install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.17.6/elasticsearch-analysis-ik-7.17.6.zip

# 退出容器
exit
# 重启容器
docker restart 容器id

2.浏览器访问

http://xxxxx:5601/app/dev_tools#/console

【Docker】ES、Kibana及IK安装配置,Docker,docker,elasticsearch,容器,Kibana,IK,分词器

3.测试

IK分词安装后有两种分词策略:ik_smart,ik_max_word。其中ik_smart称为智能分词,网上还有别的称呼:最少切分,最粗粒度划分。ik_max_word称为最细粒度划分。

ik_max_word:对输入文本根据词典穷尽各种分割方法是细力度分割策略。

ik_smart:会对输入文本根据词典以及歧义判断等方式进行一次最合理的粗粒度分割。

ik_max_word 测试

GET _analyze
{
    "analyzer": "ik_max_word",
    "text": "宝马x5"
}

#结果:
{
  "tokens" : [
    {
      "token" : "宝马",
      "start_offset" : 0,
      "end_offset" : 2,
      "type" : "CN_WORD",
      "position" : 0
    },
    {
      "token" : "x5",
      "start_offset" : 2,
      "end_offset" : 4,
      "type" : "LETTER",
      "position" : 1
    },
    {
      "token" : "x",
      "start_offset" : 2,
      "end_offset" : 3,
      "type" : "ENGLISH",
      "position" : 2
    },
    {
      "token" : "5",
      "start_offset" : 3,
      "end_offset" : 4,
      "type" : "ARABIC",
      "position" : 3
    }
  ]
}

ik_smart测试文章来源地址https://www.toymoban.com/news/detail-761896.html

GET _analyze
{
    "analyzer": "ik_smart",
    "text": "宝马x5"
}

#结果:
{
  "tokens" : [
    {
      "token" : "宝马",
      "start_offset" : 0,
      "end_offset" : 2,
      "type" : "CN_WORD",
      "position" : 0
    },
    {
      "token" : "x5",
      "start_offset" : 2,
      "end_offset" : 4,
      "type" : "LETTER",
      "position" : 1
    }
  ]
}

到了这里,关于【Docker】ES、Kibana及IK安装配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • linux安装搭建配置docker,mysql,nacos,redis哨兵集群,kafka,elasticsearch,kibana,IK分词器,安装Rabbitmq,安装并配置maven

    目录 搭建docker 1.2安装yum工具  1.3更新阿里镜像源 1.4下载docker 1.5关闭防火墙 1.6启动docker 1.7查看docker版本 1.8配置阿里云镜像 1.8.1 创建文件夹 1.8.2在文件夹内新建一个daemon.json文件 1.8.3重载文件 1.9重启docker 2安装MySQL 3安装nacos 3.1拉取nacos镜像并启动 3.2启动nacos命令 3.3命令敲完

    2024年02月03日
    浏览(56)
  • Docker安装部署Elasticsearch+Kibana+IK分词器

    目前elastic官网推荐使用的两个版本分别是: 8.10.2 7.17.13 我尝试安装8.x版本的,不过似乎由于虚拟机内存大小的原因集群状态总是转为RED无法重置elastic账户的密码,因此我最终选择使用7.x版本的elasticsearch,8.x版本的默认使用https来保证数据的安全性,感兴趣的同学可以自行尝

    2024年02月07日
    浏览(46)
  • docker中安装es服务,安装ik分词器,启动kibana

    docker中安装es服务 1、去docker hub 查找镜像 2、运行es 注意:es启动如果没有指明单机方式运行,默认使用集群方式启动,如果使用集群方式自动在启动时会出现如下错误,宿主机虚拟内存不够 max virtual memory areas vm.max map count [65530] is too low, increase to at least [262144] 解决方案: 在

    2024年02月05日
    浏览(46)
  • Docker上安装Elasticsearch、Kibana 和IK分词器

    随着大数据和日志管理的兴起,Elasticsearch和Kibana成为了许多开发者和系统管理员首选的工具,我接下来使用的版本是 8.11.0 ,我实测测试过都能成功安装的版本有: 7.6.2 、 8.1.0 、 8.6.0 等。 安装Elasticsearch Docker仓库官网 步骤一:创建Docker网络 为了让Elasticsearch和Kibana能够相互

    2024年01月19日
    浏览(47)
  • Docker安装部署[8.x]版本Elasticsearch+Kibana+IK分词器

    在我发的上一个博客里记录了如何安装7.x版本的elasticsearch,我在跟着教学学习Java Rest Client的时候发现在elastic的官网上Java Rest Client已经被标注为过时了,elastc提供了全新的Elasticsearch Java API Client,作为程序员,应该勇于去尝试新技术,因此我决定继续尝试使用elasticsearch8.x版本

    2024年02月05日
    浏览(49)
  • docker-compse安装es(包括IK分词器扩展)、kibana、libreoffice

    Kibana是一个开源的分析与可视化平台,设计出来用于和Elasticsearch一起使用的。你可以用kibana搜索、查看存放在Elasticsearch中的数据。 Kibana与Elasticsearch的交互方式是各种不同的图表、表格、地图等,直观的展示数据,从而达到高级的数据分析与可视化的目的。 Elasticsearch、Log

    2024年04月22日
    浏览(41)
  • docker安装elasticsearch kibana 8.6.0(设置密码+汉化+ik分词器)

    记得开放使用的端口,或者关闭防火墙 提示:需要提升虚拟机或者服务器的内存到8G以上 拉取镜像并安装 设置密码 进入es容器,设置密码 生成签名 把这一串复制到kibana网页(服务器ip+5601)中 记得要快,好像是30分钟的期限 出现验证代码请求 退出es,进入kibana容器生成code 复制这个

    2024年02月03日
    浏览(48)
  • ELK第一讲之【docker安装(Elasticsearch、kibana、IK分词器、Logstash)8.4.3】

    1、 对应版本kibana8.4.3的安装 2、 IK分词器8.4.3的安装 3、 Logstash-8.4.3的安装 启动出现以下错误,再执行该操作 出现max virtual memory areas vm.max_map_count [65530] is too low,increase to at least [262144] 1、启动es 2、复制elasticsearch.yml 3、复制完成后、关闭不要的校验 4、关闭容器 开放9200端口 打

    2023年04月23日
    浏览(56)
  • Docker:Elasticsearch安装配置IK分词器

    一、背景:   搞了elasticsearch和kibana的安装和配置,在进行分词的时候没有达到自己预想的效果,于是写一下elasticsearch的ik分词器的安装和配置(自定义分词)。 二、解决方式: 1:首先看看没有加ik分词器的效果。 2:下载ik软件包。  3:选择自己响应版本。  4:将下载好的

    2023年04月18日
    浏览(43)
  • CentOS 7 使用Docker方式搭建ElasticSearch 7.7.0 三节点集群,并配置elasticsearch-head插件,ik分词器,以及Kibana可视化平台

    IP 角色 172.16.31.191 elasticsearch-1 172.16.31.192 elasticsearch-2 172.16.31.193 elasticsearch-3 并创建相关挂载目录,3台虚拟机都要,如下 还要对文件夹加设置开放权限,如果不开放权限,则会报错无法写入数据的情况,3台虚拟机都要,如下 172.16.31.191 172.16.31.192 172.16.31.193 172.16.31.191 172.16.3

    2024年02月04日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包