需求:用docker安装ElasticSearch7.3.1版本//////
一、ElasticSearch安装
1、下载对应的镜像或者安装包,路径:https://elasticsearch.cn/download/
2、在服务器上通过docker启动一个容器,并将9200和9300端口映射到本机(ElasticSearch的默认端口是9200,但是因为我已经安装过一个在9200,所以端口号改为9202)
A、创建容器: docker run -d --name es -p 9202:9202 -p 9300:9300 tankdocker-perfomancetest:1.0(镜像自己写的)
B、进入容器: docker exec -it xxx[ID] ./bin/bash
C、在服务器上通过命令: docker cp xxx(安装包) xxxx(容器里面安装的地址)
D、解压安装包tar -zxvf xxx(安装包)
E、修改../config中的elasticsearch.yml和jvm.options(这步很重要,不修改会导致链接报错)
elasticsearch.yml修改内容如下:
jvm.options修改内容如下:
可能遇到的问题:
验证服务启动成功,浏览器打开地址:服务器IP:端口号
二、kibana的安装,要和ElasticSearch安装的版本号一致,不然不可以使用
1、下载对应的镜像或者安装包,路径:https://elasticsearch.cn/download/
2、在服务器上通过docker启动一个容器,命令: docker run --name=cln-app-kibana-7-3-1 -p 9203:9203 tankdocker-perfomancetest:1.0
3、容器传包的操作步骤同ElasticSearch一致,不同的是kibana需要修改的是./config/kibana.yml文件,修改内容如下:
server.port: 9201
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://192.168.1.240:9200"](这个是elasticsearch配置地址和端口)
4、修改完毕之后,进入./bin,执行./kibana,启动成功状态如图:
验证是否启动成功,可以通过浏览器打开地址:服务器IP:端口号
问题:// java.lang.RuntimeException: can not run elasticsearch as root
解决方法:需要建立一个新的用户(1、adduser es ;2、passwd es; 3、chown -R es:es elasticsearch-6.3.2/; 4、chmod 770 elasticsearch-6.3.2/),然后su es(新用户),再去执行启动链接./elasticsearch
ES查询相关命令:
显示索引信息: curl -XGET 'http://localhost:12000/_cat/indices?pretty'
索引插入内容: curl -H "Content-Type: application/json" -XPUT 'localhost:12000/{hhh}/external/1?pretty' -d '{"name": "John Doe"}' ——(注:-H是es6.x以上支持的)
查看插入内容: curl -XGET 'localhost:12000/{hhh}/external/1?pretty'
查询所有内容: curl 'localhost:12000/{hhh}/_search?q=*&pretty'