成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

ElasticSearch6.4.0集群搭建

MrZONT / 2617人閱讀

摘要:虛擬內(nèi)存區(qū)域是一個連續(xù)的虛擬地址空間區(qū)域。四啟動集群首先切換為用戶,并啟動服務器上的節(jié)點注意參數(shù)表示以后臺進程啟動,默認情況下會在控制臺輸出日志。

最近在學習ES相關內(nèi)容,為了方便自己使用,在本地虛擬機上搭建了一個3節(jié)點的ES集群,在搭建過程中,遇到了許多坑,網(wǎng)上的資料也比較分散,所以詳細整理一下搭建過程發(fā)出來供參考。搭建過程中,由于是兩臺虛擬機,所以有一種很快速的辦法,搭建一臺,然后通過克隆虛擬機然后修改可以迅速完成,但是為了更熟悉整個過程,本過程是每臺虛擬機都逐一去操作。
一、軟件及環(huán)境準備

服務器環(huán)境

CentOS6.9_64位兩臺
es-master:192.168.0.11
es-slave:192.168.0.12
注意:內(nèi)存允許的情況下,稍微給大一點內(nèi)存,否則啟動會失敗,本地測試可以使用1.5-2G內(nèi)存,es-master上準備搭建兩個節(jié)點,所以內(nèi)存最好給到2G以上.

ES軟件

最新版ElasticSearch6.4.0
下載地址:https://artifacts.elastic.co/...

JDK軟件

jdk-8u161-linux-x64.tar.gz
下載地址:http://download.oracle.com/ot...

環(huán)境規(guī)劃

es-master包括兩個節(jié)點:elasticesearch-node1,elasticesearch-node3
es-slave包括一個節(jié)點:elasticesearch-node2

修改服務器主機名稱,方便后續(xù)操作

(1)服務器192.168.0.11上操作:

[root@localhost ~]# hostname es-master
[root@localhost ~]# vim /etc/sysconfig/network
#修改以下內(nèi)容:
HOSTNAME=es-master
#退出重新登錄
[root@localhost ~]# logout

(2)服務器192.168.0.12上操作:

[root@localhost ~]# hostname es-slave
[root@localhost ~]# vim /etc/sysconfig/network
#修改以下內(nèi)容:
HOSTNAME=es-slave
#退出重新登錄
[root@localhost ~]# logout

(3)為了后續(xù)操作方便,分別關閉es-master和es-slave服務器的防火墻

[root@es-master ~]# service iptables stop
[root@es-slave ~]# service iptables stop

注意:生產(chǎn)環(huán)境不能直接關防火墻,可以添加防火墻規(guī)則,使得ES的tcp端口對遠程指定主機開放。

二、JDK安裝配置

主機es-master上操作

下載,并解壓到指定目錄

 [root@es-master ~]# mkdir -pv /home/software
 [root@es-master ~]# cd /home/software/
 [root@es-master software]# wget http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.tar.gz
 注意:如果沒有網(wǎng)絡,可以手動下載,然后上傳即可。
 [root@es-master software]# mkdir -pv /usr/local/java
 [root@es-master software]# tar xf jdk-8u181-linux-x64.tar.gz -C /usr/local/java

主機es-slave上操作同上,略.

配置環(huán)境變量,es-master和es-slave上配置過程相同,如下

[root@es-master software]# vim /etc/profile
#在末尾添加如下內(nèi)容:
JAVA_HOME=/usr/local/java/jdk1.8.0_181
export PATH=$PATH:$JAVA_HOME/bin
#使環(huán)境變量生效
[root@es-master ~]# source /etc/profile

測試是否安裝完成

[root@es-master ~]# java -version
java version "1.8.0_161"
#輸出版本號,表示配置成功.
三、ElasticSearch安裝及配置

es-master上的操作如下:

下載及解壓ElasticSearch6.4.0

[root@es-master ~]# cd /home/software/
[root@es-master ~]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.0.tar.gz
[root@es-master software]# tar xf elasticsearch-6.2.4.tar.gz -C /usr/local/
[root@es-master local]# mv elasticsearch-6.4.0 elasticsearch-node1/
#復制一份作為第二個es節(jié)點
[root@es-master local]# cp -r elasticsearch-node1/ elasticsearch-node3

創(chuàng)建elk用戶,并將elasticsearch-node1和elasticsearch-node3授權給elk

注意:由于elasticsearch啟動的時候不能直接用root用戶啟動,所以需要創(chuàng)建普通用戶
[root@es-master local]# useradd elk
[root@es-master local]# chown -R elk:elk elasticsearch-node1/ elasticsearch-node3/

分別創(chuàng)建兩個elasticsearch節(jié)點的數(shù)據(jù)目錄和日志目錄

[root@es-master local]# mkdir -pv /data/{elasticsearch1,elasticsearch3}/{data,logs}
[root@es-master local]# chown -R elk:elk /data/{elasticsearch1,elasticsearch3}

修改操作系統(tǒng)的內(nèi)核配置文件sysctl.conf

[root@es-master local]# vim /etc/sysctl.conf
#在配置文件最后面添加如下內(nèi)容
vm.max_map_count=655360

解釋:max_map_count文件包含限制一個進程可以擁有的VMA(虛擬內(nèi)存區(qū)域)的數(shù)量。虛擬內(nèi)存區(qū)域是一個連續(xù)的虛擬地址空間區(qū)域。
在進程的生命周期中,每當程序嘗試在內(nèi)存中映射文件,鏈接到共享內(nèi)存段,或者分配堆空間的時候,這些區(qū)域?qū)⒈粍?chuàng)建。
當進程達到了VMA上線但又只能釋放少量的內(nèi)存給其他的內(nèi)核進程使用時,操作系統(tǒng)會拋出內(nèi)存不足的錯誤。

#使修改之后的配置文件生效
[root@es-master local]# sysctl -p

修改limits.conf文件

#limits.conf:用來保護系統(tǒng)的資源訪問,和sysctl.conf很像,但是limits.conf是針對于用戶,而sysctl.conf是針對于操作系統(tǒng).
[root@es-master local]# vim /etc/security/limits.conf
#在文件末尾添加如下內(nèi)容:
elk soft nofile 65536
elk hard nofile 131072
elk soft nproc 4096
elk hard nproc 4096

修改elasticsearch-node1節(jié)點的配置文件jvm.options

[root@es-master local]# cd elasticsearch-node1/config/
[root@es-master config]# vim jvm.options
修改如下兩個選項:
-Xms512m  #elasticsearch啟動時jvm所分配的初始堆內(nèi)存大小
-Xmx512m  #elasticsearch啟動之后允許jvm分配的最大堆內(nèi)存大小,生產(chǎn)環(huán)境中可能需要調(diào)大
注意:如果內(nèi)存足夠大,可以不用修改,默認為1G

修改elasticsearch-node1節(jié)點的配置文件elasticsearch.yml

[root@es-master local]# vim elasticsearch-node1/config/elasticsearch.yml
#修改以下項
#表示集群標識,同一個集群中的多個節(jié)點使用相同的標識
cluster.name: elasticsearch
#節(jié)點名稱
node.name: "es-node1"
#數(shù)據(jù)存儲目錄
path.data: /data/elasticsearch1/data
#日志目錄
path.logs: /data/elasticsearch1/logs
#節(jié)點所綁定的IP地址,并且該節(jié)點會被通知到集群中的其他節(jié)點
network.host: 192.168.0.11
#綁定監(jiān)聽的網(wǎng)絡接口,監(jiān)聽傳入的請求,可以設置為IP地址或者主機名
network.bind_host: 192.168.0.11
#發(fā)布地址,用于通知集群中的其他節(jié)點,和其他節(jié)點通訊,不設置的話默認可以自動設置。必須是一個存在的IP地址
network.publish_host: 192.168.0.11
#對外提供服務的http端口,默認為9200
http.port: 9200
#集群中主節(jié)點的初始列表,當主節(jié)點啟動時會使用這個列表進行非主節(jié)點的監(jiān)測
discovery.zen.ping.unicast.hosts: ["192.168.0.11","192.168.0.12"]
#下面這個參數(shù)控制的是,一個節(jié)點需要看到的具有master節(jié)點資格的最小數(shù)量,然后才能在集群中做操作。官方推薦值是(N/2)+1;
#其中N是具有master資格的節(jié)點的數(shù)量(我們的情況是3,因此這個參數(shù)設置為2)
#但是:但對于只有2個節(jié)點的情況,設置為2就有些問題了,一個節(jié)點DOWN掉后,肯定連不上2臺服務器了,這點需要注意
discovery.zen.minimum_master_nodes: 2
#ES默認開啟了內(nèi)存地址鎖定,為了避免內(nèi)存交換提高性能。但是Centos6不支持SecComp功能,啟動會報錯,所以需要將其設置為false
bootstrap.memory_lock: false
bootstrap.system_call_filter: false

修改elasticsearch-node3節(jié)點的配置文件jvm.options

[root@es-master local]# cd elasticsearch-node3/config/
[root@es-master config]# vim jvm.options
修改如下兩個選項:
-Xms512m
-Xmx512m

修改elasticsearch-node3節(jié)點的配置文件elasticsearch.yml

[root@es-master local]# vim elasticsearch-node3/config/elasticsearch.yml
#修改以下項
cluster.name: elasticsearch
node.name: "es-node3"
path.data: /data/elasticsearch3/data
path.logs: /data/elasticsearch3/logs
network.host: 192.168.0.11
network.bind_host: 192.168.0.11
network.publish_host: 192.168.0.11
http.port: 9201
discovery.zen.ping.unicast.hosts: ["192.168.0.11","192.168.0.12"]
discovery.zen.minimum_master_nodes: 2
bootstrap.memory_lock: false
bootstrap.system_call_filter: false

至此,es-master上的配置操作完成。

es-slave上的操作如下:

上傳elasticsearch的安裝包,然后解壓重命名,可以直接從es-master上遠程拉取

[root@es-slave ~]# cd /home/software/
[root@es-slave software]# scp 192.168.0.11:/home/software/elasticsearch-6.4.0.tar.gz ./
[root@es-slave software]# tar xf elasticsearch-6.4.0.tar.gz -C /usr/local/

創(chuàng)建elk用戶,并將elasticsearch-node2授權給elk

[root@es-slave local]# useradd elk
[root@es-slave local]# chown -R elk:elk elasticsearch-node2

創(chuàng)建數(shù)據(jù)目錄,并將目錄的屬主和屬組改為elk用戶,elk組

[root@es-slave local]# mkdir -pv /data/elasticsearch2/{data,logs}
[root@es-slave local]# chown -R elk:elk /data/elasticsearch2

修改操作系統(tǒng)的內(nèi)核配置文件sysctl.conf

[root@es-slave local]# vim /etc/sysctl.conf
#在配置文件最后面添加如下內(nèi)容
vm.max_map_count=655360
[root@es-slave local]# sysctl -p

修改limits.conf文件,可以直接從es-master的配置中復制過來

[root@es-master local]# vim /etc/security/limits.conf
#在文件末尾添加如下內(nèi)容:
elk soft nofile 65536
elk hard nofile 131072
elk soft nproc 4096
elk hard nproc 4096

修改elasticsearch-node2節(jié)點的配置文件jvm.options

[root@es-slave local]# cd elasticsearch-node2/config/
[root@es-slave config]# vim jvm.options
修改如下兩個選項:
-Xms512m
-Xmx512m

修改elasticsearch-node2節(jié)點的配置文件elasticsearch.yml

[root@es-slave local]# vim elasticsearch-node2/config/elasticsearch.yml
#修改以下項
cluster.name: elasticsearch
node.name: "es-node2"
path.data: /data/elasticsearch2/data
path.logs: /data/elasticsearch2/logs
network.host: 192.168.0.12
network.bind_host: 192.168.0.12
network.publish_host: 192.168.0.12
discovery.zen.ping.unicast.hosts: ["192.168.0.11","192.168.0.12"]
discovery.zen.minimum_master_nodes: 2
bootstrap.memory_lock: false
bootstrap.system_call_filter: false

至此es-slave上的elasticsearch節(jié)點配置完成。

四、啟動ES集群

首先切換為elk用戶,并啟動es-slave服務器上的elasticsearch-node2節(jié)點

[root@es-slave local]# su - elk
[elk@es-slave ~]$ cd /usr/local/elasticsearch-node2/bin/
[elk@es-slave bin]$ ./elasticsearch -d
注意:-d參數(shù)表示以后臺進程啟動,默認情況下會在控制臺輸出日志。

查看是否啟動成功,可以通過查看進程及端口來確定是否啟動成功,如果啟動失敗,可以通過查看日志來排查原因

[elk@es-slave bin]$ ps -ef| grep elasticsearch
[elk@es-slave bin]$ lsof -i:9200
注意:日志文件在elasticsearch.yml配置文件中所指定的目錄下

測試是否可以訪問

[elk@es-slave ~]$ curl 192.168.0.12:9200
如果返回類似如下結(jié)果,表示啟動正常:
{
  "name" : "es-node2",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "gczyFNKrTe2YbEQmlg7-nw",
  "version" : {
    ...
  },
  "tagline" : "You Know, for Search"
}

切換到es-master服務器上,然后切換到elk身份,分別啟動elasticSearch-node1節(jié)點和elasticsearch-node3節(jié)點

[root@es-master ~]# su - elk
[elk@es-master ~]$ cd /usr/local/elasticsearch-node1/bin/
[elk@es-master bin]$ ./elasticsearch -d
[elk@es-master bin]$ cd /usr/local/elasticsearch-node3/bin/
[elk@es-master bin]$ ./elasticsearch -d

查看進程及端口,確定是否啟動成功

#查看進程,可以看到有兩個節(jié)點的進程
[elk@es-master bin]$ ps -ef| grep elasticsearch
[elk@es-master bin]$ lsof -i:9200
[elk@es-master bin]$ lsof -i:9300

使用curl測試節(jié)點是否可以正常訪問,方法同上,需要驗證elasticsearch-node1和elasticsearch-node3節(jié)點

[elk@es-master ~]$ curl 192.168.0.11:9200
[elk@es-master ~]$ curl 192.168.0.11:9300

驗證完畢之后,ES集群就啟動完畢。

五、安裝及配置ES前端圖形化操作工具

下載kibana,并上傳到es-master服務器上

下載地址:https://artifacts.elastic.co/downloads/kibana/kibana-6.4.0-linux-x86_64.tar.gz

解壓,重命名

[root@es-master software]# wget https://artifacts.elastic.co/downloads/kibana/kibana-6.4.0-linux-x86_64.tar.gz
[root@es-master software]# tar xf kibana-6.4.0-linux-x86_64.tar.gz -C /usr/local
[root@es-master software]# cd /usr/local
[root@es-master local]# mv kibana-6.4.0-linux-x86_64 kibana-6.4.0

修改kibana的配置文件kibana.yml

[root@es-master local]# cd kibana-6.4.0/config
[root@es-master config]# vim kibana.yml
#修改如下內(nèi)容:
#對外服務監(jiān)聽端口
server.port: 5601
#綁定可以訪問5601端口服務的IP地址,0.0.0.0表示任何地址在沒有防火墻限制的情況下都可以訪問,生產(chǎn)環(huán)境別這樣設置,不安全。
server.host: "0.0.0.0"
#默認值為主機名稱,表示kibana實例綁定的主機,可以是IP地址或者主機名稱.
server.name: "es-master"
#用來處理ES請求的服務URL
elasticsearch.url: "http://192.168.0.11:9200"
#用來控制證書的認證,可選的值為full,none,certificate。此處由于沒有證書,所以設置為null,否則啟動會提示錯誤.
elasticsearch.ssl.verificationMode: none

啟動kibana

[root@es-master config]# cd /usr/local/kibana-6.4.0/bin
#以后臺進程啟動,kibana默認是控制臺方式啟動,Ctrl+C就會退出
[root@es-master bin]# nohup ./kibana &
#查看日志是否啟動正常
[root@es-master bin]# tail -f nohup.out

如果啟動正常,在瀏覽器端訪問http://192.168.0.11:5601,即可看到圖形化操作工具

至此,就可以愉快的開始ES的語法學習之旅了。
ES的語法學習可參考:https://www.elastic.co/guide/...。

六、ElasticSearch和kibana的停止

目前es和kibana的bin目錄下未提供停止ES服務和kibana服務的腳本,可以使用kill -9 pid來停止服務

停止ES服務

[root@es-master bin]# ps -ef| grep elasticsearch | grep -v grep | awk "{print $2}"
[root@es-master bin]# kill -9 pid[上一步所輸出的pid]

停止Kibana服務

[root@es-master bin]# ps -ef| grep node | grep -v grep | grep -v elasticsearch | awk "{print $2}"
[root@es-master bin]# kill -9 pid[上一步所輸出的pid]

至此,所有內(nèi)容整理完畢,歡迎評論轉(zhuǎn)發(fā)!

后續(xù)更多文章將更新在個人小站上,歡迎查看。

另外提供一些優(yōu)秀的IT視頻資料,可免費下載!如需要請查看https://www.592xuexi.com

文章版權歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/77038.html

相關文章

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<