2 .Docker 安装使用elasticsearch

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_29956725/article/details/88864712

1.  docker pull  elasticsearch

2. docker images 查看是否有下载成功的elasticsearch

3. elasticsearch有2个端口,分别如下:

     简单理解:
    9300端口: ES节点之间通讯使用
    9200端口: ES节点 和 外部 通讯使用

    所以一般这样启动  

    docker run -d -p 9200:9200 -p 9300:9300   --name=elasticsearch elasticsearch

    但是此时docker ps 查看会没有elastic,而在docker ps -a查看却有,这是为什么那,

   进行日志查看docker logs -f 容器id

可以发现elastic 内存不足   

elasticsearch5.+配置默认的内存是2g。我给docker的内存也只有2g,于是就GG了

  删除了旧容器,和旧镜像后,在docker启动命令中加上-e "ES_JAVA_OPTS=-Xms512m -Xmx512m"解决问题

 所以启动参数改为: 

   docker run -d -p 9200:9200 -p 9300:9300 -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" --name=elasticsearch elasticsearch

 此时再通过http://localhost:9200/     即可访问

 

ElasticSearch——跨域访问

ES服务器安装部署成功之后

从另外一个域的浏览器访问ES服务器数据,会出现跨域的问题。

抛出错误:No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. The response had HTTP status code 503.

查看ES相关资料,得知ES默认是不允许跨域的

但是我们可以通过ES的配置文件:elasticsearch.yml中添加如下参数:


#开启跨域访问支持,默认为false

http.cors.enabled: true

#跨域访问允许的域名地址,(允许所有域名)以上使用正则

http.cors.allow-origin: /.*/ 

配置步骤如下:

  docker exec -it es /bin/bash

 

此时用vim命令时,可能不存在,则又需要安装vim命令了

docker容器中,有的并未安装vi和vim,输入命令vim,会提示vim: command not found(如下图)。此时我们就要安装vi命令

执行命令:apt-get update

apt-get update

执行命令:apt-get install vim -y

apt-get install vim -y

重启容器

由于修改了配置,因此需要重启ElasticSearch容器。

docker restart esid

接着Docker 来安装ElasticSearch-Head ,管理elasticSearch,ElasticSearch-Head这个是js的,基于node.js的,我们docker

直接下载就行,默认没有在docker的镜像库中,我们可以从docker其他镜像仓库中下载就行

3.1 拉取镜像

docker pull mobz/elasticsearch-head:5

3.2 运行容器

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

Elasticsearch 清空type下所有documents

POST /tystrategy/strategy/_delete_by_query?conflicts=proceed

{
"query": {
"match_all": {}
}
}

猜你喜欢

转载自blog.csdn.net/qq_29956725/article/details/88864712