elasticsearch安装及调用

安装命令:

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可慢慢研究

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值