zoukankan      html  css  js  c++  java
  • Docker下安装ElasticSearch和Kibana

    elasticsearch安装  

    运行容器

    #拉取镜像
    docker pull elasticsearch:7.9.3
    
    #创建数据目录
    mkdir /data/elasticsearch/
    
    #运行一下容器
    docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -d elasticsearch:7.9.3
    
    #把data、plugins、config三个目录copy出来
    docker cp <容器ID>:/usr/share/elasticsearch/data /data/elasticsearch
    docker cp <容器ID>:/usr/share/elasticsearch/plugins /data/elasticsearch
    docker cp <容器ID>:/usr/share/elasticsearch/config /data/elasticsearch
    
    #遍历文件夹赋一下权限
    chmod -R 777 /data/elasticsearch
    
    #删掉容器
    docker rm -f <容器ID>
    
    #再次运行容器,挂载目录
    docker run -d 
     --name elasticsearch 
     -p 9200:9200 
     -p 9300:9300 
     --env "node.name=elasticsearch" 
     --env "cluster.name=test-elasticsearch" 
     --env "bootstrap.memory_lock=true" 
     --env "ES_JAVA_OPTS=-Xms512m -Xmx512m" 
     --env "discovery.type=single-node" 
     --env "script.painless.regex.enabled=true" 
     --volume /data/elasticsearch/data:/usr/share/elasticsearch/data 
     --volume /data/elasticsearch/plugins:/usr/share/elasticsearch/plugins 
     --volume /data/elasticsearch/config:/usr/share/elasticsearch/config 
     --volume /etc/localtime:/etc/localtime 
     elasticsearch:7.9.3
    
    

    这样es就启动好了。我们可以去检查es是否安装完成,可以输入命令:

    curl http://localhost:9200
    

    或者在浏览器中打开http://localhost:9200这个网址,如果能看到以下信息则说明我们的es是已经安装好了的

    {
      "name" : "elasticsearch",
      "cluster_name" : "test-elasticsearch",
      "cluster_uuid" : "_GdxokQOSCKcBd9lCkmiFw",
      "version" : {
        "number" : "7.9.3",
        "build_flavor" : "default",
        "build_type" : "docker",
        "build_hash" : "c4138e51121ef06a6404866cddc601906fe5c868",
        "build_date" : "2020-10-16T10:36:16.141335Z",
        "build_snapshot" : false,
        "lucene_version" : "8.6.2",
        "minimum_wire_compatibility_version" : "6.8.0",
        "minimum_index_compatibility_version" : "6.0.0-beta1"
      },
      "tagline" : "You Know, for Search"
    }
    

    修改配置,解决跨域访问问题

    首先进入到容器中,然后进入到指定目录修改elasticsearch.yml文件

    docker exec -it elasticsearch /bin/bash
    cd /usr/share/elasticsearch/config/
    vi elasticsearch.yml
    

    在elasticsearch.yml的文件末尾加上:

    http.cors.enabled: true
    http.cors.allow-origin: "*"
    

    修改配置后重启容器即可。

    docker restart elasticsearch
    

    或直接在挂载卷上修改 "/data/elasticsearch/config/elasticsearch.yml"

    安装ik分词器

    es自带的分词器对中文分词不是很友好,所以我们下载开源的IK分词器来解决这个问题。首先进入到plugins目录中下载分词器,下载完成后然后解压,再重启es即可。具体步骤如下: 注意:elasticsearch的版本和ik分词器的版本需要保持一致,不然在重启的时候会失败。可以在这查看所有版本,选择合适自己版本的右键复制链接地址即可。点击这里

    cd /usr/share/elasticsearch/plugins/
    elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.9.3/elasticsearch-analysis-ik-7.9.3.zip
    exit
    docker restart elasticsearch 
    

    然后可以在kibana界面的dev tools中验证是否安装成功

    POST test/_analyze
    {
      "analyzer": "ik_max_word",
      "text": "你好我是东邪Jiafly"
    }
    

    不添加"analyzer": "ik_max_word",则是每个字分词,可以在下面kibana安装完成以后尝试一下

    kibana安装

    版本最好跟elasticsearch一致

    docker pull kibana:7.9.3
    docker run --name kibana --link=elasticsearch:test  -p 5601:5601 -d kibana:7.9.3
    

    启动没那么快,等一会儿,启动以后可以打开浏览器输入http://localhost:5601就可以打开kibana的界面了

  • 相关阅读:
    node express 返回json object
    CodeIgniter 安装指导
    nodejs 使用express开发获取其他网站引用本站点js文件的参数
    nodejs express 学习
    microsoft webMatrix 使用 IISnode 进行node express 开发
    模板引擎jade学习
    模板引擎之jade 学习
    smarty学习——高级知识
    smarty学习——缓存
    smarty学习——编程知识
  • 原文地址:https://www.cnblogs.com/xtjatswc/p/13968292.html
Copyright © 2011-2022 走看看