前言:docker安装我就不废话了,不知道可以看我的其它文章,现在就开门见山安装ElasticSearch然后再安装ik分词器最后安装ElasticSearch-Head客户端工具
1.1选取镜像版本elasticsearch:7.7.0
docker pull elasticsearch:7.7.0
2.1执行下方命令
docker run --name elasticsearch --restart=always --privileged=true -d -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 elasticsearch:7.7.0
2.2参数解释
--name 表示容器名称
-d: 后台运行容器,并返回容器ID;
-e: 指定容器内的环境变量
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
--restart=always 保持启动
2.3 ip地址+端口号直接访问,ElasticSearch默认端口为9200,出现这个界面
2.3处理一下跨域问题则下面安装的客户端工具无法连接
#进入容器内部
docker exec -it elasticsearch /bin/bash
#修改配置文件
vi config/elasticsearch.yml
#添加两行配置
http.cors.enabled: true
http.cors.allow-origin: "*"
#保存一下然后exit
#重新启动一下容器
docker restart elasticsearch
这样ElasticSearch就安装完成了
3.1 IK提供了两个分词算法:ik_smart和ik_max_word,其中ik_smart为最少切分,这里就不过多介绍了,注意安装的版本需要跟ElasticSearch版本一致为elasticsearch-analysis-ik-7.7.0
3.2 首先进入Elasticsearch容器
#进入容器
docker exec -it elasticsearch /bin/bash
#进入 plugins目录
cd plugins/
#创建ik文件夹
mkdir ik
3.3 进入ik目录拉取ik分次插件
注意:外网的速度可能很慢,如果失败请多拉几次,若报错bash: wget: command not found 请执行yum -y install wget
#进入ik目录
cd ik
#拉取elasticsearch-analysis-ik-7.7.0
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.7.0/elasticsearch-analysis-ik-7.7.0.zip
若使用wget安装出现Unable to establish SSL connection 请执行
yum install opensslls
yum install openssl-devel
3.4 解压 elasticsearch-analysis-ik-7.7.0.zip
注意:若报bash: unzip: command not found 执行 yum -y install unzip zip
#解压elasticsearch-analysis-ik-7.7.0.zip
unzip elasticsearch-analysis-ik-7.7.0.zip
#移除elasticsearch-analysis-ik-7.7.0.zip
rm -f elasticsearch-analysis-ik-7.7.0.zip
然后exit退出容器,重启容器就安装好了
4.1先拉取镜像
docker pull mobz/elasticsearch-head:5
docker create --name elasticsearch-head -p 9100:9100 mobz/elasticsearch-head:5
docker start elasticsearch-head
4.3访问一下也是ip+端口号(9100),效果如图
4.4 ElasticSearch操作数据报406错误解决
注意:通过ElasticSearch-Head连接ElasticSearch,但进行数据操作时会报406错误,此时需要修改ElasticSearch-Head容器中的配置,执行命令此命令会把docker容器中的文件复制到宿主机目录。
docker cp elasticsearch-head:/usr/src/app/_site/vendor.js /usr/local/
4.5 修改Vendor.js文件第6886、7574行,将"application/x-www-from-urlencodes"修改为"application/json;charset=UTF-8"就可以了,注意千万看清行数别修改错了,修改完成再把文件拷贝到容器中
#把文件拷贝到容器中
docker cp /usr/local/vendor.js elasticsearch-head:/usr/src/app/_site
#重启容器
docker restart elasticsearch-head
至此elasticsearch的安装就完成了,大家可以参考一下,对你有帮助可以点个赞谢谢诶