zoukankan      html  css  js  c++  java
  • docker安装elasticsearch6.8.3-单机模式及可视化Kibana6.8.3

    docker安装elasticsearch6.8.3-单机模式

    拉取镜像

    docker pull elasticsearch:6.8.3

     

    创建容器  测试环境加上-e "discovery.type=single-node"

    docker run --name elasticsearch
    --net host -e "discovery.type=single-node"
    elasticsearch:6.8.3

    指定目录 
    docker run -d --name elasticsearch
    -p 9200:9200 -p 9300:9300
    -e "discovery.type=single-node"
    -v /data/elasticsearch/config :/usr/share/elasticsearch/config
    -v /data/elasticsearch/data:/usr/share/elasticsearch/data
    -v /data/elasticsearch/plugins:/usr/share/elasticsearch/plugins
    --restart=always elasticsearch

    直接启动会报错,没有权限

    先启动,再把文件cp出来,在用上面命令重新启动

    docker run -d --name elasticsearch
    -p 9200:9200 -p 9300:9300
    -e "discovery.type=single-node"
    --restart=always elasticsearch:6.8.3

    文件cp出来

    docker cp 5d14245e3c24:/usr/share/elasticsearch/config /home/elasticsearch
    && docker cp 5d14245e3c24:/usr/share/elasticsearch/data /home/elasticsearch
    && docker cp 5d14245e3c24:/usr/share/elasticsearch/plugins /home/elasticsearch

    赋予文件权限

    chown -R elasticsearch /home/elasticsearch/

    用上面命令重新启动

    docker run -d --name elasticsearch
    -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node"
    elasticsearch:6.8.3

     

    提示 : 6.8.3不支持type,建议安装7.1.1

    docker pull elasticsearch:7.1.1

    docker run -d --name elasticsearch --net=host
    -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node"
    --restart=always elasticsearch:7.1.1

    docker cp 容器id:/usr/share/elasticsearch/config /home/elasticsearch
    && docker cp 容器id:/usr/share/elasticsearch/data /home/elasticsearch
    && docker cp 容器id:/usr/share/elasticsearch/plugins /home/elasticsearch

    赋予文件权限

    chown -R elasticsearch /home/elasticsearch/

    移除容器重新指定文件启动

    docker run -d --name elasticsearch --net=host
    -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node"
    -v /home/elasticsearch/config:/usr/share/elasticsearch/config
    -v /home/elasticsearch/data:/usr/share/elasticsearch/data
    -v /home/elasticsearch/plugins:/usr/share/elasticsearch/plugins
    --restart=always elasticsearch:7.1.1

     

    docker--net=host有什么用

    加了--net=host以后就不需要再做端口映射了.比如docker容器内在8080端口起了一个web server.不加的话需要把本机的某个port比如7979docker内的8080做一个映射关系,访问的时候访问7979. 加了net=host则直接访问8080.

    另外,加了net=host后会使得创建的容器进入命令行好名称显示为主机的名称而不是一串id. 

    比如显示root@sc:/#而不是root@3b8e647e5f79:/#

     

    运行容器

    docker start elasticsearch

     

    查看日志

    docker logs elasticsearch

     

    如果因为内存不足无法启动,则修改启动的内存大小

    重新启动ES

    docker run --name elasticsearch -d -e ES_JAVA_OPTS="-Xms512m -Xmx512m" --net host -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 elasticsearch:6.8.3

    测试 

    IP:9200

     

    其他设置

    进入容器

    docker exec -it elasticsearch /bin/bash

     

    新增跨域配置

    修改配置文件/usr/share/elasticsearch/config/elasticsearch.yml

    http.cors.enabled: true

    http.cors.allow-origin: "*"

    安装分词插件 (elasticsearch-plugin在容器进去后的bin目录下面)

    docker exec -it 容器id bash

    ./elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.8.3/elasticsearch-analysis-ik-6.8.3.zip

    ./elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.7.1/elasticsearch-analysis-ik-7.7.1.zip

     

    如果安装错误,则去下载(找到自己elasticsearch的版本,下载对应的ik版本)

    https://github.com/medcl/elasticsearch-analysis-ik/releases/tag/v7.1.1

    解压移动到服务器,或移到服务器解压都行(uzip)

     

     

     

    重启容器用post测试 

    访问地址 http://192.168.0.23:9200/_analyze?pretty=true    POST

    参数  

    {
    "analyzer":"ik_max_word",
    "text":"你是瓜皮吗"
    }

    如下则代表成功

     

    安装文本抽取插件

    ./elasticsearch-plugin install ingest-attachment

    重启容器

    docker restart elasticsearch

    更新镜像

    docker commit -m="[备注]" [容器ID] elasticsearch:6.8.3

     

    Kibana

    上面我们安装了elasticsearch,可以使用curl命令进行操作,我们还是需要一个图像界面进行管理,下面我们安装Kibana,这里注意安装的时候一定要版本对应,这里安装Kibana6.8.3

    docker pull kibana:6.8.3

    运行kibana

    docker run --name kibana6.8.3 -e ELASTICSEARCH_URL=http://172.17.0.2:9200

    -p 5601:5601 -d [镜像ID]

     

    PS:

    参数ELASTICSEARCH_URL一定要是docker里面的内部地址,否则Kibana访问不到Elasticsearch。

    进入容器查看内部地址

    或者 docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}'  容器id或name

    启动成功访问 ip+5601

     

    汉化版

    启动时-e 传递环境变量

    docker run --name kibana6.8.3

    -e "I18N_LOCALE=zh-CN"

    -e ELASTICSEARCH_URL=http://172.17.0.4:9200

    -p 5601:5601

    -d 54db200915ee

     

     也可以创建配置文件,启动的时候指定配置文件

    vi /home/kibana/kibana.yml

    #
    # ** THIS IS AN AUTO-GENERATED FILE **
    #

    # Default Kibana configuration for docker target
    server.name: kibana
    server.host: "0"

    #指定elasticsearch的访问ip
    elasticsearch.hosts: [ "http://192.168.0.23:9200" ]
    xpack.monitoring.ui.container.elasticsearch.enabled: false

    docker run -d --name kibana --restart=always -p 5601:5601 -v /home/kibana/kibana.yml:/usr/share/kibana/config/kibana.yml kibana:6.8.3

    纵有白头俱老意,奈何缘浅路芊芊.
  • 相关阅读:
    中兴ZTE ZXV10 H618B超级密码
    星际1.08下载绝对能玩
    cs脚本
    关于JIRA4.3.3破解的问题,为什么我的就可以破解成功
    Jquery DataTables学习笔记(一)
    如何利用System.Net.Mail类发送EMAIL
    IE鼠标右键查看源文件失效解决办法
    ServU FTP Server远程/本地提升权限
    Laravel的homestead安装
    编程总结3
  • 原文地址:https://www.cnblogs.com/hanby/p/15210297.html
Copyright © 2011-2022 走看看