Elasticsearch
Elasticsearch
一、Elasticsearch的核心内容1、瞬时:Elasticsearch是一个瞬时的搜索平台。通常时间1秒。2、集群:集群中的服务器共同持有数据,提供跨越节点的联合索引和搜索功能。一个集群有一个唯一的名称,默认的是elasticsearch。一个几点只能在一个集群中。确保集群名字的唯一性;一个集群可以只有一个节点;可以有多个集群。3、节点:节点是你集群中的单一服务器,存储数据,参与集群的索引和搜索功能。和集群一样,节点也有一个唯一的名字(默认是通过UUID获取的一个id),这个名字是节点启动时生成的。你可以重新定义节点的名字。这些名称对于管理目的很重要,你可以知道每台服务器对应着Elasticsearch集群中的哪一个节点。节点可以通过配置集群名称加入某一个集群。默认情况下,启动节点后,节点会自动组建默认集群elasticsearch ,并使得节点自动加入elasticsearch 集群。在一个集群中,你可以拥有任意个节点,如果在网络中没有节点,此时启动一个节点,这个节点会自动构建一个单一节点的集群elasticsearch 。4、索引(名称index:database):一个索引是多个具有相似特征的文档的集合。例如,你可以拥有一个客户信息的索引、一个产品目录的索引、也可以拥有一个其他数据的索引。一个索引被定义为一个名字(全部小写),这个名字被用来对当前索引(索引中的文档)进行索引(动词,list index)、搜索、更新、删除操作。在一个集群中你可以定义任意个索引。5、类型(type:table):6.00弃用----来在网络6、文档:一个文档是一个可以被索引的基本单位。你可以拥有一个用户的文档,一个商品的文档,文档的格式是json。对于一个 索引/类型 ,可以存储任意个文档。注意文档虽然属于一个索引,但其实文档是在 索引下的type里面的。7、shards分片和replicas副本分片:一个索引可以储存大量的数据,有可能超出单个节点物理存储的限制。为了解决这个问题,Elasticsearch 可以使用分片把一个索引的数据拆分开来。当你创建一个索引时,你可以定义分片的数量。 每个分片都是一个独立的索引,可以被托管在集群中的任意节点上。分片重要的两个原因:(1)它允许水平切割/缩放内容(2)它允许跨分片(多个节点)分发和并行操作,从而提高性能和吞吐量。副本分片:在网络环境中,有可能机器会死掉,所以Elasticsearch使用副本来解决这问题。(1)她提供高可用的能力,当一个单一分片/节点挂掉。副本分配不会和其拷贝源分片在同一个几点上。(2)她扩展了搜索数据的量/吞吐量,因为你可以在所有的副本上并行搜索总结一下:一个索引可以切割成多个分片,一个索引可以没有副本分片或有多个副本分片。一旦有副本分片,每个索引都会有多个主分片,和多个副本分片。在索引创建的时候,可以定义,分片和副本分片的数量,一定创建了索引,分片的数量不能更改,副本分片的数量是可以修改的。默认情况下,一个索引会有5个主分片,每个主分片都有一个副本分片。(一般至少有两个节点,一个集群)。一个索引,5个主分片,一个副本(即5个副本分片)
1、jdk版本,至少1.8,推荐:1.8.0_1312、使用tar方式安装3、下载Elasticsearch 6.2.4 tarcurl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.2.4.tar.gz
4、解压缩文件tar -xvf elasticsearch-6.2.4.tar.gz
5、进入bin目录cd elasticsearch-6.2.4/bin
6、启动一个单一节点的集群./elasticsearch运行报错,提示说内存不够,原因是elasticsearch默认分配的内存太大,我只用于测试,所以修改其默认内存配置。修改:config/jvm.options-Xms1g -Xmx1g为-Xms512m -Xmx512m
重新运行: ./elasticsearch最小必须为512m.通过日志可以看到启动成功,oOH6klQ就是我们的节点名称,并且选择自己作为集群中的master。
7、启动时设置集群名称和节点名称:./elasticsearch -Ecluster.name=my_cluster_xyx -Enode.name=my_node_xyx注意IP地址和端口:127.0.0.1:9200默认情况下,Elasticsearch 使用9200端口提供REST API访问,如果需要的话,这个端口是可以配置的。