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

Elasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.x

這篇具有很好參考價(jià)值的文章主要介紹了Elasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.x。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

在我之前的文章 “Elasticsearch:使用 RPM 安裝包來安裝 Elastic Stack 8.x” 里,我詳細(xì)地介紹了如何使用 RPM 安裝包來安裝 Elastic Stack 8.x。在今天的文章中,我來詳細(xì)描述如何從零開始來創(chuàng)建一個(gè)含有三個(gè)節(jié)點(diǎn)的 Elasticsearch 集群。我們最終實(shí)現(xiàn)的是如下的 Elasticsearch 集群。

Elasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.x

如上所示,我們有三臺(tái)運(yùn)行 CentOS 的機(jī)器。它們的 IP 地址分別列在上面。我們將在這些機(jī)器上部署最新的 Elastic Stack 8.5.3。

創(chuàng)建 CentOS 虛擬機(jī)

如果你已經(jīng)有自己的 CentOS 機(jī)器,那你就可以直接跳過這個(gè)部分。針對(duì)沒有 CentOS 機(jī)器的開發(fā)者來說,Vagrant 是一個(gè)不錯(cuò)的選擇。請(qǐng)參照我之前的教程 “Vagrant 入門教程” 來進(jìn)行學(xué)習(xí)。

我們首先在自己的電腦中創(chuàng)建一個(gè)目錄,并創(chuàng)建如下的一個(gè) Vagrantfile 文件:

Vagrantfile

# vi: set ft=ruby :

ENV['VAGRANT_NO_PARALLEL'] = 'yes'

Vagrant.configure(2) do |config|

  config.vm.provision "shell", path: "bootstrap.sh"

  config.vm.define "es1" do |es1|
    es1.vm.box = "centos/7"
    es1.vm.hostname = "es1.example.com"
    es1.vm.network "private_network", ip: "172.42.42.10"
    es1.vm.provider "virtualbox" do |vb|
      vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
      vb.customize ["modifyvm", :id, "--natdnsproxy1", "on"]
      vb.name = "es1"
      vb.memory = 4096
      vb.cpus = 2
    end
  end

  config.vm.define "es2" do |es2|
    es2.vm.box = "centos/7"
    es2.vm.hostname = "es2.example.com"
    es2.vm.network "private_network", ip: "172.42.42.20"
    es2.vm.provider "virtualbox" do |vb|
      vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
      vb.customize ["modifyvm", :id, "--natdnsproxy1", "on"]      
      vb.name = "es2"
      vb.memory = 2048
      vb.cpus = 1
    end
  end

  config.vm.define "es3" do |es3|
    es3.vm.box = "centos/7"
    es3.vm.hostname = "es3.example.com"
    es3.vm.network "private_network", ip: "172.42.42.30"
    es3.vm.provider "virtualbox" do |vb|
      vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
      vb.customize ["modifyvm", :id, "--natdnsproxy1", "on"]      
      vb.name = "es3"
      vb.memory = 2048
      vb.cpus = 1
    end
  end

end

如上所示,它創(chuàng)建三個(gè) CentOS 的虛擬機(jī)。我們分別為它們?cè)O(shè)置相應(yīng)的 IP 地址。在上面,它還引用了一個(gè) bootstrap.sh 文件。它是用來幫我們安裝一下必要的包及進(jìn)行相應(yīng)的配置。它的定義如下:

bootstrap.sh

#!/bin/bash

# Update the system
echo "[TASK 1] Updating the system"
yum update -y >/dev/null 2>&1

# Install desired packages
echo "[TASK 2] Installing desired packages"
yum install -y -q vim redhat-lsb-core net-tools bind-utils >/dev/null 2>&1

# Set up global aliases and exports
echo "[TASK 3] Creating global aliases and functions"
cat >>/etc/bashrc <<EOF
# Generated by Vagrant
alias vi='vim'
alias sudo='sudo '
export EDITOR=vim
export TERM=xterm
# Generated by Vagrant
EOF

echo "colorscheme elflord" >> /etc/vimrc

# Enable password authentication
echo "[TASK 4] Enabling password authentication in sshd config"
sed -i 's/^PasswordAuthentication no/PasswordAuthentication yes/' /etc/ssh/sshd_config
systemctl reload sshd

# Disable SELinux
echo "[TASK 5] Disable SELinux"
setenforce 0
sed -i --follow-symlinks 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/sysconfig/selinux

# Set Root password
echo "[TASK 6] Set root password"
echo "admin" | passwd --stdin root >/dev/null 2>&1

# Disable and stop firewalld
echo "[TASK 5] Disable and stop firewalld"
systemctl disable firewalld >/dev/null 2>&1
systemctl stop firewalld

# Update hosts file
echo "[TASK 6] Update /etc/hosts file"
cat >>/etc/hosts<<EOF
172.42.42.10 es1.example.com es1
172.42.42.20 es2.example.com es2
172.42.42.30 es3.example.com es3
EOF

如上所示,它禁用了 firewall,以便機(jī)器之間能互相連接。在實(shí)際的使用中,這個(gè)并不推薦。我們需要通過 iptable 來進(jìn)行配置。另外在上面,我們?yōu)?root 用戶創(chuàng)建了一個(gè) admin 的密碼。這個(gè)在下面的命令中將會(huì)被使用。

這樣我們目錄里的文件就是:

$ pwd
/Users/liuxg/data/elk/elastic8
$ ls
Vagrantfile  bootstrap.sh

我們?cè)谶@個(gè)目錄下,打入如下的命令:

Elasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.x

Elasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.x?

如果你遇到上面的錯(cuò)誤信息,你可以繼續(xù)使用上面的? vagrant up 命令運(yùn)行:

?Elasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.x

如上所示,在更新完系統(tǒng)后,上面的錯(cuò)誤信息就不見了。我們需要為 es2 及 es3 重復(fù)這個(gè)步驟。?等全部安裝完畢后,我們可以使用如下的命令來查看:

Elasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.x

vagrant status
Current machine states:

es1                       running (virtualbox)
es2                       running (virtualbox)
es3                       running (virtualbox)

This environment represents multiple VMs. The VMs are all listed
above with their current state. For more information about a specific
VM, run `vagrant status NAME`.

上面顯示我們的三個(gè)虛擬機(jī)都已經(jīng)運(yùn)行起來了。我們可以在 virtualbox 里進(jìn)行查看:

Elasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.x?

上面的安裝并沒有幫我們安裝 Virtualbox Guest Additions。我接著做如下的操作:

vagrant reload

Elasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.x

?Elasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.x

它會(huì)在 reload 的過程中自動(dòng)幫我們安裝好 Guest Additions。等安裝好后,我們可以直接在 host 里打入如下的命令:

ping 172.42.42.10
$ ping 172.42.42.10
PING 172.42.42.10 (172.42.42.10): 56 data bytes
64 bytes from 172.42.42.10: icmp_seq=0 ttl=64 time=0.416 ms
64 bytes from 172.42.42.10: icmp_seq=1 ttl=64 time=0.654 ms

很顯然,在 host 上面,我們可以訪問 es1。我們也可以同樣測(cè)試一下 es2 及 es3。

這樣,我們的 CentOS 的安裝就已經(jīng)完成了。

安裝 Elastic Stack

禁用 firewalld

我們可以使用如下的命令來登錄已經(jīng)創(chuàng)建好的 CentOS:

vagrant ssh es1
$ vagrant ssh es1
-bash: warning: setlocale: LC_CTYPE: cannot change locale (UTF-8): No such file or directory
[vagrant@es1 ~]$ hostname
es1.example.com

在上面的一步中,我們?cè)?bootstrap.sh 禁止了 firewall 的使用。針對(duì)非虛擬機(jī)的開發(fā)者來說,你可以登錄每個(gè) CentOS 機(jī)器后,我們可以通過如下的命令來檢查 firewalld 的狀態(tài):

systemctl status firewalld
[vagrant@es1 ~]$ systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)

上面顯示的是 inactive 的狀態(tài),這個(gè)是因?yàn)槲覀冊(cè)?bootstrap.sh 里已經(jīng)做過了。如果你的是 active 的狀態(tài),那么你可以使用如下的命令來停止 firewalld?

systemctl stop firewalld
systemctl disable firewalld

在上面,我們禁用 firewalld。我們可以再次使用:

systemctl status firewalld

來檢查狀態(tài)。我們按照上面的步驟對(duì)三個(gè) CenOS 做同樣的操作,確保 firewalld 被禁用。

導(dǎo)入 Elasticsearch GPG key

為了方便安裝,我們使用 root 用戶來進(jìn)行操作。我們打入命令 su:

[vagrant@es1 ~]$ su
Password: 
[root@es1 vagrant]# 

在上面我們輸入密碼 admin 即可。這個(gè)密碼是在 bootstrap.sh 里指定的。

Elastic 使用帶有指紋的 Elasticsearch 簽名密鑰(PGP 密鑰?D88E42B4,可從?https://pgp.mit.edu?獲得)對(duì)所有的包進(jìn)行簽名:

4609 5ACC 8548 582C 1A26 99A9 D27D 666C D88E 42B4

下載并安裝公共簽名密鑰:

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

在 /etc/yum.repos.d/ 目錄中為基于 RedHat 的發(fā)行版創(chuàng)建兩個(gè)名為 elasticsearch.repo 及 elastic.repo?的文件,或在 /etc/zypp/repos.d/ 目錄中為基于 OpenSuSE 的發(fā)行版創(chuàng)建一個(gè)文件,其中包含:

elasticsearch.repo

[elasticsearch]
name=Elasticsearch repository for 8.x packages
baseurl=https://artifacts.elastic.co/packages/8.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=0
autorefresh=1
type=rpm-md

elastic.repo (在 es2 及 es3 上可不創(chuàng)建)

[elastic-8.x]
name=Elastic repository for 8.x packages
baseurl=https://artifacts.elastic.co/packages/8.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
[root@es1 yum.repos.d]# pwd
/etc/yum.repos.d
[root@es1 yum.repos.d]# cat elastic.repo 
[elastic-8.x]
name=Elastic repository for 8.x packages
baseurl=https://artifacts.elastic.co/packages/8.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md

我們接下來使用如下的命令來安裝 Elasticsearch:

sudo yum install --enablerepo=elasticsearch elasticsearch

Elasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.x

?Elasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.xElasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.x

?在安裝的過程中,它會(huì)顯示 elastic 超級(jí)用戶的密碼。我們可以把這個(gè)密碼記下來。

?我們接下來配置 CentOS 啟動(dòng)后,自動(dòng)啟動(dòng) Elasticsearch 服務(wù)。打入如下的命令:

sudo /bin/systemctl daemon-reload
sudo /bin/systemctl enable elasticsearch.service

我們?yōu)?es2 及 es3 做同樣的操作。

等我們把 Elasticsearch 在所有的機(jī)器上安裝好以后,我們?cè)诘谝粋€(gè)機(jī)器 es1 上安裝 Kibana:

yum install kibana

同樣,我們需要需要運(yùn)行如下命令來使得 Kibana 在機(jī)器重新啟動(dòng)時(shí)自動(dòng)運(yùn)行:

systemctl daemon-reload
systemctl enable kibana

至此,我們的安裝步驟已經(jīng)完成。我們接下來需要來進(jìn)行一些配置。

配置第一個(gè)節(jié)點(diǎn)

我們先對(duì) es1 機(jī)器進(jìn)行配置。我們通過如下的命令可以查看當(dāng)前機(jī)器的 IP 地址:

ip addr

或者如下的命令:

ifconfig | grep inet
[root@es1 yum.repos.d]# ifconfig | grep inet
        inet 10.0.2.15  netmask 255.255.255.0  broadcast 10.0.2.255
        inet6 fe80::5054:ff:fe4d:77d3  prefixlen 64  scopeid 0x20<link>
        inet 172.42.42.10  netmask 255.255.255.0  broadcast 172.42.42.255
        inet6 fe80::a00:27ff:fede:461f  prefixlen 64  scopeid 0x20<link>
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>

我們接下來配置 elasticsearch.yml 文件:

/etc/elasticsearch/elasticsearch.yml

我們首先修改 cluster.name 為我們喜歡的名稱:

Elasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.x

?Elasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.x

Elasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.x

Elasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.x

保存好文件,我們接著使用如下的命令來啟動(dòng) Elasticsearch:

systemctl start elasticsearch

我們可以通過如下的方法來查看 elasticsearch 服務(wù)的日志:

journalctl -u elasticsearch
[root@es1 elasticsearch]# journalctl -u elasticsearch
-- Logs begin at Tue 2022-12-13 01:04:47 UTC, end at Tue 2022-12-13 02:51:23 UTC. --
Dec 13 02:50:39 es1.example.com systemd[1]: Starting Elasticsearch...
Dec 13 02:51:23 es1.example.com systemd[1]: Started Elasticsearch.

如果我們想看更詳細(xì)的日志,我們可以使用如下的命令:

tail -f /var/log/elasticsearch/liuxg.log

記得這里的 liuxg 是我的 cluster 的名字。在上面的 elasticsearch.yml 中定義的。如果在任何時(shí)候我們修改 elasticsearch.yml 文件,那么我們需要使用如下的命令來重新啟動(dòng) elasticsearch:

systemctl  restart elasticsearch.service

一旦 Elasticsearch 被成功地啟動(dòng),我們可以在 es1 的 terminal 中打入如下的命令來查看:

 curl -k -u elastic:xW4lz=-LeMspuQpTX0jz https://es1:9200
[root@es1 vagrant]# curl -k -u elastic:xW4lz=-LeMspuQpTX0jz https://es1:9200
{
  "name" : "node-1",
  "cluster_name" : "liuxg",
  "cluster_uuid" : "lMsFhaLaSaKpd_hTCOJpVg",
  "version" : {
    "number" : "8.5.3",
    "build_flavor" : "default",
    "build_type" : "rpm",
    "build_hash" : "4ed5ee9afac63de92ec98f404ccbed7d3ba9584e",
    "build_date" : "2022-12-05T18:22:22.226119656Z",
    "build_snapshot" : false,
    "lucene_version" : "9.4.2",
    "minimum_wire_compatibility_version" : "7.17.0",
    "minimum_index_compatibility_version" : "7.0.0"
  },
  "tagline" : "You Know, for Search"
}

上面顯示 elasticsearch 正常。我們也可以使用如下的命令來查看有幾個(gè) nodes:

curl -k -u elastic:xW4lz=-LeMspuQpTX0jz https://es1:9200/_cat/nodes
[root@es1 vagrant]# curl -k -u elastic:xW4lz=-LeMspuQpTX0jz https://es1:9200/_cat/nodes
172.42.42.10 19 94 1 0.00 0.03 0.05 cdfhilmrstw * node-1

上面的命令顯示它只有一個(gè)節(jié)點(diǎn)。名稱為 node-1。

我們接下來使用如下的命令來生成一個(gè) enrollment token:

/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s node
[root@es1 vagrant]# /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s node
eyJ2ZXIiOiI4LjUuMyIsImFkciI6WyIxNzIuNDIuNDIuMTA6OTIwMCJdLCJmZ3IiOiJhYjY0MzI2MjE3NzVhY2NiZDk5MDEwYzgyYzg2OTcyODQwNGQyMDFiNjk5NDdjMWZlOTYxNWYwNGNhMTI1NTk0Iiwia2V5Ijoic0ctSUNZVUIzQWIyNm5TMnVCT1g6Ym45R0JRQWFRUjJHd2JHVWc0Y2xZUSJ9

我們把這個(gè) enrollment token 拷貝下來。

配置其它的節(jié)點(diǎn)

我們接下來先不需要針對(duì) es2 及 es3 的節(jié)點(diǎn)的 Elasticsearch 的配置文件做任何的修改。我們?cè)谒鼈兊?teminal 中打入如下的命令:

/usr/share/elasticsearch/bin/elasticsearch-reconfigure-node --enrollment-token <enrollment-token>
 /usr/share/elasticsearch/bin/elasticsearch-reconfigure-node --enrollment-token eyJ2ZXIiOiI4LjUuMyIsImFkciI6WyIxNzIuNDIuNDIuMTA6OTIwMCJdLCJmZ3IiOiJhYjY0MzI2MjE3NzVhY2NiZDk5MDEwYzgyYzg2OTcyODQwNGQyMDFiNjk5NDdjMWZlOTYxNWYwNGNhMTI1NTk0Iiwia2V5Ijoic0ctSUNZVUIzQWIyNm5TMnVCT1g6Ym45R0JRQWFRUjJHd2JHVWc0Y2xZUSJ9

請(qǐng)用你自己的 token 替換上面的 enrollment-token 值。

[root@es2 yum.repos.d]# /usr/share/elasticsearch/bin/elasticsearch-reconfigure-node --enrollment-token eyJ2ZXIiOiI4LjUuMyIsImFkciI6WyIxNzIuNDIuNDIuMTA6OTIwMCJdLCJmZ3IiOiJhYjY0MzI2MjE3NzVhY2NiZDk5MDEwYzgyYzg2OTcyODQwNGQyMDFiNjk5NDdjMWZlOTYxNWYwNGNhMTI1NTk0Iiwia2V5Ijoic0ctSUNZVUIzQWIyNm5TMnVCT1g6Ym45R0JRQWFRUjJHd2JHVWc0Y2xZUSJ9

This node will be reconfigured to join an existing cluster, using the enrollment token that you provided.
This operation will overwrite the existing configuration. Specifically: 
  - Security auto configuration will be removed from elasticsearch.yml
  - The [certs] config directory will be removed
  - Security auto configuration related secure settings will be removed from the elasticsearch.keystore
Do you want to continue with the reconfiguration process [y/N]y

我們?cè)?es2 的 terminal 中啟動(dòng) elasticsearch 服務(wù):

systemctl start elasticsearch

我們通過如下的命令來查看它的運(yùn)行狀態(tài):

systemctl status elasticsearch
[root@es2 yum.repos.d]# systemctl status elasticsearch
● elasticsearch.service - Elasticsearch
   Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2022-12-13 03:55:15 UTC; 26s ago
     Docs: https://www.elastic.co
 Main PID: 15827 (java)
   CGroup: /system.slice/elasticsearch.service
           ├─15827 /usr/share/elasticsearch/jdk/bin/java -Xms4m -Xmx64m -XX:+UseSeri...
           ├─15891 /usr/share/elasticsearch/jdk/bin/java -Des.networkaddress.cache.t...
           └─15911 /usr/share/elasticsearch/modules/x-pack-ml/platform/linux-x86_64/...

Dec 13 03:54:20 es2.example.com systemd[1]: Starting Elasticsearch...
Dec 13 03:55:15 es2.example.com systemd[1]: Started Elasticsearch.

很顯然它處于運(yùn)行狀態(tài)。我們?cè)?es1 的 terminal 中打入如下的命令來查看 nodes 的情況:

 curl -k -u elastic:xW4lz=-LeMspuQpTX0jz https://es1:9200/_cat/nodes
[root@es1 vagrant]# curl -k -u elastic:xW4lz=-LeMspuQpTX0jz https://es1:9200/_cat/nodes
172.42.42.10 5 94 0 0.02 0.04 0.05 cdfhilmrstw * node-1
[root@es1 vagrant]# 

很顯然,它還是一個(gè)單獨(dú)的 node。那為啥新的節(jié)點(diǎn) es2 沒有加入到已有的集群呢?

我們需要針對(duì) es2 上的 elasticsearch.yml 進(jìn)行一些配置:

/etc/elasticsearch/elasticsearch.yml

Elasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.x

?Elasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.x

修改完后,我們需要重新啟動(dòng) Elasticsearch:

systemctl restart elasticsearch

使用如下的命令來查看它的運(yùn)行狀態(tài):

systemctl status elasticsearch
[root@es2 yum.repos.d]# systemctl status elasticsearch
● elasticsearch.service - Elasticsearch
   Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2022-12-13 04:04:20 UTC; 37s ago
     Docs: https://www.elastic.co
 Main PID: 16015 (java)
   CGroup: /system.slice/elasticsearch.service
           ├─16015 /usr/share/elasticsearch/jdk/bin/java -Xms4m -Xmx64m -XX:+UseSeri...
           ├─16079 /usr/share/elasticsearch/jdk/bin/java -Des.networkaddress.cache.t...
           └─16099 /usr/share/elasticsearch/modules/x-pack-ml/platform/linux-x86_64/...

Dec 13 04:03:54 es2.example.com systemd[1]: Stopped Elasticsearch.
Dec 13 04:03:54 es2.example.com systemd[1]: Starting Elasticsearch...

我們可以在 es1 的 log 里看到如下的信息:

Elasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.x

我們?cè)俅卧?es1 的 terminal 中打入如下的命令:

curl -k -u elastic:xW4lz=-LeMspuQpTX0jz https://es1:9200/_cat/nodes
[root@es1 vagrant]# curl -k -u elastic:xW4lz=-LeMspuQpTX0jz https://es1:9200/_cat/nodes
172.42.42.10 46 95 1 0.00 0.04 0.05 cdfhilmrstw * node-1
172.42.42.20 29 95 3 0.18 0.29 0.21 cdfhilmrstw - node-2

?很顯然,這個(gè)時(shí)候,我們看到了兩個(gè)節(jié)點(diǎn):node-1 及 node-2。

如法炮制,我們需要針對(duì) es3 做同樣的配置。只不過我們需要為它取另外一個(gè)名字 node-3。我們也需要把它的 IP 地址填入進(jìn)去。

Elasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.x

?Elasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.x

修改完畢后,重新啟動(dòng) Elasticsearch:

systemctl restart elasticsearch

我們?cè)?es1 的日志信息中可以看到如下的輸出:

Elasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.x

可以看到 node-3 已經(jīng)添加進(jìn)入到已有的集群中了。

我們?cè)俅问褂萌缦碌拿顏聿榭垂?jié)點(diǎn):

curl -k -u elastic:xW4lz=-LeMspuQpTX0jz https://es1:9200/_cat/nodes
[root@es1 vagrant]# curl -k -u elastic:xW4lz=-LeMspuQpTX0jz https://es1:9200/_cat/nodes
172.42.42.30 65 94 6 0.33 0.29 0.14 cdfhilmrstw - node-3
172.42.42.20 63 95 0 0.02 0.08 0.13 cdfhilmrstw - node-2
172.42.42.10  6 95 0 0.09 0.05 0.05 cdfhilmrstw * node-1

?很顯然,我們已經(jīng)得到了3個(gè)節(jié)點(diǎn)的集群。

我們也可以在瀏覽器中進(jìn)行訪問:

Elasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.x

我們?cè)谏厦娴慕缑嬷写蛉?thisisunsafe 字母,然后我們可以看到界面:

Elasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.x?

Elasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.x?

我們可以看到如上所示的輸出。?

啟動(dòng) Kibana

在上面,我們還沒有啟動(dòng) Kibana。為了能夠讓 Kibana 被外網(wǎng)所訪問,我們需要對(duì) Kibana 做如下的配置:

/etc/kibana/kibana.yml

Elasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.x

?我們可以使用如下的命令來進(jìn)行啟動(dòng):

systemctl start kibana

我們使用如下的命令來查看它運(yùn)行的日志信息:

journalctl -u kibana

Elasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.x

如上所示,我們可看到讓我們?nèi)?dòng) Kibana 的鏈接。我們?cè)跒g覽器中輸入地址:http://172.42.42.10:5601/?code=203501?

Elasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.x

在上面,它要求我們填入一個(gè) enrollment token。我們可以在 es1 的 terminal 下輸入如下的命令:

/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana
[root@es1 elasticsearch]# /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana
eyJ2ZXIiOiI4LjUuMyIsImFkciI6WyIxNzIuNDIuNDIuMTA6OTIwMCJdLCJmZ3IiOiJhYjY0MzI2MjE3NzVhY2NiZDk5MDEwYzgyYzg2OTcyODQwNGQyMDFiNjk5NDdjMWZlOTYxNWYwNGNhMTI1NTk0Iiwia2V5Ijoic21fQkNZVUIzQWIyNm5TMlpCTVc6Tm9oOGJaZGtSNmlSZGFqWXBHS2NrZyJ9

把上面的 token 拷貝下來,并粘貼到上面的輸入框中。

Elasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.x

Elasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.x?

在上面,我們輸入超級(jí)用戶 elastic 的密碼:

Elasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.x

Elasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.x

?

這樣我們就進(jìn)入到 Kibana 的界面了。我也可以在 console 中查看 nodes 的情況:

Elasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.x

?

為 Kibana 配置安全

在上面的配置中,Kibana 的訪問是以 HTTP 的形式來訪問的。我們可以為 Kibana 也配置 HTTPS 的訪問。首先,我們先卸載之前安裝的 Kibana。然后再重新安裝一遍。

yum remove kibana

我們同時(shí)確保不留下任何的之前安裝的文件:

 rm -rf /etc/kibana/

我們?cè)俅伟惭b Kibana:

yum install kibana

我 Kibana 自動(dòng)啟動(dòng)配置:

systemctl daemon-reload
systemctl enable kibana

我們進(jìn)入到 Kibana 的安裝目錄中 /etc/kibana,并打入如下的命令來生成一個(gè)證書:

openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365

Elasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.x

對(duì)生成的證書文件修改權(quán)限:

chmod 777 cert.pem
chmod 777 key.pem 
[root@es1 kibana]# pwd
/etc/kibana
[root@es1 kibana]# ls
cert.pem  key.pem  kibana.keystore  kibana.yml  node.options
[root@es1 kibana]# chmod 777 cert.pem 
[root@es1 kibana]# chmod 777 key.pem 

?我們接下來需要針對(duì) kibana.yml 文件進(jìn)行配置:

/etc/kibana/kibana.yml?

Elasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.x

Elasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.x

elasticsearch.hosts: ["https://172.42.42.10:9200"]
elasticsearch.username: "kibana_system"
elasticsearch.password: "r67=Q_o*9GhuuoEpyL*+"
server.ssl.enabled: true
server.ssl.certificate: /etc/kibana/cert.pem
server.ssl.key: /etc/kibana/key.pem
server.ssl.keyPassphrase: "123456"
elasticsearch.ssl.verificationMode: none

我們可以通過如下的命令來設(shè)置 kibana_system 密碼:

/usr/share/elasticsearch/bin/elasticsearch-reset-password -u kibana_system
[root@es1 vagrant]# /usr/share/elasticsearch/bin/elasticsearch-reset-password -u kibana_system
This tool will reset the password of the [kibana_system] user to an autogenerated value.
The password will be printed in the console.
Please confirm that you would like to continue [y/N]y


Password for the [kibana_system] user successfully reset.
New value: r67=Q_o*9GhuuoEpyL*+

我們使用如下的命令來啟動(dòng) kibana:

systemctl start kibana

我們可以使用如下的命令來檢查 kibana 的服務(wù)狀態(tài):

systemctl status kibana
[root@es1 kibana]# systemctl status kibana
● kibana.service - Kibana
   Loaded: loaded (/usr/lib/systemd/system/kibana.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2022-12-13 05:14:09 UTC; 49s ago
     Docs: https://www.elastic.co
 Main PID: 17285 (node)
   CGroup: /system.slice/kibana.service
           └─17285 /usr/share/kibana/bin/../node/bin/node /usr/share/kibana/bin/../s...

我們通過如下的方式來查看 Kibana 的日志:

tail -f /var/log/kibana/kibana.log

Elasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.x

我們?cè)跒g覽器中來訪問 Kibana:

Elasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.x?

在上面的界面中打入 thisisunsafe 字母:

Elasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.x?

在上面打入超級(jí)用戶 elastic 的密碼。你就可以進(jìn)入到 Elasticsearch 了。

Elasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.x

Elasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.x文章來源地址http://www.zghlxwxcb.cn/news/detail-416560.html

到了這里,關(guān)于Elasticsearch:如何在 CentOS 上創(chuàng)建多節(jié)點(diǎn)的 Elasticsearch 集群 - 8.x的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • linux查看es節(jié)點(diǎn)使用情況,elasticsearch(es) 如何查看當(dāng)前集群中哪個(gè)節(jié)點(diǎn)是主節(jié)點(diǎn)(master)

    elasticsearch 查看當(dāng)前集群中的 master 節(jié)點(diǎn)是哪個(gè)需要使用 _cat 監(jiān)控命令,具體如下。 查看方法 es 主節(jié)點(diǎn)確定命令,以 kibana 上查看示例如下: GET _cat/nodesv 返回結(jié)果示例如下: ip heap.percent ram.percent cpu load_1m load_5m load_15m node.role master name 172.16.16.188 52 99 5 2.59 1.70 1.45 mdi - elastic3

    2023年04月15日
    瀏覽(32)
  • ElasticSearch集群管理--往集群內(nèi)添加新節(jié)點(diǎn)

    ElasticSearch集群管理--往集群內(nèi)添加新節(jié)點(diǎn)

    本節(jié)描述的集群,都是基于docker對(duì)elasticsearch節(jié)點(diǎn)進(jìn)行進(jìn)行管理。 本節(jié)描述elasticsearch基于版本8.5.0 本節(jié)描述的集群部署方式只是用來學(xué)習(xí)和測(cè)試,不是為了生產(chǎn)環(huán)境 注意,加入這個(gè)參數(shù)-e ES_JAVA_OPTS=“-Xms1g -Xmx1g”,防止添加新容器后,master節(jié)點(diǎn)掛掉 在Kibana監(jiān)控上可以看到已經(jīng)

    2024年02月11日
    瀏覽(17)
  • ElasticSearch實(shí)戰(zhàn)--集群管理--向集群中添加新節(jié)點(diǎn)

    基于ElasticSearch版本8.5.0 本文描述的集群部署方式,只用以測(cè)試和學(xué)習(xí)使用,不能作為生產(chǎn)環(huán)境 本文描述的集群方式基于docker ElasticSearch文檔

    2024年02月11日
    瀏覽(70)
  • Elasticsearch的集群與節(jié)點(diǎn)管理

    Elasticsearch是一個(gè)分布式、實(shí)時(shí)的搜索和分析引擎,它可以處理大量數(shù)據(jù)并提供快速、準(zhǔn)確的搜索結(jié)果。在大規(guī)模數(shù)據(jù)處理和搜索場(chǎng)景中,Elasticsearch的集群和節(jié)點(diǎn)管理是非常重要的。本文將深入探討Elasticsearch的集群與節(jié)點(diǎn)管理,涵蓋其核心概念、算法原理、最佳實(shí)踐、實(shí)際應(yīng)

    2024年02月21日
    瀏覽(43)
  • elasticsearch單機(jī)多節(jié)點(diǎn)集群搭建

    elasticsearch單機(jī)多節(jié)點(diǎn)集群搭建

    elasticsearch7開始不支持單機(jī)多節(jié)點(diǎn)部署 centos服務(wù)器兩臺(tái):10.188.131.247、10.20.148.122 elasticsearch-6.8.23、kibana-6.8.23安裝包下載(下載地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch) 新增es用戶(elasticsearch不能用root用戶啟動(dòng)) 集群概覽:3個(gè)master節(jié)點(diǎn),3個(gè)數(shù)據(jù)節(jié)點(diǎn) 服務(wù)器

    2024年02月12日
    瀏覽(34)
  • Elasticsearch+Kibana集群部署(3節(jié)點(diǎn))

    Elasticsearch+Kibana集群部署(3節(jié)點(diǎn))

    l i n d o r ? ? 良民筆記 lindor--良民筆記 l in d or ? ? 良民筆記 前言 ?? 僅作為筆記并記錄elk搭建過程和搭建中遇到的問題, 轉(zhuǎn)載請(qǐng)注明出處 ,目前該章節(jié)只講述了 elasticsearch+Kibana 的安裝過程,以及安裝中的一些簡(jiǎn)單報(bào)錯(cuò);適合有適當(dāng)基礎(chǔ)的同學(xué),理論表的比較少。 ?

    2024年02月09日
    瀏覽(24)
  • 服務(wù)搭建篇(七) Elasticsearch單節(jié)點(diǎn)部署以及多節(jié)點(diǎn)集群部署

    服務(wù)搭建篇(七) Elasticsearch單節(jié)點(diǎn)部署以及多節(jié)點(diǎn)集群部署

    感興趣的話大家可以關(guān)注一下公眾號(hào) : 猿人劉先生 , 歡迎大家一起學(xué)習(xí) , 一起進(jìn)步 , 一起來交流吧! Elasticsearch(簡(jiǎn)稱ES) 是一個(gè)分布式 , RESTful風(fēng)格的搜索和數(shù)據(jù)分析引擎 , 使用java開發(fā)并且是當(dāng)前最流行的開源的企業(yè)級(jí)搜索引擎,能夠達(dá)到近實(shí)時(shí)搜索,穩(wěn)定,可靠,快速,安裝使

    2024年02月03日
    瀏覽(21)
  • 【Hadoop】創(chuàng)建Hadoop集群(3個(gè)節(jié)點(diǎn))—— 安裝部署一個(gè)3個(gè)節(jié)點(diǎn)構(gòu)成的hbase集群

    【Hadoop】創(chuàng)建Hadoop集群(3個(gè)節(jié)點(diǎn))—— 安裝部署一個(gè)3個(gè)節(jié)點(diǎn)構(gòu)成的hbase集群

    前言 此實(shí)驗(yàn)搭建3個(gè)虛擬節(jié)點(diǎn),一個(gè)mater,一個(gè)slave1,一個(gè)slave2 集群簡(jiǎn)介 HADOOP集群具體來說包含兩個(gè)集群:HDFS集群和YARN集群,兩者邏輯上分離,但在物理上常在一起。 HDFS集群負(fù)責(zé)海量數(shù)據(jù)的存儲(chǔ),集群中的角色主要有: NameNode、DataNode、SecondaryNode YARN集群負(fù)責(zé)海量數(shù)據(jù)運(yùn)算

    2024年02月08日
    瀏覽(22)
  • ElasticSearch的集群、節(jié)點(diǎn)、索引、分片和副本

    ElasticSearch的集群、節(jié)點(diǎn)、索引、分片和副本

    Elasticsearch是面向文檔型數(shù)據(jù)庫(kù),一條數(shù)據(jù)在這里就是一個(gè)文檔。為了方便大家理解,我們將Elasticsearch里存儲(chǔ)文檔數(shù)據(jù)和關(guān)系型數(shù)據(jù)庫(kù)MySQL存儲(chǔ)數(shù)據(jù)的概念進(jìn)行一個(gè)類比 ES里的Index可以看做一個(gè)庫(kù),而Types相當(dāng)于表,Documents則相當(dāng)于表的行。 這里Types的概念已經(jīng)被逐漸弱化,E

    2024年02月02日
    瀏覽(27)
  • Linux搭建ElasticSearch單節(jié)點(diǎn)及集群

    1.虛擬機(jī)CentOS7.6 2.elasticsearch7.8.0:https://www.elastic.co/cn/downloads/past-releases/elasticsearch-7-8-0 將tar包解壓到指定目錄 1.Linux環(huán)境安裝了jdk的,會(huì)和es自帶jdk沖突,需要指定使用自帶jdk,修改es的bin目錄下elasticsearch如下: 2.如果機(jī)器內(nèi)存不夠用,需要調(diào)小啟動(dòng)內(nèi)存,在es的config目錄下

    2024年02月16日
    瀏覽(22)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包