大数据学习第15天
cluster
代表一個集群,集群中有多個節點,其中有一個為主節點,這個主節點是可以通過選舉產生的,主從節點是對于集群內部來說的。es的一個概念就是去中心化,字面上理解就是無中心節點,這是對于集群外部來說的,因為從外部來看es集群,在邏輯上是個整體,你與任何一個節點的通信和與整個es集群通信是等價的。
主節點的職責是負責管理集群狀態,包括管理分片的狀態和副本的狀態,以及節點的發現和刪除。
只需要在同一個網段之內啟動多個es節點,就可以自動組成一個集群。
默認情況下es會自動發現同一網段內的節點,自動組成集群。
集群狀態查看
http://192.168.57.4:9200/_cluster/health?pretty
shards
代表索引分片,es可以把一個完整的索引分成多個分片,這樣的好處是可以把一個大的索引拆分成多個,分布到不同的節點上。構成分布式搜索。分片的數量只能在索引創建前指定,并且索引創建后不能更改。
可以在創建索引庫的時候指定
curl -XPUT 'localhost:9200/test1/' -d'{"settings":{"number_of_shards":3}}'
index.number_of_s默認是一個索引庫有5個分片
hards: 5
replicas
代表索引副本,es可以給索引設置副本,副本的作用一是提高系統的容錯性,當某個節點某個分片損壞或丟失時可以從副本中恢復。二是提高es的查詢效率,es會自動對搜索請求進行負載均衡。
可以在創建索引庫的時候指定
curl -XPUT 'localhost:9200/test2/' -d'{"settings":{"number_of_replicas":2}}'
默認是一個分片有2個副本
index.number_of_replicas: 1
recovery
代表數據恢復或叫數據重新分布,es在有節點加入或退出時會根據機器的負載對索引分片進行重新分配,掛掉的節點重新啟動時也會進行數據恢復。
gateway
代表es索引的持久化存儲方式,es默認是先把索引存放到內存中,當內存滿了時再持久化到硬盤。當這個es集群關閉再重新啟動時就會從gateway中讀取索引數據。es支持多種類型的gateway,有本地文件系統(默認),分布式文件系統,Hadoop的HDFS和amazon的s3云存儲服務。
如果需要將數據落地到hadoop的hdfs需要先安裝插件elasticsearch/elasticsearch-hadoop,然后再elasticsearch.yml配置
gateway:
??? type: hdfs
gateway:
????hdfs:
??????? uri: hdfs://localhost:9000
discovery.zen
代表es的自動發現節點機制,es是一個基于p2p的系統,它先通過廣播尋找存在的節點,再通過多播協議來進行節點之間的通信,同時也支持點對點的交互。
如果是不同網段的節點如何組成es集群?
禁用自動發現機制
discovery.zen.ping.multicast.enabled: false
設置新節點被啟動時能夠發現的主節點列表
discovery.zen.ping.unicast.hosts: [“192.168.27.4", " 192.168.17.5"]
Transport
代表es內部節點或集群與客戶端的交互方式,默認內部是使用tcp協議進行交互,同時它支持http協議(json格式)、thrift、servlet、memcached、zeroMQ等的傳輸協議(通過插件方式集成)。
settings修改索引庫默認配置
例如:分片數量,副本數量
查看:curl -XGET http://localhost:9200/myindex/_settings?pretty
curl -XPUT 'localhost:9200/myindex/' -d'{"settings":{"number_of_shards":3,"number_of_replicas":2}}'
Mapping,就是對索引庫中索引的字段名稱及其數據類型進行定義,類似于關系數據庫中表建立時要定義字段名及其數據類型那樣,(和solr中的schme類似)不過es的mapping比數據庫靈活很多,它可以動態添加字段。一般不需要要指定mapping都可以,因為es會自動根據數據格式定義它的類型,如果你需要對某些字段添加特殊屬性(如:定義使用其它分詞器、是否分詞、是否存儲等),就必須手動添加mapping
查詢索引庫的mapping信息
curl -XGET http://localhost:9200/myindex/emp/_mapping?pretty
mappings修改字段相關屬性
例如:字段類型,使用哪種分詞工具
?
轉載于:https://www.cnblogs.com/lkoooox/p/11066734.html
總結
- 上一篇: 11 Python - dict
- 下一篇: c数据类型