Mac 超详细Docker Desktop安装Elasticsearch(包括分词器插件)、Elasticsearch-head、Kibana

这篇具有很好参考价值的文章主要介绍了Mac 超详细Docker Desktop安装Elasticsearch(包括分词器插件)、Elasticsearch-head、Kibana。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、安装Elasticsearch

1、使用Docker Desktop搜索elasticsearch,选择需要的版本号后可以直接点击Pull拉取,也可再终端中输入命令:
docker pull elasticsearch:8.6.2

dockerdesktop es,docker,elasticsearch,1024程序员节

2、拉取下来后使用启动elasticsearch,这里选择使用命令启动

注意:这里需要提前在本机中创建elasticsearch.yml文件,/Users/zgy/Downloads/Java/es/elasticsearch.yml是我本机的路径,需要替换成你们自己的

elasticsearch.yml文件内容

http: 
 host: 0.0.0.0
xpack.security.enabled: false
xpack.security.enrollment.enabled: true
xpack.security.http.ssl:
  enabled: false

http.cors.enabled: true
http.cors.allow-origin: "*"
docker run --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -v /Users/zgy/Downloads/Java/es/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -d elasticsearch:8.6.2

启动命令解析:

docker run: 运行 Docker 容器的命令。
--name es: 为容器指定一个名称(es)。

-p 9200:9200 -p 9300:9300: 
将容器的端口 9200(用于 HTTP)和端口 9300(用于节点间通信)映射到宿主机的相同端口,使得可以通过宿主机访问 Elasticsearch 服务。

-e "discovery.type=single-node": 
设置 Elasticsearch 的发现类型为单节点模式,这样 Elasticsearch 将以单节点的方式运行而无需进行集群发现。

-e ES_JAVA_OPTS="-Xms512m -Xmx512m": 
设置 ElasticsearchJava 虚拟机参数,指定初始堆内存为 512MB,最大堆内存为 512MB-v /Users/zgy/Downloads/Java/es/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml: 
将宿主机上的 Elasticsearch 配置文件 /Users/zgy/Downloads/Java/es/elasticsearch.yml 挂载到容器内的配置文件路径,以便使用自定义的配置。

-d elasticsearch:8.6.2: 使用 Elasticsearch 8.6.2 镜像创建容器,并在后台运行。

通过运行这个命令,你将在 Docker 中创建一个名为 "es"Elasticsearch 容器,并将端口 92009300 映射到宿主机上,同时配置了单节点模式和自定义的 Java 虚拟机参数。你还将宿主机上的自定义配置文件挂载到容器中,以便使用该配置文件启动 Elasticsearch。

请注意,命令中的文件路径和镜像版本是根据你的实际情况提供的示例路径和版本号,你可以根据自己的需求进行相应的调整。

启动之后:
dockerdesktop es,docker,elasticsearch,1024程序员节

3、启动了之后访问: http://localhost:9200/

能够成功显示如下界面就说明Elasticsearch安装成功了
dockerdesktop es,docker,elasticsearch,1024程序员节

二、安装可视化界面:elasticsearch-head

1、使用Docker Desktop搜索elasticsearch-head,选择需要的版本号后可以直接点击Pull拉取,也可再终端中输入命令:
docker pull mobz/elasticsearch-head:5-alpine

dockerdesktop es,docker,elasticsearch,1024程序员节

2、拉取下来后使用启动elasticsearch-head,这里选择使用命令启动
docker run -d --name es_admin -p 9100:9100 mobz/elasticsearch-head:5

启动命令解析:

docker run: 运行 Docker 容器的命令。

-d: 将容器设置为在后台运行(守护态)。

--name es_admin: 为容器指定一个名称(es_admin)。

-p 9100:9100: 将容器的端口 9100 映射到宿主机的相同端口,使得可以通过宿主机访问 Elasticsearch Head。

mobz/elasticsearch-head:5: 使用 mobz/elasticsearch-head 镜像的版本 5 创建容器。

通过运行这个命令,你将在 Docker 中创建一个名为 "es_admin"Elasticsearch Head 容器,并将容器的端口 9100 映射到宿主机上。这使得可以通过宿主机访问 Elasticsearch Head 工具,用于可视化管理 Elasticsearch 集群。

请注意,命令中的镜像版本是根据你的实际需求提供的示例版本号,你可以根据需要选择适合的版本。

3、启动后访问链接: http://localhost:9100/
dockerdesktop es,docker,elasticsearch,1024程序员节

dockerdesktop es,docker,elasticsearch,1024程序员节
后面使用的时候遇到的问题解决:
1、问题:使用elasticsearch-head查看索引中的数据时点击索引没有反应,查询不了数据,点击F12的时候发现如下报错
{“error”:“Content-Type header [application/x-www-form-urlencoded] is not supported”,“status”:406}

2、解决方式:
复制elasticsearch-head容器中的vendor.js文件到本地中:
命令:docker cp es_admin:/usr/src/app/_site/vendor.js /Users/zgy/Downloads/Java/es/vendor.js

打开本地中的vendor.js文件:
修改第6886行:application/json;charset=UTF-8
dockerdesktop es,docker,elasticsearch,1024程序员节
修改第7573行:application/json;charset=UTF-8
dockerdesktop es,docker,elasticsearch,1024程序员节
保存后,再用命令替换elasticsearch-head容器中的vendor.js文件:
命令:docker cp /Users/zgy/Downloads/Java/es/vendor.js es_admin:/usr/src/app/_site/vendor.js

3、测试:
dockerdesktop es,docker,elasticsearch,1024程序员节
可正常查询

三、安装Kibana

1、使用Docker Desktop搜索Kibana,选择需要的版本号后可以直接点击Pull拉取,也可再终端中输入命令:

dockerdesktop es,docker,elasticsearch,1024程序员节

2、拉取下来后使用启动elasticsearch,这里选择使用命令启动

注意:这里需要提前在本机中创建kibana.yml文件,/Users/zgy/Downloads/Java/es/kibana.yml是我本机的路径,需要替换成你们自己的

kibana.yml文件内容:

server.host: "0.0.0.0"
server.shutdownTimeout: "5s"
elasticsearch.hosts: [ "http://elasticsearch:9200" ]
monitoring.ui.container.elasticsearch.enabled: true
 
i18n.locale: "zh-CN"

启动命令:

docker run --name kibana -p 5601:5601 --link es:elasticsearch  -v /Users/zgy/Downloads/Java/es/kibana.yml:/usr/share/kibana/config/kibana.yml -d kibana:8.6.2

启动命令解析:

docker run: 运行 Docker 容器的命令。

--name kibana: 为容器指定一个名称(kibana)。

-p 5601:5601: 将容器的端口 5601 映射到宿主机的相同端口,使得可以通过宿主机访问 Kibana 服务。

--link es:elasticsearch:Elasticsearch 容器(名称为 "es")与 Kibana 容器连接起来,以便 Kibana 可以与 Elasticsearch 进行通信。

-v /Users/zgy/Downloads/Java/es/kibana.yml:/usr/share/kibana/config/kibana.yml: 将宿主机上的 Kibana 配置文件 /Users/zgy/Downloads/Java/es/kibana.yml 挂载到容器内的配置文件路径,以便使用自定义的配置。

-d kibana:8.6.2: 使用 Kibana 8.6.2 镜像创建容器,并在后台运行。

通过运行这个命令,你将在 Docker 中创建一个名为 "kibana"Kibana 容器,并将端口 5601 映射到宿主机上。容器将与 Elasticsearch 容器建立连接,以便 Kibana 可以与 Elasticsearch 进行通信。你还将宿主机上的自定义配置文件挂载到容器中,以便使用该配置文件启动 Kibana。

请注意,命令中的文件路径和镜像版本是根据你的实际情况提供的示例路径和版本号,你可以根据自己的需求进行相应的调整。
3、启动后访问链接: http://localhost:5601/

dockerdesktop es,docker,elasticsearch,1024程序员节
dockerdesktop es,docker,elasticsearch,1024程序员节

四、 安装ik分词器插件

打开终端按步骤执行一下命令

1、以root的身份进入到 Elasticsearch 容器:
docker exec -it -u 0 <elasticsearch_container_id> /bin/bash

请将 <elasticsearch_container_id> 替换为你的 Elasticsearch 容器的 ID或容器名。
2、在容器中切换到 Elasticsearch 插件目录:
cd /usr/share/elasticsearch/plugins
3、下载 IK 插件压缩包:
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v8.9.0/elasticsearch-analysis-ik-8.6.2.zip
4、进入到plugins中:
cd plugins
5、创建ik文件夹:
mkdir ik
6、复制压缩包到ik文件夹中:
cp elasticsearch-analysis-ik-7.17.7.zip plugins/ik
7、解压插件压缩包:
unzip elasticsearch-analysis-ik-8.9.0.zip
5、删除插件压缩包:
rm elasticsearch-analysis-ik-8.9.0.zip
6、退出容器:
exit

完成上述步骤后,IK 插件将已经成功下载并安装到 Elasticsearch 容器中。

请注意,这些命令假设你已经具有适当的权限来执行这些操作,并且已经在容器中安装了必要的工具(例如 wget 和 unzip)。

wget、unzip命令安装:
apt-get update
apt-get install wget unzip
7、重启Elasticsearch容器验证分词器,如图所示则分词器安装成功

dockerdesktop es,docker,elasticsearch,1024程序员节
可能遇到的问题:当es和ik分词器版本不一致时,es容器会启动失败,报错:

java.lang.IllegalArgumentException: Plugin [analysis-ik] was built for Elasticsearch version 7.17.7 but version 7.17.10 is running

dockerdesktop es,docker,elasticsearch,1024程序员节
解决办法:
复制es容器中的plugin-descriptor.properties文件到本地中:
命令:

docker cp es:/usr/share/elasticsearch/plugins/ik/plugin-descriptor.properties /Users/zgy/Downloads/Java/es/plugins/ik/plugin-descriptor.properties 

打开本地中的plugin-descriptor.properties文件,修改版本号为es的版本号:
dockerdesktop es,docker,elasticsearch,1024程序员节

保存后,再用命令替换e’s容器中的plugin-descriptor.properties文件:
命令:

docker cp /Users/zgy/Downloads/Java/es/plugins/ik/plugin-descriptor.properties es:/usr/share/elasticsearch/plugins/ik/plugin-descriptor.properties

重新启动es即可成功加载ik分词器文章来源地址https://www.toymoban.com/news/detail-763540.html

到了这里,关于Mac 超详细Docker Desktop安装Elasticsearch(包括分词器插件)、Elasticsearch-head、Kibana的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Docker安装部署Elasticsearch+Kibana+IK分词器

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

    2024年02月07日
    浏览(10)
  • Docker部署elasticsearch及安装IK分词器插件

    1、拉取启动es镜像 docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e \\\"discovery.type=single-node\\\" elasticsearch:7.6.2 以上方法为正常安装,但是es是重量级框架,内存耗用多。据实际硬件情况,可参考如下安装方式限制es的内存为64M-512M之间,若需要配置设置网络可自行创建网络并用--n

    2024年04月12日
    浏览(6)
  • Mac下Docker Desktop安装命令行工具、开启本地远程访问

    Mac下Docker Desktop安装命令行工具、开启本地远程访问

    Mac系统下,为了方便在terminal和idea里使用docker,需要安装docker命令行工具,和开启Docker Desktop本地远程访问。 具体方法是在 设置-高级 下, 1.将勾选的User调整为System,这样不用手动配置PATH即可使用docker命令 2.勾选“Allow the default Docker socket to be used (requires password)”,开启Do

    2024年02月03日
    浏览(7)
  • docker 安装nginx 和 elasticsearch ik 自定义分词

    1、切换到/mydata 文件夹 创建 nginx 目录      mkdir nginx         2、运行 docker run --name nginx -p 80:80 -d nginx:1.22.0 3、复制docker 里面的nginx配置到  外面的nginx/conf 下面      docker cp nginx:/etc/nginx  /mydata/nginx 4、把 /mydata/nginx下面的nginx 改成conf     mv nginx/  conf 5、停nginx 删除dock

    2024年02月12日
    浏览(9)
  • Docker安装ElasticSearch,并进行ik和hanlp分词

    Docker安装ElasticSearch,并进行ik和hanlp分词

    我按装的目标 : 利用ElastiSearch存储数据,ik和hanlp分词插件 对 搜索词 进行分词,在ES存储的库中找到与 搜索词 相近的内容。 安装感受 : 原始环境安装老版本的ES,BUG不断,ES相关解答博客对新手有点不友好,完整的解释不多,😭 也许是我比较菜。 ElasticSearch 是什么? 答:

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

    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日
    浏览(10)
  • Mac安装虚拟机Parallels Desktop,以及Windows10系统详细教程

    Mac安装虚拟机Parallels Desktop,以及Windows10系统详细教程

    Mac的老用户想必对Parallels Desktop已经非常熟悉,一款运行快速、操作简单、功能强大的应用程序,无需重启即可在您的Intel 或 Apple M 系列Mac 上运行Windows。包含 40 多种一键式工具,可简化 Mac 和Windows上的日常任务。无需重启,即可在 Mac 上运行 Windows。 Parallels Desktop安装包 链接

    2023年04月08日
    浏览(10)
  • 超级详细的 Docker Desktop 安装 GitLab

    超级详细的 Docker Desktop 安装 GitLab

    GitLab 分为 社区版( Community Edition ,缩写为 CE)和 企业版( Enterprise Edition ,缩写为 EE)。社区版是免费的,而企业版包含一些收费服务,一般来说个人开发者用社区版就足够了。 GitLab是一款基于git仓库的代码管理工具,可以帮助我们团队进行版本控制和协作开发。gitlab还提

    2024年01月16日
    浏览(6)
  • docker desktop安装es 并连接elasticsearch-head:5

    docker desktop安装es 并连接elasticsearch-head:5

    首先要保证docker安装成功,打开cmd,输入docker -v,出现如下界面说明安装成功了  下面开始安装es 第一步:拉取es镜像 第二步:运行容器 然后就可以在软件里看到我们刚pull下来的镜像,是运行状态的   可以打开浏览器查看  第三步:拉取elasticsearch-head:5 第四步:运行elast

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

    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日
    浏览(20)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包