hosts解析

vim /etc/hosts

10.0.0.10 es1
10.0.0.11 es2
10.0.0.12 es3

部署jdk

mkdir /usr/java
tar xf jdk-8u221-linux-x64.tar.gz -C /usr/java/
ln -s /usr/java/jdk1.8.0_221 /usr/java/jdk

vim /etc/profile.d/java.sh

export JAVA_HOME=/usr/java/jdk
export PATH=$JAVA_HOME/bin:$JAVA_HOME/bin:$PATH
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar

部署elasticsearch

安装

tar xf elasticsearch-6.8.3.tar.gz -C /opt/
ln -s /opt/elasticsearch-6.8.3 /opt/elasticsearch

创建用户并授权

useradd -s /bin/bash -M es
chown -R es.es /opt/elasticsearch-6.8.3/

配置文件

vim config/elasticsearch.yml
es1

# 修改
node.name: es1
network.host: 10.0.0.10

es2

node.name: es2
network.host: 10.0.0.11

附录:

# 修改以下内容
cluster.name: es.od.com
node.name: hdss7-12.host.com
path.data: /data/elasticsearch/data
path.logs: /data/elasticsearch/logs
bootstrap.memory_lock: true
network.host: 10.0.0.10
http.port: 9200

jvm内存设置

vi config/jvm.options
修改以下

-Xms512m
-Xmx512m

文件描述符

cat /etc/security/limits.d/es.conf

es hard nofile 65536
es soft fsize unlimited
es hard memlock unlimited
es soft memlock unlimited

调整内核参数

sysctl -w vm.max_map_count=262144
echo "vm.max_map_count=262144" >> /etc/sysctl.conf
sysctl -p

启动

su -c "/opt/elasticsearch/bin/elasticsearch -p /tmp/elasticsearch-pid -d" es

集群配置

es1

egrep -v “#|^$” config/elasticsearch.yml

cluster.name: elasticsearch
node.name: es1
network.host: 10.0.0.10
http.port: 9200
node.master: true
node.data: true
node.ingest: false
network.bind_host: 0.0.0.0
network.publish_host: 10.0.0.10
bootstrap.memory_lock: true
transport.tcp.port: 9300
transport.tcp.compress: true
discovery.zen.ping.unicast.hosts: ["10.0.0.10","10.0.0.11","10.0.0.12"]
discovery.zen.minimum_master_nodes: 1

es2

egrep -v “#|^$” config/elasticsearch.yml

cluster.name: elasticsearch
node.name: es2
network.host: 10.0.0.11
http.port: 9200
node.ingest: false
node.master: false
node.data: true
transport.tcp.port: 9300
network.bind_host: 0.0.0.0
network.publish_host: 10.0.0.11
bootstrap.memory_lock: true
transport.tcp.compress: true
discovery.zen.ping.unicast.hosts: ["10.0.0.10","10.0.0.11","10.0.0.12"]
discovery.zen.minimum_master_nodes: 1

es3

egrep -v “#|^$” config/elasticsearch.yml

cluster.name: elasticsearch
node.name: es3
network.host: 10.0.0.12
http.port: 9200
node.ingest: false
node.master: false
node.data: true
transport.tcp.port: 9300
network.bind_host: 0.0.0.0
network.publish_host: 10.0.0.12
bootstrap.memory_lock: true
transport.tcp.compress: true
discovery.zen.ping.unicast.hosts: ["10.0.0.10","10.0.0.11","10.0.0.12"]
discovery.zen.minimum_master_nodes: 1

检查集群状态

curl  -X GET http://localhost:9200/_cat/nodes10.0.0.12 21 97 0 0.00 0.01 0.05 d  - es3
10.0.0.11 21 97 0 0.06 0.04 0.05 d  - es2
10.0.0.10 19 88 0 0.00 0.03 0.05 md * es1curl  -X GET http://192.168.51.220:9200/_cat/nodes?v
ip             heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name
192.168.51.223           39          97   1    0.03    0.04     0.05 dilmrt    -      es03
192.168.51.220           66          97   1    0.09    0.07     0.08 dilmrt    -      es01
192.168.51.221           40          52   0    0.00    0.01     0.05 dilmrt    *      es02

说明

master:带* 表明该节点是主节点,带-表明该节点是从节点

倒排索引

  • 倒排索引(inverted index),也常被称为反向索引、植入档案或反向档案,是一种索引方法,被用来存储在全文搜索下某个单词在一个文档或一组文档中的存储位置的映射。它是文档检索系统中最常用的数据结构

常规的索引建立方式

文档 —> 关键词的映射过程(正向索引)

倒排反向建立索引

关键词 —> 文档的映射 把正向索引的结果重新构造成倒排索引

单词集合

文档集合

根据单词集合和文档集合,得到一张表

插件安装

bin/elasticsearch-plugin install analysis-icu

Elasticsearch API CURD操作

创建索引

创建索引library

curl -H "Content-Type: application/json" -X PUT 'http://10.0.0.10:9200/library/' -d '{"settings":{"index":{"number_of_shards":3,"number_of_replicas":1}}
}'

查看索引

curl -X GET 'http://10.0.0.10:9200/library/_settings'curl -X GET 'http://10.0.0.10:9200/library,library2/_settings'curl -X GET 'http://10.0.0.10:9200/_all/_settings'curl -k -u xxx:xxx -X GET 'http://localhost:9200/_all/_settings'curl -k -u xxx:xxx -X GET 'http://localhost:9200/messages-2020.09.12/_settings'curl -s -XGET http://192.168.51.45:9200/_cat/indices |awk '{print $3}'

创建文档

/索引/Type/文档ID
curl -H "Content-Type: application/json" -X PUT 'http://10.0.0.10:9200/library/books/1' -d '{"title": "Elasticsearch: The Definitive Guide","name":{"first":"Zachary","last":"Tong"},"publish_date":"2020-02-06","price":"49.99"
}'
curl -H "Content-Type: application/json" -X PUT 'http://10.0.0.10:9200/library/books/2' -d '{"title": "Elasticsearch: The Definitive Guide007","name":{"first":"wu","last":"xing"},"publish_date":"2020-02-06","price":"60.99"
}'

创建文档不指定ID

curl -H "Content-Type: application/json" -X POST 'http://10.0.0.10:9200/library/books/' -d '{"title": "Elasticsearch: The Definitive Guide007","name":{"first":"xia","last":"zhi"},"publish_date":"2017-04-18","price":"100.99"
}'

查看文档

通过ID查看文档

curl -X GET 'http://10.0.0.10:9200/library/books/1'

通过_source获取指定的字段

curl -X GET 'http://10.0.0.10:9200/library/books/1?_source=title'curl -X GET 'http://10.0.0.10:9200/library/books/1?_source=title,price'curl -X GET 'http://10.0.0.10:9200/library/books/1?_source'

更新文档

通过ID更新

curl -H "Content-Type: application/json" -X PUT 'http://10.0.0.10:9200/library/books/2' -d '{"title": "Elasticsearch: The Definitive Guide007","name":{"first":"dong","last":"zhi"},"publish_date":"2017-04-18","price":"89.99"
}'

通过_update API方式单独更新对应的字段

curl -H "Content-Type: application/json" -X POST 'http://10.0.0.10:9200/library/books/1/_update' -d '{"doc":{"price":10}
}'curl -H "Content-Type: application/json" -X POST 'http://10.0.0.10:9200/library/books/1/_update' -d '{"doc":{"title":"fly"}
}'

删除文档

curl -X DELETE http://10.0.0.10:9200/library/books/1

删除Type

curl -X DELETE http://10.0.0.10:9200/library/books

删除索引

curl -X DELETE http://10.0.0.10:9200/librarycurl -k -u xxx:xxx -X DELETE http://localhost:9200/messages-2020.09.12curl -X DELETE http://192.168.51.45:9200/192.168.51.180.181workflow-design-2022-08

elasticsearch内置字段及类型

内置字段

_uid, _id, _type, _source, _all, _analyzer, _boost, _parent, _routing, _index, _size, _timestamp, _ttl

字段类型

String, Integer/long, Float/double, Boolean, Null, Date

批量操作

创建两个索引

curl -H "Content-Type: application/json" -X PUT 'http://10.0.0.10:9200/bank/' -d '{"settings":{"index":{"number_of_shards":3,"number_of_replicas":1}}
}'curl -H "Content-Type: application/json" -X PUT 'http://10.0.0.10:9200/shakespeare/' -d '{"settings":{"index":{"number_of_shards":3,"number_of_replicas":1}}
}'

Elasticsearch集群部署及使用相关推荐

  1. CentOS7下Elasticsearch集群部署记录

    Elasticsearch是一个分布式搜索服务,提供Restful API,底层基于Lucene,采用多shard的方式保证数据安全,并且提供自动resharding的功能,github等大型的站点也 ...

  2. Elasticsearch集群部署1.0

    此文档基于1.0版本. Elasticsearch集群部署 配置文件 Elasticsearch有三个配置文件: elasticsearch.yml 用于配置Elasticsearch jvm.opt ...

  3. ElasticSearch集群部署【windows+Linux双系统搭建】

    ES集群部署 一.windows部署 二.Linux单节点部署 三.Linux集群部署 一.windows部署 如果已经使用过,删除其中的data和logs文件夹中的内容 新建一个es-cluster ...

  4. CC00006.elasticsearch——|HadoopElasticSearch.V06|——|ELK.v06|集群|ElasticSearch集群部署.V1|

    一.Elasticsearch 集群环境准备 ### --- hadoop01~03修改系统配置:修改/etc/sysctl.conf~~~ # 修改/etc/sysctl.conf [root@ha ...

  5. Elasticsearch 集群部署

    在我们安装好Elasticsearch之后,详细可参考https://blog.csdn.net/u011192622/article/details/124867544 这里我们讲一下Elastic ...

  6. Elasticsearch集群部署及Head插件安装

    首先准备三台Linux服务器,系统版本Centos7,具备Java环境,最好是JDK11以上.由于ES比较吃内存,所以每台服务器的配置要求为: CPU:2核 内存:2G 我的三个节点分别是Hadoop ...

  7. docker进行ElasticSearch集群部署

    环境: (1)Centos7 (2)JDK1.8 (3)docker (4)ElasticSearch7.6 建议: (1)服务器至少3台,否则没必要集群部署 (2)java后台推荐直接连接客户端节点 ...

  8. 我的ElasticSearch集群部署总结--大数据搜索引擎你不得不知

    摘要:世上有三类书籍:1.介绍知识,2.阐述理论,3.工具书:世间也存在两类知识:1.技术,2.思想.以下是我在部署ElasticSearch集群时的经验总结,它们大体属于第一类知识"tec ...

  9. Elasticsearch集群部署的相关问题记录

    ElasticSearch相关的端口 ES:9200.作为http协议,主要用于外部通信 ES:9300.作为TCP协议,jar之间就是通过 tcp协议通信,ES集群之间通过9300通信 Kibana ...

  10. Logstash+Kibana+多ElasticSearch集群部署

    ELK原理与介绍   ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件.新增了一个FileBeat,它是一个轻量级的日志收集 ...

最新文章

  1. docker 实现redis集群搭建
  2. 电商的折扣体系是如何搭建的?
  3. Techo 大会:AI 会替代 DBA 么?
  4. flask创建mysql表_MySQL表不是使用Flask和PyMySQL创建的
  5. Android数据库存放的具体位置
  6. STM32f4 ARM Bootloader
  7. 惊了!同事竟然在代码里“下毒”
  8. 两款cpu型号【E7400VSe8400】的对比。
  9. Centos7 安装 maven
  10. 区块链教育平台Metisedu将于4月推出beta版本
  11. PHP开源的项目管理软件
  12. Linux检查当前运行级别
  13. 如何为编程爱好者设计一款好玩的智能硬件(十)——无线2.4G通信模块研究·一篇说完...
  14. Concurrent and Parallel
  15. GeoServer之安装mbtiles插件
  16. 森林防火火灾漫延算法 火灾推演算法分析 火灾蔓延范围计算方法 森林火灾边界漫延计算方法
  17. win7查看远程连接了计算机名,win7怎么查看远程连接信息 win7远程连接设置教程...
  18. Django应用与分布式路由
  19. python使用IE浏览器
  20. VIM 编辑器使用教程

热门文章

  1. 物联网网格:避免物联网碎片化的起点(上)
  2. 【C++】Complex复数类运算符重载(类的成员函数实现)
  3. 王道考研专业课-计算机组成原理
  4. 抖音短视频服务器维护中无法打开,打不开抖音视频的解决办法
  5. python爬取某壳网数据,实际得到的数据与请求的网页中的内容不一致
  6. 几何:点是否在圆内?
  7. SAI+Ps日漫漫画培训视频教程
  8. 11种物联网协议简介,如WiFi、蓝牙、ZigBee、蜂窝等
  9. 0000115158668
  10. 关于报编程培训班的再一次思考