微服务项目学习第4天--分布式搜索引擎ElasticSearch(下)(本地添加ES,服务器安装IK和HEAD)

在本地的代码中使用服务器端的ElasticSearch,接微服务项目学习第4天–分布式搜索引擎ElasticSearch(上)
上的主要内容:
在这里插入图片描述
本篇内容主要参考十次方学习资料讲义,如果使用命令过程中出错,将命令中的 - 改为英文的 - 再使用。
(1)修改本地demo的application.yml

 spring:  
  data:  
   elasticsearch:  
     cluster‐nodes: 192.168.xxx.xxx:9300

(2)运行测试程序,发现会报错
这是因为elasticsearch从5版本以后默认不开启远程连接,需要修改配置文件
(3)我们进入容器

docker exec ‐it tensquare_elasticsearch  /bin/bash

此时,我们看到elasticsearch所在的目录为/usr/share/elasticsearch ,进入config看到了 配置文件
elasticsearch.yml
我们通过vi命令编辑此文件,尴尬的是容器并没有vi命令 ,我们需要以文件挂载的 方式创建容器才行,这样我们就可以通过修改宿主机中的某个文件来实现对容器内配置 文件的修改
(4)拷贝配置文件到宿主机
首先退出容器,然后执行命令:

docker cp  tensquare_elasticsearch:/usr/share/elasticsearch/config/elasticsearch.yml  /usr/share/elasticsearch.yml

(5)停止和删除原来创建的容器

docker stop tensquare_elasticsearch   docker rm  tensquare_elasticsearch

(6)重新执行创建容器命令

docker run ‐di ‐‐name=tensquare_elasticsearch ‐p 9200:9200 ‐p 9300:9300 ‐v  /usr/share/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch .yml elasticsearch:5.6.8

(7)修改/usr/share/elasticsearch.yml 将 transport.host: 0.0.0.0 前的#去掉后保 存文件退出。其作用是允许任何ip地址访问elasticsearch .开发测试阶段可以这么做,生产环境下指定具体的IP
(8)重启启动

docker restart tensquare_elasticsearch

重启后发现重启启动失败了,这时什么原因呢?这与我们刚才修改的配置有关,因为 elasticsearch在启动的时候会进行一些检查,比如最多打开的文件的个数以及虚拟内存 区域数量等等,如果你放开了此配置,意味着需要打开更多的文件以及虚拟内存,所以 我们还需要系统调优。
(9)系统调优
我们一共需要修改两处
修改/etc/security/limits.conf ,追加内容

 * soft nofile 65536  
 *  hard nofile 65536

nofile是单个进程允许打开的最大文件个数 soft nofile 是软限制 hard nofile是硬限制
修改/etc/sysctl.conf,追加内容

vm.max_map_count=655360

限制一个进程可以拥有的VMA(虚拟内存区域)的数量
执行下面命令 修改内核参数马上生效

sysctl ‐p

(10)重新启动虚拟机,再次启动容器,发现已经可以启动并远程访问
(11) IK分词器安装

  • 将ik文件夹上传至宿主机(我使用XFTP直接拖过去的)

  • 在宿主机中将ik文件夹拷贝到容器内 /usr/share/elasticsearch/plugins 目录下。

docker cp ik tensquare_elasticsearch:/usr/share/elasticsearch/plugins/

备注:tensquare_elasticsearch是你自己起的ES容器的名字

  • 重新启动,即可加载IK分词器
docker restart tensquare_elasticsearch 

(12)HEAD插件安装

  • 修改/usr/share/elasticsearch.yml ,添加允许跨域配置
http.cors.enabled: true  http.cors.allow‐origin: "*"
  • 重新启动elasticseach容器
  • 下载head镜像
docker pull mobz/elasticsearch‐head:5
  • 创建head容器
docker run ‐di ‐‐name=myhead ‐p 9100:9100 docker pull mobz/elasticsearchhead:5 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值