国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

linux 基于 RHEL 的 Linux 發(fā)行版(例如 CentOS 和 Fedora)上用 shell 腳本安裝 elasticsearch 指南

這篇具有很好參考價值的文章主要介紹了linux 基于 RHEL 的 Linux 發(fā)行版(例如 CentOS 和 Fedora)上用 shell 腳本安裝 elasticsearch 指南。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

在這個指南中,我們將通過一個簡單的Shell腳本安裝Elasticsearch。請確保在開始之前滿足以下要求

  1. 使用基于 RHEL 的 Linux 發(fā)行版(例如 CentOS 和 Fedora)操作系統(tǒng)。
  2. 擁有root權(quán)限或者sudo權(quán)限。

安裝Elasticsearch的步驟如下

1.首先,創(chuàng)建一個名為install_elasticsearch.sh的文件,并打開該文件以編輯

touch install_elasticsearch.sh
chmod +x install_elasticsearch.sh
vim install_elasticsearch.sh

2.然后,將以下內(nèi)容粘貼到install_elasticsearch.sh文件中

#!/bin/bash

# 安裝必要的軟件包
sudo yum install -y wget

# 導入Elasticsearch的GPG key
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

# 添加Elasticsearch的存儲庫
cat <<EOF | sudo tee /etc/yum.repos.d/elasticsearch.repo
[elasticsearch-7.x]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF

# 安裝Elasticsearch
sudo yum install -y elasticsearch

# 啟用并啟動Elasticsearch服務(wù)
sudo systemctl daemon-reload
sudo systemctl enable elasticsearch.service
sudo systemctl start elasticsearch.service

3.保存并關(guān)閉文件

4.運行安裝腳本

./install_elasticsearch.sh

5.等待腳本執(zhí)行完成,這可能需要幾分鐘的時間。完成后,Elasticsearch將作為一個服務(wù)在您的系統(tǒng)上運行

6.檢查Elasticsearch是否正在運行

curl -X GET "localhost:9200/"

如果安裝成功,您將看到類似于以下內(nèi)容的響應(yīng)

{
  "name" : "your-node-name",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "xxxxxxxxxxxx",
  "version" : {
    "number" : "7.x.x",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "xxxxxxxxxx",
    "build_date" : "2021-09-30T21:56:19.031789Z",
    "build_snapshot" : false,
    "lucene_version" : "8.7.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

步驟詳解

#!/bin/bash

#!/bin/bash 是一個稱為 shebang(或 hashbang)的特殊字符串,它通常出現(xiàn)在腳本文件的第一行。當您將此字符串作為文件的第一行時,它會指示操作系統(tǒng)使用 /bin/bash 作為解釋器來執(zhí)行該腳本。

當您創(chuàng)建一個 Bash 腳本時,請在文件的開頭添加 #!/bin/bash,以確保正確解釋和執(zhí)行腳本。例如,您可以創(chuàng)建一個名為 my_script.sh 的腳本文件,并在文件開頭添加如下內(nèi)容:

#!/bin/bash
# 這是一個簡單的 Bash 腳本示例

echo "Hello, World!"

在文件中添加腳本內(nèi)容后,需要為腳本文件設(shè)置可執(zhí)行權(quán)限。您可以使用 chmod 命令為腳本文件設(shè)置可執(zhí)行權(quán)限:

chmod +x my_script.sh

現(xiàn)在,您可以通過運行 ./my_script.sh 來執(zhí)行腳本。如果一切正常,您將在終端中看到 "Hello, World!" 消息。

sudo yum install -y wget

sudo yum install -y wget命令用于在基于RHEL的Linux發(fā)行版(如CentOS和Fedora)上安裝wget軟件包。

yum是這些系統(tǒng)上的包管理器,用于安裝、更新和卸載軟件包。在這個命令中,install表示要安裝一個軟件包,-y選項表示自動回答所有提示為“是”,wget是要安裝的軟件包的名稱。

wget是一個非常實用的命令行工具,用于從網(wǎng)絡(luò)上下載文件。在Elasticsearch安裝過程中,我們需要wget來下載Elasticsearch的GPG密鑰,以便驗證軟件包的完整性和來源。安裝wget后,您就可以使用它來執(zhí)行其他與下載相關(guān)的操作。

cat <<EOF | sudo tee /etc/yum.repos.d/elasticsearch.repo [elasticsearch-7.x] name=Elasticsearch repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md EOF

此命令將創(chuàng)建一個名為 elasticsearch.repo 的新文件并將其放置在 /etc/yum.repos.d/ 目錄下。這個文件包含了 Elasticsearch 存儲庫的配置,使您的系統(tǒng)能夠從 Elasticsearch 官方存儲庫中下載和安裝軟件包。

以下是命令的各部分的解釋:

  • cat <<EOF: 使用 "Here Document"(這里文檔)語法從標準輸入讀取文本內(nèi)容,直到遇到 EOF 為止。
  • sudo tee /etc/yum.repos.d/elasticsearch.repo: 將 cat 命令的輸出重定向到 /etc/yum.repos.d/elasticsearch.repo 文件中。使用 sudo 是因為需要 root 權(quán)限才能寫入此目錄。
  • [elasticsearch-7.x]: 存儲庫的唯一 ID。
  • name=Elasticsearch repository for 7.x packages: 存儲庫的名稱,僅用于描述性目的。
  • baseurl=https://artifacts.elastic.co/packages/7.x/yum: 存儲庫的基本 URL,包含軟件包和元數(shù)據(jù)。
  • gpgcheck=1: 指示 YUM 在安裝軟件包之前檢查其 GPG 簽名。
  • gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch: Elasticsearch GPG 密鑰的 URL,用于驗證軟件包的簽名。
  • enabled=1: 啟用此存儲庫,以便 YUM 可以使用它來下載和安裝軟件包。
  • autorefresh=1: 啟用自動刷新,以便 YUM 在執(zhí)行操作時自動檢查和更新存儲庫元數(shù)據(jù)。
  • type=rpm-md: 存儲庫的元數(shù)據(jù)類型,對于 Elasticsearch 存儲庫,它是 rpm-md

執(zhí)行此命令后,Elasticsearch 存儲庫將添加到您的系統(tǒng)中,您可以使用 YUM 安裝 Elasticsearch 軟件包。

sudo yum install -y elasticsearch

使用 sudo yum install -y elasticsearch 命令,您可以在基于 RHEL 的 Linux 發(fā)行版(例如 CentOS 和 Fedora)上安裝 Elasticsearch 軟件包。

在此命令中:

  • sudo:以 root 權(quán)限執(zhí)行命令。
  • yum:YUM 包管理器,用于在基于 RHEL 的 Linux 發(fā)行版上安裝、更新和卸載軟件包。
  • install:表示要安裝一個軟件包。
  • -y:自動回答所有提示為“是”。
  • elasticsearch:要安裝的軟件包的名稱。

這個命令將從之前添加的 Elasticsearch 存儲庫中下載并安裝 Elasticsearch。安裝完成后,Elasticsearch 將作為一個服務(wù)存在于您的系統(tǒng)上。

sudo systemctl daemon-reload

sudo systemctl daemon-reload命令用于重新加載systemd的配置文件。當您修改了systemd的服務(wù)單元文件(例如,/etc/systemd/system/usr/lib/systemd/system目錄中的文件)后,需要執(zhí)行這個命令,以便systemd獲取并應(yīng)用最新的配置。

在Elasticsearch安裝過程中,當您安裝Elasticsearch軟件包時,服務(wù)單元文件將被添加到相應(yīng)的目錄。執(zhí)行sudo systemctl daemon-reload命令是為了確保systemd知道Elasticsearch服務(wù)的存在,并使用正確的配置來管理該服務(wù)。

sudo systemctl enable elasticsearch.service

sudo systemctl enable elasticsearch.service 命令用于在基于 systemd 的 Linux 發(fā)行版上啟用 Elasticsearch 服務(wù)。這意味著,當系統(tǒng)啟動時,Elasticsearch 服務(wù)將自動運行。

在這個命令中:

  • sudo:以 root 權(quán)限執(zhí)行命令。
  • systemctl:systemd 的主命令,用于管理服務(wù)和系統(tǒng)狀態(tài)。
  • enable:用于啟用服務(wù),使其在系統(tǒng)啟動時自動運行。
  • elasticsearch.service:Elasticsearch 服務(wù)的名稱。

在啟用 Elasticsearch 服務(wù)之后,您需要手動啟動它,以便在當前會話中立即開始運行。

sudo systemctl start elasticsearch.service

sudo systemctl start elasticsearch.service 命令用于在基于 systemd 的 Linux 發(fā)行版上啟動 Elasticsearch 服務(wù)。執(zhí)行此命令后,Elasticsearch 服務(wù)將立即開始運行。

在這個命令中:

  • sudo:以 root 權(quán)限執(zhí)行命令。
  • systemctl:systemd 的主命令,用于管理服務(wù)和系統(tǒng)狀態(tài)。
  • start:用于啟動服務(wù)。
  • elasticsearch.service:Elasticsearch 服務(wù)的名稱。

啟動 Elasticsearch 服務(wù)后,您可以使用以下命令檢查其狀態(tài):

sudo systemctl status elasticsearch.service

如果服務(wù)已成功啟動并正在運行,您將看到類似于以下內(nèi)容的輸出:

● elasticsearch.service - Elasticsearch
   Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2023-04-11 12:34:56 UTC; 1min 5s ago
     Docs: https://www.elastic.co
 Main PID: 12345 (java)
    Tasks: 62
   Memory: 1.2G
   CGroup: /system.slice/elasticsearch.service
           └─12345 /usr/bin/java -Xms1g -Xmx1g ...

現(xiàn)在,Elasticsearch 服務(wù)正在運行,您可以繼續(xù)配置、使用和管理 Elasticsearch 實例。

相關(guān)問題

不用配置 es專屬賬戶啟動嗎

Elasticsearch 默認情況下以 elasticsearch 用戶身份運行。在安裝 Elasticsearch 時,軟件包會自動創(chuàng)建 elasticsearch 用戶和組。這種安裝方式遵循了最佳安全實踐,以便在系統(tǒng)上運行 Elasticsearch 時遵循最小權(quán)限原則。

默認情況下,Elasticsearch 的 systemd 服務(wù)單元文件(例如 /usr/lib/systemd/system/elasticsearch.service)已配置為使用 elasticsearch 用戶和組。服務(wù)單元文件中的以下行指定了該用戶和組:

User=elasticsearch
Group=elasticsearch

因此,在安裝 Elasticsearch 時,您不需要手動創(chuàng)建專用用戶和組,也不需要對 systemd 服務(wù)單元文件進行任何更改。默認情況下,Elasticsearch 會以 elasticsearch 用戶身份運行。

在啟動 Elasticsearch 服務(wù)(sudo systemctl start elasticsearch.service)后,它將自動以 elasticsearch 用戶身份運行。如果您需要更改運行 Elasticsearch 的用戶和組,可以編輯 systemd 服務(wù)單元文件并更新 UserGroup 選項。但是,請確保所選用戶和組具有適當?shù)臋?quán)限,以便正確訪問 Elasticsearch 安裝目錄、數(shù)據(jù)目錄和日志目錄。

在linux上如何查詢es專屬賬戶

在 Linux 系統(tǒng)上,您可以使用 id 命令查詢 Elasticsearch 專用用戶的信息。id 命令為特定用戶提供了用戶 ID、組 ID 以及用戶所屬的任何其他組的詳細信息。

為了查詢 Elasticsearch 專用用戶,請運行以下命令:

id elasticsearch

如果 Elasticsearch 用戶存在,您將看到類似以下的輸出:

uid=998(elasticsearch) gid=998(elasticsearch) groups=998(elasticsearch)

在這個例子中,uid=998 表示用戶 ID 為 998,gid=998 表示組 ID 為 998。Elasticsearch 用戶和組的名稱和 ID 可能因系統(tǒng)而異。

請注意,在某些發(fā)行版中,Elasticsearch 用戶可能具有不同的名稱,例如 elastic。如果您不確定 Elasticsearch 用戶的名稱,請檢查 Elasticsearch 的 systemd 服務(wù)單元文件(例如 /usr/lib/systemd/system/elasticsearch.service),在文件中查找 UserGroup 配置選項。

那用rpm能搭建es偽集群嗎

是的,使用 RPM 包安裝 Elasticsearch 時,您可以在單個服務(wù)器上搭建一個偽集群。偽集群是指在同一臺服務(wù)器上運行多個 Elasticsearch 節(jié)點。這種設(shè)置可以用于開發(fā)、測試或?qū)W習目的,但對于生產(chǎn)環(huán)境來說,最好使用不同的物理或虛擬服務(wù)器搭建真正的集群。

要在單個服務(wù)器上搭建一個 Elasticsearch 偽集群,請遵循以下步驟:

  1. 使用 RPM 包安裝 Elasticsearch(這將為您創(chuàng)建一個默認的 Elasticsearch 節(jié)點)。
  2. 為每個額外的節(jié)點創(chuàng)建一個新的配置文件,例如 /etc/elasticsearch/elasticsearch_node2.yml。您可以復制現(xiàn)有的 /etc/elasticsearch/elasticsearch.yml 文件,并根據(jù)需要進行修改。確保為每個節(jié)點指定唯一的 node.name、http.portpath.data 配置選項。

例如,/etc/elasticsearch/elasticsearch_node2.yml 的內(nèi)容可以如下所示:

cluster.name: my-cluster
node.name: "node-2"
path.data: /var/lib/elasticsearch_node2
path.logs: /var/log/elasticsearch_node2
http.port: 9201
discovery.seed_hosts: ["127.0.0.1"]
cluster.initial_master_nodes: ["node-1", "node-2"]
  1. 為每個額外的節(jié)點創(chuàng)建數(shù)據(jù)和日志目錄,并更改所有權(quán)為 elasticsearch 用戶和組:
sudo mkdir -p /var/lib/elasticsearch_node2
sudo mkdir -p /var/log/elasticsearch_node2
sudo chown -R elasticsearch:elasticsearch /var/lib/elasticsearch_node2
sudo chown -R elasticsearch:elasticsearch /var/log/elasticsearch_node2
  1. 為每個額外的節(jié)點創(chuàng)建新的 systemd 服務(wù)單元文件。復制現(xiàn)有的 /usr/lib/systemd/system/elasticsearch.service 文件并進行修改。您可以將新文件命名為 /usr/lib/systemd/system/elasticsearch_node2.service。將 Environment=ES_PATH_CONF=/etc/elasticsearch 更改為指向新節(jié)點的配置文件,例如 Environment=ES_PATH_CONF=/etc/elasticsearch_node2
  2. 重新加載 systemd 配置并啟動所有節(jié)點:
sudo systemctl daemon-reload
sudo systemctl start elasticsearch.service
sudo systemctl start elasticsearch_node2.service
  1. 使用 curl 或其他工具檢查節(jié)點的運行狀況。例如,對于第一個節(jié)點,您可以運行 curl -X GET "localhost:9200/",對于第二個節(jié)點,您可以運行 curl -X GET "localhost:9201/"。

這些步驟將創(chuàng)建一個 Elasticsearch 偽集群,其中包含兩個運行在同一臺服務(wù)器上的節(jié)點。請根據(jù)需要添加更多節(jié)點。請注意,雖然偽集群可以用于開發(fā)、測試和學習目的,但在生產(chǎn)環(huán)境中建議將 Elasticsearch 節(jié)點部署到不同的物理或虛擬服務(wù)器上以獲得更好的性能和容錯能力。

新的節(jié)點如何加入已經(jīng)配置好的偽集群中

要將新的 Elasticsearch 節(jié)點添加到已經(jīng)配置好的偽集群中,請遵循以下步驟:

  1. 首先,在新節(jié)點所在的服務(wù)器上使用 RPM 包安裝 Elasticsearch,如之前的指南所述。
  2. 在新節(jié)點的服務(wù)器上,創(chuàng)建一個新的配置文件,例如 /etc/elasticsearch/elasticsearch_node3.yml。您可以復制現(xiàn)有的 /etc/elasticsearch/elasticsearch.yml 文件,并根據(jù)需要進行修改。確保為新節(jié)點指定唯一的 node.name、http.portpath.data 配置選項。同時,確保 discovery.seed_hosts 配置為現(xiàn)有集群中的一個或多個節(jié)點的 IP 地址或主機名。

例如,/etc/elasticsearch/elasticsearch_node3.yml 的內(nèi)容可以如下所示:

cluster.name: my-cluster
node.name: "node-3"
path.data: /var/lib/elasticsearch_node3
path.logs: /var/log/elasticsearch_node3
http.port: 9202
discovery.seed_hosts: ["IP_ADDRESS_OR_HOSTNAME_OF_EXISTING_NODE"]

請將 IP_ADDRESS_OR_HOSTNAME_OF_EXISTING_NODE 替換為現(xiàn)有集群中任一節(jié)點的實際 IP 地址或主機名。

  1. 為新節(jié)點創(chuàng)建數(shù)據(jù)和日志目錄,并更改所有權(quán)為 elasticsearch 用戶和組:
sudo mkdir -p /var/lib/elasticsearch_node3
sudo mkdir -p /var/log/elasticsearch_node3
sudo chown -R elasticsearch:elasticsearch /var/lib/elasticsearch_node3
sudo chown -R elasticsearch:elasticsearch /var/log/elasticsearch_node3
  1. 為新節(jié)點創(chuàng)建新的 systemd 服務(wù)單元文件。復制現(xiàn)有的 /usr/lib/systemd/system/elasticsearch.service 文件并進行修改。您可以將新文件命名為 /usr/lib/systemd/system/elasticsearch_node3.service。將 Environment=ES_PATH_CONF=/etc/elasticsearch 更改為指向新節(jié)點的配置文件,例如 Environment=ES_PATH_CONF=/etc/elasticsearch_node3。
  2. 重新加載 systemd 配置并啟動新節(jié)點:
sudo systemctl daemon-reload
sudo systemctl start elasticsearch_node3.service
  1. 使用 curl 或其他工具檢查新節(jié)點的運行狀況。例如,對于新節(jié)點,您可以運行 curl -X GET "localhost:9202/"

新節(jié)點應(yīng)該會自動加入現(xiàn)有的偽集群。要驗證新節(jié)點是否已成功加入集群,您可以在集群中的任何節(jié)點上運行以下命令:

curl -X GET "localhost:9200/_cat/nodes?v&pretty"

這將顯示集群中所有節(jié)點的列表,包括新加入的節(jié)點。

請注意,在生產(chǎn)環(huán)境中,建議將 Elasticsearch 節(jié)點部署到不同的物理或虛擬服務(wù)器上以獲得更好的性能和容錯能力。偽集群主要適用于開發(fā)、測試和學習目的。

那我配置新節(jié)點加入偽集群的時候服務(wù)器用不用停機

在配置新節(jié)點加入 Elasticsearch 偽集群時,您不需要停止現(xiàn)有節(jié)點或整個服務(wù)器。Elasticsearch 集群支持熱擴展,這意味著您可以在不停機的情況下向集群中添加或刪除節(jié)點。

在添加新節(jié)點到偽集群的過程中,只需確保新節(jié)點的配置文件正確設(shè)置,包括 discovery.seed_hosts,并確保新節(jié)點能夠與現(xiàn)有節(jié)點通信。添加新節(jié)點后,您可以使用 _cat/nodes API(如:curl -X GET "localhost:9200/_cat/nodes?v&pretty")監(jiān)控新節(jié)點是否成功加入了集群。

在新節(jié)點加入集群后,Elasticsearch 將自動重新分布數(shù)據(jù),以便在所有可用節(jié)點之間保持負載平衡。這個過程可能需要一些時間,具體取決于您的數(shù)據(jù)量和集群規(guī)模。在重新分布期間,集群可能會受到性能影響,但通常不會導致停機。

總之,在向偽集群添加新節(jié)點時,無需停止現(xiàn)有節(jié)點或服務(wù)器。Elasticsearch 支持在運行中動態(tài)調(diào)整集群規(guī)模。然而,請注意,在生產(chǎn)環(huán)境中,建議將 Elasticsearch 節(jié)點部署到不同的物理或虛擬服務(wù)器上以獲得更好的性能和容錯能力。偽集群主要適用于開發(fā)、測試和學習目的。

如果我以前的discovery.seed_hosts 配置為一個主機地址,后續(xù)是一個新的主機地址應(yīng)該如何配置

如果您需要在現(xiàn)有的 Elasticsearch 集群中添加一個新節(jié)點,并且 discovery.seed_hosts 配置需要包含新的主機地址,您可以將新的主機地址添加到現(xiàn)有節(jié)點和新節(jié)點的 discovery.seed_hosts 列表中。

例如,假設(shè)您的集群當前有一個節(jié)點,它的 discovery.seed_hosts 配置為:

discovery.seed_hosts: ["host1"]

現(xiàn)在,您需要將新節(jié)點(host2)添加到集群中。在這種情況下,您應(yīng)該更新現(xiàn)有節(jié)點的配置文件(/etc/elasticsearch/elasticsearch.yml)以包含新的主機地址,如下所示:

discovery.seed_hosts: ["host1", "host2"]

同時,確保新節(jié)點的配置文件(例如 /etc/elasticsearch/elasticsearch_node2.yml)也包含這兩個主機地址:

discovery.seed_hosts: ["host1", "host2"]

完成更改后,請在現(xiàn)有節(jié)點上重啟 Elasticsearch 服務(wù)以應(yīng)用新的配置:

sudo systemctl restart elasticsearch.service

接下來,按照之前的說明在新節(jié)點上安裝和配置 Elasticsearch,并啟動服務(wù)。新節(jié)點應(yīng)該會自動加入集群。

請注意,當您添加新節(jié)點時,務(wù)必確保所有節(jié)點的 cluster.name 配置相同,以便它們能夠識別并加入同一個集群。在生產(chǎn)環(huán)境中,建議將 Elasticsearch 節(jié)點部署到不同的物理或虛擬服務(wù)器上以獲得更好的性能和容錯能力。

我是不是要停機更新現(xiàn)有節(jié)點的配置文件(/etc/elasticsearch/elasticsearch.yml),要不然如何讓他加載

對于現(xiàn)有節(jié)點的配置文件(/etc/elasticsearch/elasticsearch.yml)的更新,您需要重啟 Elasticsearch 服務(wù)來使更改生效。這將導致 Elasticsearch 服務(wù)短暫中斷,但整個服務(wù)器無需停機。

在更新現(xiàn)有節(jié)點的配置文件后,您可以按照以下步驟重啟 Elasticsearch 服務(wù):

  1. 保存對配置文件的更改。
  2. 通過運行以下命令來重啟 Elasticsearch 服務(wù):
bashCopy code
sudo systemctl restart elasticsearch.service

這將使 Elasticsearch 服務(wù)短暫中斷。在重啟過程中,該節(jié)點將暫時無法響應(yīng)查詢和索引請求。不過,如果您的集群中有其他節(jié)點在運行,它們?nèi)匀豢梢蕴幚磉@些請求。

在重啟 Elasticsearch 服務(wù)后,新的配置將立即生效。新節(jié)點應(yīng)該能夠加入集群,前提是它們的 discovery.seed_hosts 配置已正確設(shè)置。

總之,為了應(yīng)用更新的 discovery.seed_hosts 配置,您需要重啟 Elasticsearch 服務(wù)。雖然這會導致服務(wù)短暫中斷,但整個服務(wù)器無需停機。請注意,在生產(chǎn)環(huán)境中,建議將 Elasticsearch 節(jié)點部署到不同的物理或虛擬服務(wù)器上以獲得更好的性能和容錯能力。

偽集群中發(fā)生腦裂后我該如何處理

在Elasticsearch 偽集群中發(fā)生腦裂(網(wǎng)絡(luò)分區(qū)或節(jié)點失去通信能力)時,可能會導致數(shù)據(jù)不一致和其他問題。為了處理腦裂情況,您需要采取以下步驟:

  1. 診斷問題:檢查集群狀態(tài)、日志文件以及系統(tǒng)資源(如網(wǎng)絡(luò)、CPU 和內(nèi)存)來確定問題的原因。確保檢查 Elasticsearch 的日志文件,通常位于 /var/log/elasticsearch 目錄下。
  2. 恢復網(wǎng)絡(luò)和節(jié)點間通信:如果網(wǎng)絡(luò)故障是腦裂的原因,請修復網(wǎng)絡(luò)問題以恢復節(jié)點間的通信。這可能包括修復硬件、解決配置問題或確保防火墻規(guī)則允許節(jié)點之間的通信。
  3. 重啟受影響的節(jié)點:在修復了網(wǎng)絡(luò)問題之后,您可能需要重啟受影響的節(jié)點以確保它們重新加入集群。使用以下命令重啟 Elasticsearch 服務(wù):
sudo systemctl restart elasticsearch.service

對于其他節(jié)點,請使用相應(yīng)的 systemd 服務(wù)名(例如 elasticsearch_node2.service)重啟服務(wù)。

  1. 驗證集群健康狀態(tài):在修復了問題并重啟節(jié)點后,您需要驗證集群的健康狀況。運行以下命令來檢查集群的健康狀態(tài):
curl -X GET "localhost:9200/_cluster/health?pretty"

確保集群的 statusgreenyellow,這表示集群已恢復正常。如果仍然顯示為 red,則需要進一步檢查并解決問題。

  1. 設(shè)置最小主節(jié)點選舉數(shù)(discovery.zen.minimum_master_nodes:為了避免未來發(fā)生腦裂,您需要在配置文件中設(shè)置 discovery.zen.minimum_master_nodes 參數(shù)。這個參數(shù)表示在選舉主節(jié)點時,集群中需要達成一致的最小節(jié)點數(shù)。根據(jù) Elasticsearch 的建議,將該值設(shè)置為 (master_eligible_nodes / 2) + 1,其中 master_eligible_nodes 是具有主節(jié)點資格的節(jié)點數(shù)。
  2. 。在 Elasticsearch 7.x 及更高版本中,discovery.zen.minimum_master_nodes 配置已經(jīng)被移除,無論是真實集群還是偽集群。取而代之的是,Elasticsearch 7.x 引入了新的集群協(xié)調(diào)算法,通過使用 cluster.initial_master_nodes 設(shè)置來避免腦裂。

在偽集群的情況下,您應(yīng)該使用 cluster.initial_master_nodes 配置。在偽集群的第一個節(jié)點(即主節(jié)點)的 elasticsearch.yml 配置文件中添加以下設(shè)置:

cluster.initial_master_nodes:
  - node-1

這里,node-1 是第一個節(jié)點的名稱。對于其他節(jié)點,您可以省略此設(shè)置,因為它們將自動從主節(jié)點中發(fā)現(xiàn)其他節(jié)點。

在生產(chǎn)環(huán)境中,建議將 Elasticsearch 節(jié)點部署到不同的物理或虛擬服務(wù)器上以獲得更好的性能和容錯能力。偽集群主要適用于開發(fā)、測試和學習目的。同時,請確保使用 Elasticsearch 的最新版本,因為它包含了很多關(guān)于集群穩(wěn)定性和腦裂恢復的改進。文章來源地址http://www.zghlxwxcb.cn/news/detail-429531.html

到了這里,關(guān)于linux 基于 RHEL 的 Linux 發(fā)行版(例如 CentOS 和 Fedora)上用 shell 腳本安裝 elasticsearch 指南的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Linux xfs_growfs命令在 CentOS/RHEL 中擴展 XFS 文件系統(tǒng)

    fs_growfs 命令 使用 xfs_growfs 命令增加 XFS 文件系統(tǒng)的大小。必須掛載 XFS 文件系統(tǒng),并且底層設(shè)備上必須有可用空間。xfs_growfs 實用程序最常用于邏輯卷。xfs_growfs 命令的語法如下: 以下選項可用于 xfs_growfs 命令: -d :將文件系統(tǒng)的數(shù)據(jù)部分擴展到底層設(shè)備的最大大小。 -D [s

    2024年04月28日
    瀏覽(29)
  • VCSA中l(wèi)inux系統(tǒng)虛擬機 (CentOS/RHEL最小化安裝版) 安裝 VMware Tools

    VCSA中l(wèi)inux系統(tǒng)虛擬機 (CentOS/RHEL最小化安裝版) 安裝 VMware Tools

    1)在VCSA頁面中,點擊 “安裝VMware Tools”,如下圖所示 2)點擊 “掛載”,如下圖所示 3)在虛擬機的編輯設(shè)置中,查看CD/DVD驅(qū)動器中“VMware Tools”鏡像文件的狀態(tài)為“已連接” 1)驗證“VMware Tools”鏡像文件在系統(tǒng)內(nèi)部是否可以看到,創(chuàng)建掛載目錄,并掛載 2)拷貝“VMware

    2024年01月16日
    瀏覽(25)
  • 阿里云Centos6/7/8 轉(zhuǎn)換為Red Hat Enterprise Linux(RHEL)6/7/8

    Centos6 運行以下命令編輯 CentOS-Base.repo? 文件。 按i進入編輯模式,修改以下內(nèi)容切換源。 請根據(jù)實例不同的網(wǎng)絡(luò)類型進行修改,具體內(nèi)容如下: 編輯完成后,按Esc鍵,并輸入 :wq 保存退出文件。 運行以下命令編輯 epel.repo? 文件。 按i進入編輯模式,修改以下內(nèi)容切換源。 請

    2024年01月19日
    瀏覽(16)
  • 在Ubuntu上用Qemu模擬ARM版本的Fedora39

    在Ubuntu上用Qemu模擬ARM版本的Fedora39

    Fedora Quick Docs Fedora Server Documentation Deploy an ARM64 Fedora VM on your PC: 3 steps Architectures/AArch64/Install with QEMU Virtualization – Getting Started Fedora on Raspberry Pi Architectures/ARM ARM Single Board Computer (SBC) Installation Creating a virtual machine using Fedora Server Edition disk image 8 Linux virsh subcommands for managing VM

    2024年03月27日
    瀏覽(31)
  • 基于RHEL9,ORACLE LINUX 9安裝Oracle 19c 數(shù)據(jù)庫

    基于RHEL9,ORACLE LINUX 9安裝Oracle 19c 數(shù)據(jù)庫

    要基于RHEL9,ORACLE LINUX 9 或RHEL分支,安裝ORACLE 19C 數(shù)據(jù)庫,在一年前,沒有人會告訴你能夠成功,都會告訴你說19C只支持 RHEL7/8,在RHEL9上不支持, 如果你非要安裝,在安裝到11%時,就會報以下錯誤: Error in invoking target \\\' libasmclntsh19.ohso libasmperl19.ohso client_sharedlib \\\' of makefile \\\'/u

    2024年02月03日
    瀏覽(100)
  • Linux操作系統(tǒng)與實訓(CentOS7.4&RHEL7.4)微課視頻版(清華出版社)主編:縣小平課后習題及答案

    一、填空題 1.GNU的含義是 。 2.Linux一般有3個主要部分: 、 、 。 3. 文件主要用于設(shè)置基本的網(wǎng)絡(luò)配置,包括主機名稱、網(wǎng)關(guān)等。 4.一塊網(wǎng)卡對應(yīng)一個配置文件,配置文件位于目錄 中,文件名以 開始。 5. 文件是DNS客戶端用于指定系統(tǒng)所用的DNS服務(wù)器的IP地址。 6.PO

    2024年02月16日
    瀏覽(44)
  • Linux發(fā)行版新秀:基于Ubuntu、系統(tǒng)核心 “不可變”

    Linux發(fā)行版新秀:基于Ubuntu、系統(tǒng)核心 “不可變”

    Vanilla OS 是近期才公開發(fā)布的 Linux 發(fā)行版,基于 Ubuntu 構(gòu)建,免費且開源,默認桌面環(huán)境是 GNOME。雖然 Vanilla OS 的底層是 Ubuntu,但它并不是簡單地基于 Ubuntu 進行 \\\"remix\\\",而且外觀看起來也不像 Ubuntu。從官方介紹來看,Vanilla OS 有不小的野心,并且在探索改變操作系統(tǒng)的構(gòu)建、

    2024年02月16日
    瀏覽(19)
  • Fedora Linux 的家族(一):官方版本

    導讀 本文將對 Fedora?Linux?官方版本進行更詳細的介紹。共有五個 版本: Fedora Workstation、Fedora Server、Fedora IoT、Fedora CoreOS 和 Fedora Silverblue。Fedora Linux 下載頁面目前顯示其中三個為 官方 版本,另外兩個為 新興 版本。本文將涵蓋所有五個版本。 Fedora Linux 提供了多個變體以滿

    2024年02月10日
    瀏覽(16)
  • Linux/fedora下通過WebDav掛載小雅

    最近發(fā)現(xiàn)了一個不錯的網(wǎng)盤項目, 把很多資源放到阿里云盤了地址在這里?小雅 現(xiàn)在想把小雅通過webdav的方式掛在到fedora的系統(tǒng)下 davfs2 ?—— 安裝davfs2 掛載小雅 創(chuàng)建掛在目錄 掛載 按提示輸入 Username 和 Password , 兩個分別是 guest 和 guest_Api789 查看、確認已掛載成功 卸載 注

    2024年04月08日
    瀏覽(20)
  • 紅帽“背叛”開源:限制RHEL源碼訪問,突襲下游發(fā)行版

    紅帽“背叛”開源:限制RHEL源碼訪問,突襲下游發(fā)行版

    紅帽決定停止公開提供其企業(yè)發(fā)行版 Red Hat Enterprise Linux (RHEL) 源代碼。 從現(xiàn)在開始, CentOS Stream 將成為公共 RHEL 相關(guān)源代碼發(fā)布的唯一倉庫 , 付費客戶和合作伙伴可通過 Red Hat Customer Portal 訪問到源代碼 。 CentOS Stream 是由 Red Hat 公司推出的滾動更新發(fā)行版,它與 RHEL 密切相

    2024年02月11日
    瀏覽(15)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包