Centos7 ELK7.6.2叢集搭建

Messi的小迷弟發表於2020-12-18

ELK7.6.2網盤安裝包下載

連結:https://pan.baidu.com/s/1ONATehzWDcH5B8Rzzv_m-A
提取碼:mma6

一、單節點準備

配置ip

vi /etc/sysconfig/network-scripts/ifcfg-ens33
#配置資訊
BOOTPROTO="static"
ONBOOT="yes"
IPADDR="192.168.108.141"
NETMASK="255.255.225.0"
GATEWAY="192.168.108.2"
DNS1="114.114.114.114"
DNS2="8.8.8.8"

#重啟網路
service network restart
#檢視ip
ip addr

配置主機名和主機名對映

hostnamectl set-hostnaem es01
vi /etc/hosts
192.168.108.141 es01
192.168.108.142 es02
192.168.108.143 es03

關閉防火牆

# 關閉防火牆
systemctl stop firewalld
# 開機時關閉防火牆
systemctl disable firewalld

事件同步

yum install ntpdate -y
ntpdate cn.pool.ntp.org

crontab -e
*/10 * * * * ntpdate cn.pool.ntp.org

更換yum源(阿里雲yum源)

# 先安裝wget
yum install -y wget
# 1.備份當前yum源(可選)
cd /etc/yum.repos.d/
cp CentOS-Base.repo /CentOS-Base-repo.bak

# 2.使用wget下載阿里yum源repo檔案
wget http://mirrors.aliyun.com/repo/Centos-7.repo

# 3.清理預設快取包
yum clean all

# 4.把下載下來的阿里雲repo檔案設定成為預設源
mv Centos-7.repo CentOS-Base.repo

# 5.生成阿里雲yum源快取並更新yum源
yum makecache
yum update

安裝常用軟體

yum install net-tools bash-completion wget vim ntpdate -y

系統優化

vim /etc/sysctl.conf
fs.file-max=65536
vm.max_map_count = 262144

建立用來啟動es的普通使用者

elasticsearch,kibana不能使用root使用者登入,所以需要建立一個普通使用者

groupadd elsearch
useradd elsearch -g elsearch

注意:
fs.file-max:該檔案指定了可以分配的檔案控制程式碼的最大數目, 為512 乘以 processes (如128個process則為 65536);
vm.max_map_count:限制一個程式可以擁有的VMA(虛擬記憶體區域)的數量。 //這個值最好設定大一點,不然ES會啟動失敗。

vim /etc/security/limits.conf
*        soft  nofile  65535
*        hard  nofile  131072
*        soft  nproc   2048
*        hard  nproc   4096

新增執行緒,不然會在啟動的時候報錯,如下所示:

[1]: max number of threads [1024] for user [leyou] is too low, increase to at least [4096]

jdk安裝

mkdir /opt/install
mkdir /opt/software
cd /opt/install/
#將jdk1.8壓縮包放到該目錄下
tar -zxvf jdk-8u221-linux-x64.tar.gz -C /opt/software/
cd /opt/software/jdk1.8.0_221/
pwd
/opt/software/jdk1.8.0_221
#將目錄複製準備配置環境變數
vi /etc/profile
#JAVA_HOME
export JAVA_HOME=/opt/software/jdk1.8.0_221
export PATH=$PATH:$JAVA_HOME/bin
#儲存並推出,重新載入配置檔案
source /etc/profile
java -version

二、克隆兩臺虛擬機器

注意:克隆的兩天虛擬機器需要更改mac地址、ip地址、主機名
這裡就不在詳寫

配置免密登入(三臺機器都要)

# 生成金鑰
ssh-keygen -t rsa
ssh-copy-id es01
ssh-copy-id es02
ssh-copy-id es03

配置完免密登入後基礎配置工作就完成了,最好儲存快照,防止安裝出錯後恢復

三、安裝elasticsearch

上傳及解壓

上傳kibana-7.6.2-linux-x86_64.tar.gzelasticsearch-7.6.2-linux-x86_64.tar.gz/opt/install/目錄下
解壓elasticsearch到/opt/software/目錄下

tar -zxvf elasticsearch-7.6.2-linux-x86_64.tar.gz -C /opt/software/

配置elasticsearch.yml

cd /opt/software/elasticsearch-7.6.2/config
vi elasticsearch.yml
#直接在末尾新增配置
cluster.name: elasticsearch
node.name: node-1
path.data: /data/es/data
path.logs: /data/es/logs
bootstrap.memory_lock: false
network.host: 192.168.108.141
http.port: 9200
discovery.seed_hosts: ["192.168.108.141", "192.168.108.142", "192.168.108.143"]
cluster.initial_master_nodes: ["192.168.108.141", "192.168.108.142", "192.168.108.143"]
http.cors.enabled: true
http.cors.allow-origin: "*"
discovery.zen.minimum_master_nodes: 2
gateway.recover_after_nodes: 2

將本節點的elasticsearch-7.6.2傳送到另外兩臺機器上

scp -r /opt/software/elasticsearch-7.6.2/ root@es02:$PWD
scp -r /opt/software/elasticsearch-7.6.2/ root@es03:$PWD

修改另外兩臺節點的elasticsearch.yml配置資訊

network.host:   #本機IP地址
node.name:   #分配的節點名稱

給所有節點上的elasticsearch-7.6.2賦權(每臺機器都要做)

chown -R elsearch:elsearch /opt/software/elasticsearch-7.6.2/

建立es資料和日誌存放的目錄並賦權(每臺機器都要做)

mkdir -p /data/es/data
mkdir -p /data/es/logs
chown -R elsearch:elsearch /data/es

啟動服務(每臺都要啟動)

su elsearch
cd /opt/software/elasticsearch-7.6.2/bin/
#後臺啟動
./elasticsearch -d
# 檢視埠號是否啟動成功
netstat -luntp | grep 9200

在這裡插入圖片描述

訪問web介面

http://192.168.108.141:9200
在這裡插入圖片描述

四、head外掛安裝

上傳壓縮包到節點並解壓

安裝包統一放到/opt/install目錄下
elasticsearch-head-master.zip

yum -y install unzip
unzip /opt/install/elasticsearch-head-master.zip -d /opt/software/

配置head檔案

Gruntfile.js

vi /opt/software/elasticsearch-head-master/Gruntfile.js
#在第96行下面配置
hostname: '0.0.0.0',

在這裡插入圖片描述
_site/app.js

vi /opt/software/elasticsearch-head-master/_site/app.js
#在第4374行配置,將localhost改為該節點的ip地址
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://192.168.108.141:9200";

在這裡插入圖片描述

下載Node.js

curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash -
yum -y install nodejs

開始安裝

# 修改源地址為淘寶NPM映象,因為預設NPM的官方源為https://registry.npmjs.org/  。國外下載速度會很慢,所以這裡建議切換到淘寶的NPM映象站點比較好。
npm config set registry=http://registry.npm.taobao.org/   
#切換到elasticsearch-head-master目錄下   
cd /opt/software/elasticsearch-head-master/  
npm install

npm install 安裝時,可能會報 phantomjs-prebuilt@2.1.16安裝失敗。解決方法:

npm install phantomjs-prebuilt@2.1.16 --ignore-scripts
npm install

啟動head外掛

/opt/software/elasticsearch-head-master/目錄下

npm run start

head外掛服務啟動之後,預設的訪問埠為9100

訪問web介面

http://192.168.108.141:9100/
在這裡插入圖片描述

五、安裝kibana

安裝配置kibana

tar -zxvf kibana-7.6.2-linux-x86_64.tar.gz -C /opt/software/
cd /opt/software/kibana-7.6.2-linux-x86_64/config/
ll
vi kibana.yml
#配置
server.port: 5601
server.host: "192.168.108.141"
elasticsearch.hosts: ["http://192.168.108.141:9200", "http://192.168.108.142:9200", "http://192.168.108.143:9200"]
i18n.locale: "zh-CN"

啟動服務

cd /opt/software/kibana-7.6.2-linux-x86_64/bin/
./kibana --allow-root

訪問web介面

http://192.168.108.141:5601/
在這裡插入圖片描述

相關文章