日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Elasticsearch环境准备(一)

發(fā)布時(shí)間:2024/9/5 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Elasticsearch环境准备(一) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、ELKStack簡介

中文指南:https://www.gitbook.com/book/chenryn/elk-stack-guide-cn/details

?

ELK Stack包含:ElasticSearch、Logstash、Kibana

ElasticSearch是一個(gè)搜索引擎,用來搜索、分析、存儲日志。它是分布式的,也就是說可以橫向擴(kuò)容,可以自動發(fā)現(xiàn),索引自動分片,總之很強(qiáng)大。

文檔介紹:?https://www.elastic.co/guide/cn/elasticsearch/guide/current/index.html

Logstash用來采集日志,把日志解析為json格式交給ElasticSearch。

kibana 也是一個(gè)開源和免費(fèi)的工具,Kibana可以為 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以幫助您匯總、分析和搜索重要數(shù)據(jù)日志。

Beats在這里是一個(gè)輕量級日志采集器,其實(shí)Beats家族有5個(gè)成員

早期的ELK架構(gòu)中使用Logstash收集、解析日志,但是Logstash對內(nèi)存、cpu、io等資源消耗比較高。相比 Logstash,Beats所占系統(tǒng)的CPU和內(nèi)存幾乎可以忽略不計(jì)

x-pack對Elastic Stack提供了安全、警報(bào)、監(jiān)控、報(bào)表、圖表于一身的擴(kuò)展包,是收費(fèi)的。

2、ELK架構(gòu):

?

二、Elasticsearch部署

2.1、安裝JDK

2.1.1 yum安裝JDK [root@linux-node1 ~]# yum install -y java [root@linux-node1 ~]# java -version openjdk version "1.8.0_151" OpenJDK Runtime Environment (build 1.8.0_151-b12) OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)2.1.2 源碼安裝JDK 下載 [root@linux-node1 ~]# wget http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-x64.tar.gz 配置Java環(huán)境 [root@linux-node1 ~]# tar zxf jdk-8u151-linux-x64.tar.gz -C /usr/local/ [root@linux-node1 ~]# ln –s /usr/local/jdk1.8.0_91 /usr/local/jdk[root@linux-node1 ~]# vim /etc/profile export JAVA_HOME=/usr/local/jdk export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin [root@linux-node1 ~]# source /etc/profile [root@linux-node1 ~]# java -version注:linux-node2節(jié)點(diǎn)上也安裝JDK

2.2、安裝Elasticsearch

(安裝版本為為elasticsearch6.X)

(1)源碼安裝elasticsearch:

(1)源碼安裝elasticsearch: 安裝elasticsearch [root@linux-node1 ~]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.0.0.rpm [root@linux-node1 ~]# yum install -y elasticsearch-6.0.0.rpm 配置elasticsearch,linux-node2配置一個(gè)相同的節(jié)點(diǎn),通過組播進(jìn)行通信,會通過cluster進(jìn)行查找,如果無法通過組播查詢,修改成單播即可。 [root@linux-node1 ~]# vim /etc/elasticsearch/elasticsearch.yml cluster.name:elk-cluster #集群名稱 node.name:elk-node1 #節(jié)點(diǎn)名稱,一個(gè)集群之內(nèi)節(jié)點(diǎn)的名稱不能重復(fù) path.data:/data/elkdata #數(shù)據(jù)路徑 path.logs:/data/logs #日志路徑 #bootstrap.memory_lock:true #鎖住es內(nèi)存,保證內(nèi)存不分配至交換分區(qū),這里暫時(shí)不配置。注釋掉 network.host:192.168.56.11 #網(wǎng)絡(luò)監(jiān)聽地址 http.port:9200 #用戶訪問查看的端口,9300是組件訪問使用 discovery.zen,ping.unicast.hosts:["10.0.0.22","10.0.0.23"] #單播(配置一臺即可,生產(chǎn)可以使用組播方式) [root@linux-node1 ~]# mkdir /data/{elkdata,logs} [root@linux-node1 ~]# chown elasticsearch.elasticsearch /data -R [root@linux-node1 ~]# systemctl start elasticsearch.service [root@linux-node1 ~]# netstat -tulnp |grep java tcp6 0 0 192.168.56.11:9200 :::* LISTEN 26866/java tcp6 0 0 192.168.56.11:9300 :::* LISTEN 26866/java 將配置文件拷貝到linux-node2 [root@linux-node1 ~]# scp /etc/elasticsearch/elasticsearch.yml 192.168.56.12:/etc/elasticsearch/ [root@linux-node2 ~]# vim /etc/elasticsearch/elasticsearch.yml 修改: node.name=elk-node2 network.host=192.168.56.12 [root@linux-node2 ~]# mkdir /data/{elkdata,logs} [root@linux-node2 ~]# chown elasticsearch.elasticsearch /data -R [root@linux-node2 ~]# systemctl start elasticsearch.service [root@linux-node2 ~]# netstat -tulnp |grep java tcp6 0 0 10.0.0.22:9200 :::* LISTEN 16346/java tcp6 0 0 10.0.0.23:9300 :::* LISTEN 16346/java

(2)yum安裝elasticsearch

1.下載并安裝GPG key [root@linux-node1 ~]# rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch2.添加yum倉庫 [root@linux-node1 ~]# vim /etc/yum.repos.d/es.repo [elasticsearch-6.x] name=Elasticsearch repository for 6.x packages baseurl=https://artifacts.elastic.co/packages/6.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md3.安裝elasticsearch [root@hadoop-node1 ~]# yum install -y elasticsearch

三、Elasticsearch的集群配置和監(jiān)控

3.1 可以使用命令來查看elasticsearch的狀態(tài)內(nèi)容

[root@linux-node1 ~]# curl http://10.0.0.22:9200/_cluster/health?pretty=true {"cluster_name" : "elk-cluster","status" : "green","timed_out" : false,"number_of_nodes" : 2,"number_of_data_nodes" : 2,"active_primary_shards" : 0,"active_shards" : 0,"relocating_shards" : 0,"initializing_shards" : 0,"unassigned_shards" : 0,"delayed_unassigned_shards" : 0,"number_of_pending_tasks" : 0,"number_of_in_flight_fetch" : 0,"task_max_waiting_in_queue_millis" : 0,"active_shards_percent_as_number" : 100.0 }

3.2 檢查集群的健康狀態(tài)

curl http://10.0.0.22:9200/_cluster/health?pretty 健康檢查 curl http://10.0.0.23:9200/_cluster/state?pretty 集群詳細(xì)信息

四、Elasticsearch插件

Head插件安裝

插件作用:主要是做集群管理的插件(Elasticsearch6.0不能使用命令直接安裝head插件)
Github下載地址:https://github.com/mobz/elasticsearch-head

4.1 安裝node

[root@linux-node1 ~]# wget https://nodejs.org/dist/v8.10.0/node-v8.10.0-linux-x64.tar.xz [root@linux-node1 ~]# tar xf node-v8.10.0-linux-x64.tar.xz [root@linux-node1 ~]# mv node-v8.10.0-linux-x64 /usr/local/node [root@linux-node1 ~]# vim /etc/profile export NODE_HOME=/usr/local/node export PATH=$PATH:$NODE_HOME/bin [root@linux-node1 ~]# source /etc/profile [root@linux-node1 ~]# which node /usr/local/node/bin/node [root@linux-node1 ~]# node -v v8.10.0 [root@linux-node1 ~]# which npm /usr/local/node/bin/npm [root@linux-node1 ~]# npm -v 5.6.0

4.2 安裝grunt

(grunt是基于Node.js的項(xiàng)目構(gòu)建工具,可以進(jìn)行打包壓縮、測試、執(zhí)行等等的工作,head插件就是通過grunt啟動)

[root@linux-node1 ~]# npm install -g cnpm --registry=https://registry.npm.taobao.org [root@linux-node1 ~]# npm install -g grunt-cli --registry=https://registry.npm.taobao.org [root@linux-node1 ~]# grunt -version grunt-cli v1.2.0

4.3 修改head插件源碼

修改服務(wù)器監(jiān)聽地址:Gruntfile.js[root@linux-node1 ~]# wget https://github.com/mobz/elasticsearch-head/archive/master.zip [root@linux-node1 ~]# unzip master.zip [root@linux-node1 ~]# cd elasticsearch-head-master/ [root@linux-node1 elasticsearch-head-master]# vim Gruntfile.js 90 connect: { 91 server: { 92 options: { 93 hostname: '10.0.0.22', 94 port: 9100, 95 base: '.', 96 keepalive: true 97 } 98 } 99 }

4.4 修改連接地址:_site/app.js 

[root@linux-node1 elasticsearch-head-master]# vim _site/app.js 4354 this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://10.0.0.22:9200"; [root@linux-node1 elasticsearch-head-master]# cnpm install [root@linux-node1 elasticsearch-head-master]# grunt --version grunt-cli v1.2.0 grunt v1.0.1

4.5 運(yùn)行head

在elasticsearch-head-master目錄下

[root@linux-node1 elasticsearch-head-master]# cnpm install #(安裝下載下來的包) [root@linux-node1 elasticsearch-head-master]# grunt --version grunt-cli v1.2.0 grunt v1.0.1 [root@linux-node1 elasticsearch-head-master]# vim /etc/elasticsearch/elasticsearch.yml 90 # ---------------------------------- Head -------------------------------------增加如下兩行: 91 # 92 http.cors.enabled: true 93 http.cors.allow-origin: "*" [root@linux-node1 elasticsearch-head-master]# systemctl restart elasticsearch [root@linux-node1 elasticsearch-head-master]# grunt server (node:2833) ExperimentalWarning: The http2 module is an experimental API. Running "connect:server" (connect) task Waiting forever... Started connect web server on http://10.0.0.22:9100

4.6?瀏覽器訪問:http://10.0.0.22:9100,可以看到各個(gè)節(jié)點(diǎn)的狀態(tài)信息,如圖:

?4.7?head插件使用

返回"概述"頁面,點(diǎn)擊"連接"

上圖中01234粗框是主分片,01234細(xì)框是副本分片,主分片和副本分片的數(shù)據(jù)一致,做備份。

理論上應(yīng)該分別放入2臺主機(jī),目前只用了一臺主機(jī),所以圖中看到的副本分片是灰色,同時(shí)右上角的"集群健康值"顯示黃色警告,10個(gè)分片只有5個(gè)。

備注:如果出現(xiàn)紅色,可能主分片和副本分片的數(shù)據(jù)同時(shí)丟失。

上圖中藍(lán)色“信息”按鈕,包含索引狀態(tài)和索引信息。藍(lán)色“動作”按鈕,包含刷新、關(guān)閉、刪除、快照、優(yōu)化、測試分析器等功能。

  

 

  

  

 

  

  

?

  

?

轉(zhuǎn)載于:https://www.cnblogs.com/jimmy-xuli/p/9202643.html

總結(jié)

以上是生活随笔為你收集整理的Elasticsearch环境准备(一)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。