99久久国产露脸精品麻豆,欧美日韩精品小说,亚洲免费在线美女视频,国产三级中文字幕,91极品国产情侣高潮对白,国产亚洲一区二区三区不卡片,欧美jizz精品欧美性,久久国产精品久久国产片

elasticsearch 集群(cluster)搭建

袁志蒙 1083次瀏覽

摘要:Elasticsearch(簡稱ES)是一個基于Lucene的開源搜索引擎,它提供了全文搜索、結構化搜索以及分析功能。為了支持大規模數據處理和高效查詢,ES支持集群部署。本文將詳細介紹如何配置ES集群,包括es安裝、節點配置、集群發現、JVM參數調優等。

一、相關概念

集群(Cluster):一個或多個節點組成的集合,共同提供數據存儲和搜索服務。

節點(Node):ES實例運行在一個JVM進程中,稱為一個節點。

索引(Index):文檔的集合,類似于數據庫中的表。

分片(Shard):索引可以被分為多個分片,每個分片是一個Lucene實例,用于存儲數據。

副本(Replica):為了提高查詢性能和容錯性,可以為每個分片創建多個副本。

二、安裝ES

1.下載

https://www.elastic.co/cn/downloads/past-releases/

或者使用命令:
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.7.1-linux-x86_64.tar.gz
解壓:
tar -zxvf elasticsearch-7.7.1-linux-x86_64.tar.gz

2.添加用戶

ES不能使用root啟動,需創建普通用戶

#創建新用戶elasticsearch ,設置用戶組為elasticsearch ,密碼123456
useradd elasticsearch -g elasticsearch -p 123456

3.配置集群

# 新增es目錄
mkdir /data/elasticsearch/data /data/elasticsearch/logs

# 修改文件擁有者
chown -R elasticsearch:elasticsearch /data/elasticsearch

# 到es目錄的config目錄下修改配置文件
vim ./config/elasticsearch.yml


elasticsearch.yml配置

# 集群名稱
cluster.name: my-application

# 節點名稱
node.name: node-1

# 是否有資格被選舉為master,ES默認集群中第一臺機器為主節點
# node.master: true

# 是否存儲數據,默認情況下,所有的節點都被認為是數據節點
# node.data: true

# 數據目錄
path.data: /data/elasticsearch/data

# 日志目錄
path.logs: /data/elasticsearch/logs

# 0.0.0.0,表示對外開放,如對特定ip開放則改為指定ip
network.host: 0.0.0.0

# 對外服務http端口,默認為9200
http.port: 9200

# 內部節點之間溝通端?
transport.tcp.port: 9300

# 集群中 node 節點發現列表
discovery.seed_hosts: ["172.16.130.138", "172.16.130.168", "172.16.130.243"]

# 集群初始化那些節點可以被選舉為 master
cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]

# 解決跨域問題,該配置在elasticsearch-head的時候會用到
http.cors.enabled: true
http.cors.allow-origin: "*"

在其它節點的配置文件中你只需要修改: 

node.name: node-1

最后修改權限

chown -R elasticsearch:elasticsearch /usr/share/elasticsearch-7.7.1

4.打開防火墻

sudo firewall-cmd --zone=public --add-port=9200/tcp --permanent
sudo firewall-cmd --zone=public --add-port=9300/tcp --permanent
sudo firewall-cmd --reload

5.啟動

#切換到elasticsearch用戶
su elasticsearch

#啟動
./elasticsearch-7.7.1/bin/elasticsearch

#加參數 -d 表示后臺啟動:
./elasticsearch-7.7.1/bin/elasticsearch -d

#查看elasticsearch進程
ps aux|grep elasticsearch

6.解決報錯

[1]:max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]

ES因為需要大量的創建索引文件,需要大量的打開系統的文件,所以我們需要解除linux系統當中打開文件最大數目的限制,不然ES啟動就會拋錯

sudo vim /etc/security/limits.conf
elasticsearch soft nofile 65535
elasticsearch hard nofile 65535

#修改后重啟Linux生效
reboot

[2]:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
最大虛擬內存太小,調大系統的虛擬內存

vim /etc/sysctl.conf
vm.max_map_count=655360

#執行以下命令生效
sysctl -p

7.其他

查看集群中各個節點的基本情況
http://172.16.130.168:9200/_cat/nodes

查看集群健康狀態:
http://172.16.130.168:9200/_cluster/health

調整JVM參數:根據硬件配置和工作負載,調整Elasticsearch的JVM參數以優化性能。
sudo vim ./config/jvm.options
-Xms31g
-Xmx31g

三、注意事項

所有節點集群名稱必須一致: cluster.name

每個節點必須有一個唯一名字: node.name

開啟每個節點遠程連接: network.host: 0.0.0.0

指定集群中所有節點通信列表:

discovery.seed_hosts: ["172.16.130.138", "172.16.130.168", "172.16.130.243"]

集群初始化那些節點可以被選舉為 master:

cluster.initial_master_nodes: ["node-1", "node-2", "node-3"]


隨機內容

表情

共0條評論
  • 這篇文章還沒有收到評論,趕緊來搶沙發吧~