请选择 进入手机版 | 继续访问电脑版

一文搞定Docker安装ElasticSearch的过程

[复制链接]
查看110 | 回复32 | 2021-9-13 17:42:00 | 显示全部楼层 |阅读模式
目次

前言

项目预备 上ElasticSearch,为了后期开发 不卡壳只能笨鸟先飞,在整个安装过程中碰到 以下三个标题 。

  • Docker安装非常慢
  • ElasticSearch-Head毗连 出现跨域
  • ElasticSearch-Head操作报出406错误码

一、安装Docker

如今 咔咔对Docker的明白 还只是个皮毛,对于不相识 的东西就要多多使用 ,使用 的多了自然 而然也就会了。

安装依靠 包,实验 下令

  1. yum install -y yum-utils device-mapper-persistent-data lvm2
复制代码

此时若直接实验 安装docker下令 就会发现是非常 慢的,这个等待过程是漫长的。

设置 国内的源就可以办理 标题

  1. yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
复制代码
这里使用 的是阿里云的源。

接着再实验 下令

  1. yum install docker-ce docker-ce-cli containerd.io
复制代码
安装docker即可。

设置 docker开机自启

  1. systemctl enable docker
复制代码

实验

  1. systemctl start docker
复制代码
下令 启动docke

查看docker版本看是否安装成功

一文搞定Docker安装ElasticSearch的过程

docker版本

如若之前安装docker有标题 ,那么实验

  1. yum remove docker-ce
复制代码
来删除并且将
  1. /var/lib/docker
复制代码
下的全部 东西全部删除干净。

docker安装完成后咔咔就举行 了创建容器,但碰到 了一个标题

  1. WARNING: IPv4 forwarding is disabled. Networking will not work.
复制代码

拿着这个错误直接找度娘才知道,没有开启转发,网络桥接设置 后,是必要 开启转发的。

若不开启转发就会出现上边的错误,表现 没有网络。

办理 方案

修改设置 文件

  1. /etc/sysctl.conf
复制代码
,在里边加上
  1. net.ipv4.ip_forward=1
复制代码
,然后重启服务
  1. systemctl restart network
复制代码
,让设置 见效 。

二、安装ElasticSearch

使用 docker直接获取es镜像,实验 下令

  1. docker pull elasticsearch:7.7.0
复制代码

实验 完成后,实验 docker images即可看到上一步拉取的镜像。

一文搞定Docker安装ElasticSearch的过程

es镜像文章

有了镜像,就可以开始创建容器了,接下来创建一个es的容器。

实验

  1. docker run --name elasticsearch -d -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 elasticsearch:7.7.0
复制代码

  1. --name 表示容器名称 
  2. -d: 后台运行容器,并返回容器ID;
  3. -e: 指定容器内的环境变量
  4. -p: 指定端口映射,格式为:主机(宿主)端口:容器端口
复制代码

下令 实验 完成会返回容器id,此时再实验 docker ps -a列出全部 的容器。

一文搞定Docker安装ElasticSearch的过程

es容器

es默认端口为9200,只用ip地址+端标语 直接访问,就会返回如下图。出现这个界面就表示你安装成功了。

一文搞定Docker安装ElasticSearch的过程

返回效果

到这里我们就非常快速的使用 Docker安装完成了ElasticSearch,接下来再一起安装针对于ElasticSearch的客户端工具。

三、安装ElasticSearch-Head

同样也采用Docker举行 快速安装,跟上边一样同样先拉取镜像,实验 下令

  1. docker pull mobz/elasticsearch-head:5
复制代码

接着创建容器,实验

  1. docker create --name elasticsearch-head -p 9100:9100 mobz/elasticsearch-head:5
复制代码

一文搞定Docker安装ElasticSearch的过程

安装ElasticSearch-Head插件

为了保证图片的清楚 度,图片就没有截取完全,同时也是咔咔接下来将要跟你讲的,留意 俩次创建容器时的不同。

安装ElasticSearch时是容器创建成功后直接在后台就运行了,但在安装ElasticSearch-Head时并没有保持划一 。

而是指定容器名,端标语 就直接实验 了,如许 实验 完成后是创建了一个容器,并没有运行。

也就是咔咔在上图右下角的地方有一个框,这里就可以看到状态,会发现是create。

以是 还必要 一个操作,那就是启动容器

  1. docker start 容器id
复制代码

安装完成直接使用

  1. 域名
复制代码
加端口
  1. 9100
复制代码
即可访问。

一文搞定Docker安装ElasticSearch的过程

跨域标题

处理跨域

在毗连 ElasticSearch会发现无法毗连 ,由于时前后端分脱离 发,以是 会存在跨域标题 ,必要 在服务端做跨域处理。

实验 下令

  1. docker exec -it elasticsearch /bin/bash
复制代码
进入到第一步创建的ElasticSearch容器中,修改设置 文件
  1. vi config/elasticsearch.yml
复制代码
即可。

  1. http.cors.enabled: true
  2. http.cors.allow-origin: "*"
复制代码

将上边俩行写进设置 文件中,留意 这里是用yml的设置 文件,简单遍及 一下此类设置 文件的几点语法。

  • 冒号后边必须有一个空格
  • 使用 空格的缩进标识层级关系,空格数据不紧张 ,只要是左边对其的一列键即可。
  • 对大小写非常 敏感
  • 缩进时不答应 使用 tab,只答应 使用 空格。

设置 修改完后需实验 下令

  1. exit
复制代码
退出容器,接着实验
  1. docker restart 容器ID
复制代码
重启容器即可。

处理报406错误

此时通过

  1. ElasticSearch-Head
复制代码
可以成功毗连
  1. ElasticSearch
复制代码
了,但举行 数据操作时会报406错误。

只必要 修改ElasticSearch-Head容器中的设置 即可,将设置 文件复制到宿主机举行 修改。

实验

  1. docker cp 容器ID:/usr/src/app/_site/vendor.js /usr/local/
复制代码
,此下令 会把docker容器中的文件复制到你的宿主机目次 。

进入到/usr/local即可看到从容器中复制出来的文件vendor.js。

修改文件第6886、7574行,将"application/x-www-from-urlencodes"修改为"application/json;charset=UTF-8"即可

修改后再将文件复制到容器中,从容器复制文件到宿主机下令 已经使用 过了,那么如今 只不过是把俩个目次 反过来即可实验

  1. docker cp /usr/local/vendor.js 容器ID:/usr/src/app/_site
复制代码

末了 一步

  1. 重启
复制代码
ElasticSearch-Head容器就竣事 了。

四、安装IK分词器

起首 问一个标题 ,ElasticSearch中自带的有分词器为什么还要使用 IK分词器?

在ElasticSearch中的分词器会把中文分为一个一个的字,比方 "本日 是周五",会被分成“今”、“天”、“是”,“周”、“五”,这里很显着 是不合适的,在大多数场景下必要 的是词而不是字。

以是 就必要 安装中文分词器IK来办理 这个标题 。

IK提供了两个分词算法:ik_smart和ik_max_word,此中 ik_smart为最少切分,ik_max_word为最细力度。分别都有什么区别会在下期文章中给大家提出来。

这里必要 留意 安装的版本必要 跟ElasticSearch版本划一 。

进入到ElasticSearch容器中

  1. docker exec -it 容器ID /bin/bash
复制代码

使用 wget来举行 安装,实验

  1. wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.7.0/elasticsearch-analysis-ik-7.7.0.zip
复制代码
即可。

当你使用 wget安装出现

  1. Unable to establish SSL connection
复制代码
时实验 以下俩个下令 即可。

  1. yum install opensslls
  2. yum install openssl-devel
复制代码

实验

  1. cd /usr/share/elasticsearch/plugins
复制代码
来到插件目次 创建一个
  1. IK
复制代码
目次 。

将压缩包移动到

  1. IK
复制代码
目次 中,实验 解压指令
  1. elasticsearch-analysis-ik-7.7.0.zip
复制代码

接着删除压缩包即可,此时你可以看到一个config包和几个jar包

一文搞定Docker安装ElasticSearch的过程

解压后的包

末了 退出容器,重启重启容器即可。

五、总结

本期文章将必要 使用 ElasticSearch全部 的东西都已经预备 齐备 了,接下来的文章会带着你使用 PHP的Laravel开始封装ElasticSearch的全部 查询方法。

后期也会在Go中封装一份,给本身 的工具类添加一点内容。

到此这篇关于一文搞定Docker安装ElasticSearch的过程的文章就先容 到这了,更多干系 Docker安装ElasticSearch内容请搜刮 脚本之家从前 的文章或继续欣赏 下面的干系 文章渴望 大家以后多多支持脚本之家!


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

avatar 素色流年783 | 2021-9-14 10:47:47 | 显示全部楼层
学习雷锋,好好回帖!
回复

使用道具 举报

avatar 落叶的时节 | 2021-9-15 07:54:28 | 显示全部楼层
admin楼主是好人!
回复

使用道具 举报

avatar 墙和鸡蛋 | 2021-9-15 22:20:32 | 显示全部楼层
很经典,收藏了!
回复

使用道具 举报

avatar 朋友一起走 | 2021-9-20 05:40:18 | 显示全部楼层
内容很有深度!
回复

使用道具 举报

avatar 酱油的2017 | 2021-9-26 17:36:12 | 显示全部楼层
白富美?高富帅?
回复

使用道具 举报

avatar 宝贝不哭不t | 2021-10-1 22:40:21 | 显示全部楼层
宇宙第一贴诞生了!
回复

使用道具 举报

avatar 叫啥不行靠 | 2021-10-5 02:48:14 | 显示全部楼层
我只是来赚积分的!
回复

使用道具 举报

avatar 贺长云 | 2021-10-11 05:18:19 | 显示全部楼层
刚分手,心情不好!
回复

使用道具 举报

avatar 今早我梦醒了坎 | 2021-10-11 05:19:35 | 显示全部楼层
东方不败外加灭绝师太啊!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则