docker容器安装ES

1.拉取镜像

docker pull elasticsearch:6.5.4

2.修改别名

docker tag [容器ID] es65:6.5.4

2.启动应用


docker run -it -d -p 9200:9200 -p 9300:9300 --name es -e ES_JAVA_OPTS="-Xms128m -Xmx128m" es65:6.5.4

3.拷贝配置文件到宿主机

docker cp es:/usr/share/elasticsearch/ /Users/xumengmeng/Document/docker

4.删除刚启动的容器

docker stop es
docker rm es

5.重新运行

docker run -it -d -p 9200:9200 -p 9300:9300 --name es -e ES_JAVA_OPTS="-Xms128m -Xmx128m" -v /Users/xumengmeng/Document/docker/elasticsearch/config:/usr/share/elasticsearch/config -v /Users/xumengmeng/Document/docker/elasticsearch/data:/usr/share/elasticsearch/data -v /Users/xumengmeng/Document/docker/elasticsearch/plugins:/usr/share/elasticsearch/plugins es65:6.5.4

参数解释:

  1. -p 9200:9200 -p 9300:9300:为暴露两个端口。9200是发送http请求时向es发起请求的端口,9300是es在分布式集群状态下节点间的通信端口
  2. -e “discovery.type=single-node” :指定es以单节点运行
  3. -e ES_JAVA_OPTS=“-Xms64m -Xmx128m”:此参数很重要,如果不指定该参数,es启动会将虚拟机内存全部占用
    [报错]
    Exception in thread “main” java.nio.file.NotDirectoryException: /usr/share/elasticsearch/plugins/.DS_Store
    【处理】rm -rf .DS_store

6.验证

访问:宿主机ip:9200

You Know, for Search

7.相关命令

查看安装插件列表

http://localhost:9200/_cat/plugins

QIeB-qN analysis-ik 6.5.4
QIeB-qN ingest-geoip 6.5.4
QIeB-qN ingest-user-agent 6.5.4

8.管道建立

 curl -X PUT "http://localhost:9200/_ingest/pipeline/user_agent" -H 'Content-Type: application/json' -d' { "description" : "Add user agent information", "processors" : [ { "user_agent" : { "field" : "agent" } } ] }'
 
 1.删除attachment的pipeline
delete http://{{site}}:9200/_ingest/pipeline/attachment

2.建立attachment的pipeline,每个节点都需要这样操作
curl -X PUT "http://localhost:9200/_ingest/pipeline/attachment" -H 'Content-Type: application/json' -d' { "description": "Extract attachment information from arrays", "processors": [ { "foreach": { "field": "attachments", "processor": { "attachment": { "target_field": "_ingest._value.attachment", "field": "_ingest._value.data" } } } } ] }'

你可能感兴趣的:(docker,elasticsearch,java)