美文网首页
docker下安装elasticsearch5.6.8、IK分词

docker下安装elasticsearch5.6.8、IK分词

作者: majorty | 来源:发表于2019-05-02 10:20 被阅读0次
    一、docker下安装elasticsearch5.6.8
    1. 下载镜像
    docker pull elasticsearch:5.6.8
    
    1. 创建容器
    docker run -di --name=elasticsearch -p 9200:9200 -p 9300:9300 elasticsearch:5.6.8
    
    1. 浏览器输入地址:
      http://192.168.25.129:9200/ 即可看到如下信息
    {
      "name" : "WmBn0H‐",
      "cluster_name" : "elasticsearch",
      "cluster_uuid" : "2g‐VVbm9Rty7J4sksZNJEg",
      "version" : {
        "number" : "5.6.8",
        "build_hash" : "688ecce",
        "build_date" : "2018‐02‐16T16:46:30.010Z",
        "build_snapshot" : false,
        "lucene_version" : "6.6.1"
      },
      "tagline" : "You Know, for Search"
    }
    
    1. 拷贝配置文件到宿主机
    docker cp elasticsearch:/usr/share/elasticsearch/config/elasticsearch.yml /usr/share/elasticsearch.yml
    
    1. 停止和删除原来创建的容器
    docker rm -f 容器id
    
    1. 重新执行创建容器命令
    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
    
    1. 修改/usr/share/elasticsearch.yml 将 transport.host: 0.0.0.0 前的#去掉后保
      存文件退出。其作用是允许任何ip地址访问elasticsearch .开发测试阶段可以这么做,生
      产环境下指定具体的IP
    2. 重启启动
    docker restart 容器id
    

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

    1. 系统调优
      我们一共需要修改两处
      修改/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
    
    1. 重新启动虚拟机,再次启动容器,发现已经可以启动并远程访问
    二、IK分词器安装
    1. 将ik文件夹上传至宿主机
    1556763990(1).png

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

    docker cp ik elasticsearch:/usr/share/elasticsearch/plugins/
    
    1. 重新启动,即可加载IK分词器
    docker restart 容器id
    
    三、HEAD插件安装

    1)修改/usr/share/elasticsearch.yml ,添加允许跨域配置

    http.cors.enabled: true
    http.cors.allow-origin: "*"
    
    1. 重新启动elasticseach容器
    docker restart 容器id
    
    1. 下载head镜像
    docker pull mobz/elasticsearch-head:5
    
    1. 创建head容器
    docker run -di --name=elasticsearch_head -p 9100:9100 mobz/elasticsearch-head:5
    

    相关文章

      网友评论

          本文标题:docker下安装elasticsearch5.6.8、IK分词

          本文链接:https://www.haomeiwen.com/subject/gkxnnqtx.html