安装命令:
docker network create elastic
docker run --name elasticsearch8_6_2 -e ES_JAVA_OPTS="-Xms1g -Xmx1g" --net elastic -p 9200:9200 -v /devops/products/elasiticsearch/config-mount/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /devops/products/elasiticsearch/data:/usr/share/elasticsearch/data -v /devops/products/elasiticsearch/log-mount:/usr/share/elasticsearch/logs -it docker.elastic.co/elasticsearch/elasticsearch:8.6.2
出现错误
Exception in thread "main" java.nio.file.FileSystemException: /usr/share/elasticsearch/config/elasticsearch.yml.9wOcIXLbTpGKJMdGiC_l4Q.tmp -> /usr/share/elasticsearch/config/elasticsearch.yml: Device or resource busy
at java.base/sun.nio.fs.UnixException.translateToIOException(UnixException.java:100)
则修改elasticsearch.yml中的bootstrap.memory_lock为true
不过上述用elastic作net是不能通过别的及其访问的
我们最好用docker-compose安装,用现成的docker-compose.yml:
version: "3"
services:
elasticsearch8_6_2:
#往后安装不一定存在这个版本,可先查看新版本再选择
image: docker.elastic.co/elasticsearch/elasticsearch:8.6.2
container_name: elasticsearch8_6_2
restart: always
ports:
- 9200:9200
- 9300:9300
volumes:
- /devops/products/elasiticsearch/data:/usr/share/elasticsearch/data
- /devops/products/elasiticsearch/config-mount/elasticsearch.yml:/usr/share/config/elasticsearch.yml
- /devops/products/elasiticsearch/log-mount:/usr/share/logs
environment:
- discovery.type=single-node
- "ES_JAVA_OPTS=-Xms1g -Xmx1g"
- TZ=Asia/Shanghai
network_mode: host
注意8版本以上需要密码,可执行重置密码得到新密码:
docker exec -it elasticsearch8_6_2 /usr/share/elasticsearch/bin/elasticsearch-reset-password auto -u elastic
最终屏幕打印出新密码JgDQS0sIuwWUYEfprx
这样每次请求把用户名和密码鞋带上:
curl -X POST "localhost:9200/bank/_bulk?pretty" -H 'Content-Type: application/json' --user elastic:JgDQS0sIuwWUYEfprx0M -d'
{ "create":{ } }
{ "account_number":1,"balance":39225,"firstname":"Amber","lastname":"Duke","age":32,"gender":"M","address":"880 Holmes Lane","employer":"Pyrami","email":"amberduke@pyrami.com","city":"Brogan","state":"IL" }
{ "create":{ } }
{ "account_number":6,"balance":5686,"firstname":"Hattie","lastname":"Bond","age":36,"gender":"M","address":"671 Bristol Street","employer":"Netagy","email":"hattiebond@netagy.com","city":"Dante","state":"TN" }
{ "create":{ } }
{ "account_number":13,"balance":32838,"firstname":"Nanette","lastname":"Bates","age":28,"gender":"F","address":"789 Madison Street","employer":"Quility","email":"nanettebates@quility.com","city":"Nogal","state":"VA" }
{ "create":{ } }
{ "account_number":18,"balance":4180,"firstname":"Dale","lastname":"Adams","age":33,"gender":"M","address":"467 Hutchinson Court","employer":"Boink","email":"daleadams@boink.com","city":"Orick","state":"MD" }
{ "create":{ } }
{ "account_number":20,"balance":16418,"firstname":"Elinor","lastname":"Ratliff","age":36,"gender":"M","address":"282 Kings Place","employer":"Scentric","email":"elinorratliff@scentric.com","city":"Ribera","state":"WA" }
{ "create":{ } }
{ "account_number":25,"balance":40540,"firstname":"Virginia","lastname":"Ayala","age":39,"gender":"F","address":"171 Putnam Avenue","employer":"Filodyne","email":"virginiaayala@filodyne.com","city":"Nicholson","state":"PA" }
{ "create":{ } }
{ "account_number":32,"balance":48086,"firstname":"Dillard","lastname":"Mcpherson","age":34,"gender":"F","address":"702 Quentin Street","employer":"Quailcom","email":"dillardmcpherson@quailcom.com","city":"Veguita","state":"IN" }
{ "create":{ } }
{ "account_number":37,"balance":18612,"firstname":"Mcgee","lastname":"Mooney","age":39,"gender":"M","address":"826 Fillmore Place","employer":"Reversus","email":"mcgeemooney@reversus.com","city":"Tooleville","state":"OK" }
{ "create":{ } }
{ "account_number":44,"balance":34487,"firstname":"Aurelia","lastname":"Harding","age":37,"gender":"M","address":"502 Baycliff Terrace","employer":"Orbalix","email":"aureliaharding@orbalix.com","city":"Yardville","state":"DE" }
{ "create":{ } }
{ "account_number":49,"balance":29104,"firstname":"Fulton","lastname":"Holt","age":23,"gender":"F","address":"451 Humboldt Street","employer":"Anocha","email":"fultonholt@anocha.com","city":"Sunriver","state":"RI" }
'
当然查询也是一样的:
curl -X GET "localhost:9200/bank/_search?pretty" -H 'Content-Type: application/json' --user elastic:JgDQS0sIuwWUYEfprx0M -d'
{
"query": { "match": { "address": "mill lane" } }
}
'
返回值能看出查询到一条记录:
到此算是安装成功了,别的API可慢慢研究