• docker 部署es


    原文 :https://www.cnblogs.com/BNTang/articles/13787106.html
    https://www.pianshen.com/article/6328379464/

    搭建docker
    mkdir -p /usr/local/dockeres/data
    mkdir -p /usr/local/dockeres/logs
    mkdir -p /usr/local/dockeres/config
    

    一般我们只会配置 elasticsearch.yml 和 jvm.options 两个配置文件
    因此我们把两个配置文件复制到 config 目录下命令如下:

    cp /usr/local/soft/elasticsearch-7.3.0/config/* /usr/local/dockeres/config
    ```sh
    配置文件的配置方式和 Linux 的安装方式一样
    配置 elasticsearch.yml 和 jvm.options
    修改内容参考以下文章即可:
    https://www.cnblogs.com/BNTang/articles/13785625.html
    https://www.cnblogs.com/BNTang/articles/13784815.html
    拉取之前先执行一下以下指令:
    需要注意是在如下图的位置执行
    ![](https://img2020.cnblogs.com/blog/34113/202101/34113-20210113135525444-657830083.png)
    
    ```sh
    chmod -R 777 dockeres
    docker run -di --name=elasticsearch -p 9200:9200 -p 9300:9300 
    -v /usr/local/dockeres/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml 
    -v /usr/local/dockeres/config/jvm.options:/usr/share/elasticsearch/config/jvm.options 
    -v /usr/local/dockeres/data:/usr/local/dockeres/data 
    -v /usr/local/dockeres/logs:/usr/local/dockeres/logs 
    -v /usr/local/dockeres/plugins/:/usr/share/elasticsearch/plugins/ 
    elasticsearch:7.3.0
    

    Head 插件界面不好看我这里给你们介绍一下另外的
    elasticsearch-head 的 UI 风格在现在看来实在不敢恭维,因此这里推荐另外两款可视化工具,首先 ElasticHD

    docker run -p 9800:9800 -di --name=elasticHD --link elasticsearch:es containerize/elastichd
    

    这里的 --link 是用来连接两个容器,使之可以互相通信
    :es 是为连接容器起的别名
    Dejavu 是另一款可视化工具,UI 界面更符合当下主流的前端风格,使用起来也很方便

    docker run -p 1358:1358 -d appbaseio/dejavu
    
    Docker下部署ElasticSearch以及ES-Head

    一.ElasticSearch部署
    1.1 拉取镜像

    es默认是没有latest版本的,这里需要指定一个版本号6.3.2,当然也可以用docker search elasticsearch查找可用的版本

     docker pull docker.elastic.co/elasticsearch/elasticsearch:6.3.2
    

    1.2 运行容器

    ElasticSearch的默认端口是9200,我们把宿主环境9200端口映射到Docker容器中的9200端口,就可以访问到Docker容器中的ElasticSearch服务了,同时我们把这个容器命名为es。

    docker run -d --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:6.3.2
    

    1.3 添加跨域配置

    1.3.1 修改docker的应用配置,首先要进入到运行应用的终端

    docker exec -it es /bin/bash
    

    1.3.2 然后找到elasticsearch.yml配置文件

    显示文件

    ls
    结果如下:
    LICENSE.txt README.textile config lib modules
    NOTICE.txt bin data logs plugins

    进入配置文件夹

    cd config
    

    显示文件

    ls
    

    结果如下:
    elasticsearch.keystore ingest-geoip log4j2.properties roles.yml users_roles
    elasticsearch.yml jvm.options role_mapping.yml users

    修改配置文件

    vi elasticsearch.yml
    

    vi修改文件,在最后一行后添加跨域配置

    加入跨域配置

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

    四. 重启容器

    docker restart es
    

    二.ElasticSearch-Head部署
    2.1 拉取镜像

    docker pull mobz/elasticsearch-head:5
    

    2.2 运行容器

    docker run -d --name es_admin -p 9100:9100 mobz/elasticsearch-head:5
    

    好了,顺利连接的话,可以看到如图所示内容:

    当然也有很多小伙伴在安装的时候会出现一些问题,我也将常见的问题列在下面。

    2.3.常见问题

    2.3.1 跨域报错

    常见的跨域问题如上所示,缺少跨域配置,参考上文ElasticSearch部署的1.3

    2.3.2 Content-Type header请求头错误

    { error:"Content-Type header [application/x-www-form-urlencoded] is not supported",status:406 }

    数据浏览看不到任何数据,且查看数据请求报错,错误情况如下:

    解决方法:(参考博文:https://blog.csdn.net/A_Story_Donkey/article/details/84135475)

    docker exec -it es_admin /bin/bash进入es_head插件安装目录终端
    

    编辑/usr/src/app/_site/vendor.js(我的es_Head插件部署在docker容器中,路径作为参考)
    修改共有两处:

    1. 6886行 /contentType: "application/x-www-form-urlencoded
      改成 contentType: "application/json;charset=UTF-8"
    2. 7574行 var inspectData = s.contentType === "application/x-www-form-urlencoded" &&
      改成 var inspectData = s.contentType === "application/json;charset=UTF-8" &&
  • 相关阅读:
    使用form插件 和ajax 结合使用 没有调用success的原因
    不使用插件的ajax 上传文件
    struts2 使用ajax进行图片上传
    Java输入输出流详解
    SSM框架整合(Spring+SpringMVC+MyBatis+Oracle)
    Java WEB开发环境搭建以及创建Maven Web项目
    java连接Oracle数据库
    java轻量级IOC框架Guice
    Java String字符串方法
    python入门
  • 原文地址:https://www.cnblogs.com/wang2650/p/14271657.html
Copyright © 2020-2023  润新知