ElasticStack5.5.0安裝

1. 建議安裝順序

Elasticsearch->X-Pack for Elasticsearch->Kibana->X-Pack for Kibana->Logstash->Beats->Elasticsearch Hadoop
注意:我們將所有組件都安裝在Centos7的/opt/bigdata目錄中,集群環(huán)境的ip地址設置為:
192.168.88.201 cluster201
192.168.88.202 cluster202
192.168.88.203 cluster203
Elasticsearch在三臺上都安裝,構建成一個集群vm-cluster
Kibana安裝在cluster201機器上
所有安裝包下載地址:https://www.elastic.co/cn/downloads

2.Elasticsearch安裝

Elasticsearch集群中的三種角色:

  1. master node:master節(jié)點主要用于元數據(metadata)的處理,比如索引的新增、刪除、分片分配等。
  2. data node:data 節(jié)點上保存了數據分片。它負責數據相關操作,比如分片的 CRUD,以及搜索和整合操作。這些操作都比較消耗 CPU、內存和 I/O 資源.
  3. client node:client 節(jié)點起到路由請求的作用,實際上可以看做負載均衡器。

其對應的高性能集群拓撲結構模式為:

# 配置文件中給出了三種配置高性能集群拓撲結構的模式,如下: 
# 1. 如果你想讓節(jié)點從不選舉為主節(jié)點,只用來存儲數據,可作為負載器 
# node.master: false 
# node.data: true 
# 2. 如果想讓節(jié)點成為主節(jié)點,且不存儲任何數據,并保有空閑資源,可作為協(xié)調器
# node.master: true
# node.data: false
# 3. 如果想讓節(jié)點既不稱為主節(jié)點,又不成為數據節(jié)點,那么可將他作為搜索器,從節(jié)點中獲取數據,生成搜索結果等 
# node.master: false 
# node.data: false

config/elasticsearch.ymal中配置項說明:

cluster_name 集群名稱,默認為elasticsearch
node.name配置節(jié)點名,用來區(qū)分節(jié)點
network.host 是配置可以訪問本節(jié)點的路由地址
http.port 路由地址端口
transport.tcp.port TCP協(xié)議轉發(fā)地址端口
node.master 是否作為集群的主結點 ,值為true或false
node.data 是否存儲數據,值為true或false
discovery.zen.ping.unicast.hosts 用來配置所有用來組建集群的機器的IP地址,由于5.5.0新版本是不支持多播的,因此這個值需要提前設定好,當集群需要擴展的時候,該值都要做改變,增加新機器的IP地址,如果是在一個ip上,要把TCP協(xié)議轉發(fā)端口寫上
discovery.zen.minimum_master_nodes 用來配置主節(jié)點數量的最少值,如果主節(jié)點數量低于該值,閉包范圍內的集群將會停止服務,之所以加粗體,是因為暫時尚未認證,下面配置為1方便集群更容易形成,即使只有一個主節(jié)點,也可以構建集群
gateway.* 網關的相關配置
script.* indices.* 根據需求添加的配置(可選) 

下面進行集群搭建:
先在cluster201機器上下載解壓,并修改好配置文件,然后復制到其他兩臺機器上

[hadoop@cluster201 bigdata]$ pwd
/opt/bigdata
[hadoop@cluster201 bigdata]$ wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.5.0.zip
[hadoop@cluster201 bigdata]$ unzip elasticsearch-5.5.0.zip
[hadoop@cluster201 bigdata]$ cd elasticsearch-5.5.0
[hadoop@cluster201 elasticsearch-5.5.0]$ vim config/elasticsearch.yml

修改配置文件中以下配置項

cluster.name: vm-cluster
node.name: cluster-201
node.master: true
node.data: true
path.data: /opt/bigdata/elasticsearch-5.5.0/data
path.logs: /opt/bigdata/elasticsearch-5.5.0/logs
network.host: 0.0.0.0
http.port: 9200
discovery.zen.ping.unicast.hosts: ["192.168.88.201:9300", "192.168.88.202:9300", "192.168.88.203:9300"]
discovery.zen.minimum_master_nodes: 1

然后將配置好的Elasticsearch包壓縮拷貝到其他兩臺機器上

[hadoop@cluster201 elasticsearch-5.5.0]$ cd ..
[hadoop@cluster201 bigdata]$ pwd
/opt/bigdata
[hadoop@cluster201 bigdata]$ tar -zvcf elasticsearch-5.5.0.tar.gz elasticsearch-5.5.0
[hadoop@cluster201 bigdata]$ scp elasticsearch-5.5.0.tar.gz 192.168.88.202:/opt/bigdata
[hadoop@cluster201 bigdata]$ scp elasticsearch-5.5.0.tar.gz 192.168.88.203:/opt/bigdata

然后分別登錄到其他兩臺機器上解壓壓縮包,并修改以下配置文件中的node.name配置,分別改為cluster-202、cluster-203
分別在三臺機器上啟動Elasticsearch,命令如下:

# -d選項表示在后臺運行
[hadoop@cluster201 bigdata]$ ./elasticsearch-5.5.0/bin/elasticsearch -d

停止可以先用ps命令查看進程id然后用ps quit pid停止

注意:按上述方式安裝后在啟動時可能會遇到如下錯誤:

ERROR: [2] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

解決方法如下:
對于問題[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
修改/etc/security/limits.conf文件,添加或修改如下行:

 *        hard    nofile           65536
 *        soft    nofile           65536

對于問題[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
修改 /etc/sysctl.conf 文件,添加 “vm.max_map_count”設置

vm.max_map_count = 262144

設置后使用如下命令使其生效:

[hadoop@cluster201 bigdata]$ sysctl -p

在線安裝X-Pack for Elasticsearch:

[hadoop@cluster201 elasticsearch-5.5.0]$ cd bin/
[hadoop@cluster201 bin]$ ./elasticsearch-plugin install x-pack
-> Downloading x-pack from elastic
[=================================================] 100%   
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@     WARNING: plugin requires additional permissions     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
* java.io.FilePermission \\.\pipe\* read,write
* java.lang.RuntimePermission accessClassInPackage.com.sun.activation.registries
* java.lang.RuntimePermission getClassLoader
* java.lang.RuntimePermission setContextClassLoader
* java.lang.RuntimePermission setFactory
* java.security.SecurityPermission createPolicy.JavaPolicy
* java.security.SecurityPermission getPolicy
* java.security.SecurityPermission putProviderProperty.BC
* java.security.SecurityPermission setPolicy
* java.util.PropertyPermission * read,write
* java.util.PropertyPermission sun.nio.ch.bugLevel write
* javax.net.ssl.SSLPermission setHostnameVerifier
See http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.html
for descriptions of what these permissions allow and the associated risks.

Continue with installation? [y/N]y
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@        WARNING: plugin forks a native controller        @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
This plugin launches a native controller that is not subject to the Java
security manager nor to system call filters.

Continue with installation? [y/N]y
-> Installed x-pack

安裝成功后默認為開啟權限驗證模塊,默認會創(chuàng)建三個用戶:elastic,kibana,logstash_system,默認密碼均問changeme

3.安裝Kibana

Kibana只需在cluster201機器上安裝即可
下載并解壓Kibana

[hadoop@cluster201 bigdata]$ pwd
/opt/bigdata
[hadoop@cluster201 bigdata]$ wget https://artifacts.elastic.co/downloads/kibana/kibana-5.5.0-linux-x86_64.tar.gz
[hadoop@cluster201 bigdata]$ tar -zvxf kibana-5.5.0-linux-x86_64.tar.gz
[hadoop@cluster201 bigdata]$ cd kibana-5.5.0-linux-x86_64
[hadoop@cluster201 bigdata]$ vim kibana-5.5.0-linux-x86_64/config/kibana.yml

config/kibana.yml中配置項說明:

server.port : 默認值 : 5601 Kibana 由后端服務器提供服務。此設置指定要使用的端口。
server.host : 默認值 : “l(fā)ocalhost” 此設置指定后端服務器的主機。
server.basePath : 使您能夠指定如果您在代理后運行的 Kibana 的路徑。這只影響 Kibana 生成的 URL,您的代理應該在轉發(fā)請求到 Kibana 之前刪除 basePath 值。此設置不能以斜杠(/)結尾。
server.maxPayloadBytes : 默認值 : 1048576 傳入服務器請求的最大有效負載大小(以字節(jié)為單位)。
server.name : 默認值 : “your-hostname” 用于標識此 Kibana 實例的可讀的顯示名稱。
server.defaultRoute : 默認值 : “/app/kibana” 此設置指定打開 Kibana 時的默認路由。您可以使用此設置在打開 Kibana 時修改登錄頁。
elasticsearch.url : 默認值 : “http://localhost:9200” 要用于所有查詢的 Elasticsearch 實例的 URL。
elasticsearch.preserveHost : 默認值 : true 當此設置的值為 true 時,Kibana 使用 server.host 設置中指定的主機名。當此設置的值為 false 時,Kibana 使用連接到此 Kibana 實例的主機的主機名。
kibana.index : 默認值 : “.kibana”Kibana 使用 Elasticsearch 中的索引來存儲保存的搜索,可視化和儀表板。如果索引不存在,Kibana 將創(chuàng)建一個新索引。
kibana.defaultAppId : 默認值 : “discover” 要加載的默認應用程序。
tilemap.url : Kibana 用于在 tilemap 可視化中顯示地圖圖塊的圖塊服務的 URL。默認情況下,Kibana 從外部元數據服務讀取此 URL,但用戶仍可以覆蓋此參數以使用自己的 Tile Map Service。例如 : "https : //tiles.elastic.co/v2/default/{z}/{x}/{y}.png?elastic_tile_service_tos=agree&my_app_name=kibana"
tilemap.options.minZoom : 默認值 : 1 最小縮放級別。
tilemap.options.maxZoom : 默認值 : 10 最大縮放級別。
tilemap.options.attribution : 默認 : "? [Elastic Tile Service](https : //www.elastic.co/elastic-tile-service)" 地圖屬性字符串。
tilemap.options.subdomains : tile 服務使用的子域的數組。指定帶有令牌的 URL 的子域的位置 {s}。
elasticsearch.username :  和 elasticsearch.password : 如果您的 Elasticsearch 受基本認證保護,這些設置提供 Kibana 服務器用于在啟動時對 Kibana 索引執(zhí)行維護的用戶名和密碼。您的 Kibana 用戶仍需要使用通過 Kibana 服務器代理的 Elasticsearch 進行身份驗證。
server.ssl.cert :  和 server.ssl.key : 分別指向 PEM 格式 SSL 證書和 SSL 密鑰文件的路徑。這些文件為從 Kibana 服務器到瀏覽器的傳出請求啟用 SSL。
elasticsearch.ssl.cert :  和 elasticsearch.ssl.key : 提供 PEM 格式 SSL 證書和密鑰文件路徑的可選設置。這些文件驗證您的 Elasticsearch 后端使用相同的密鑰文件。
elasticsearch.ssl.ca : 可選設置,使您能夠為 Elasticsearch 實例指定證書頒發(fā)機構的 PEM 文件的路徑。
elasticsearch.ssl.verify : 默認值 : true 要忽略 SSL 證書的有效性,請將此設置的值更改為 false。
elasticsearch.pingTimeout : 默認值 : 值 elasticsearch.requestTimeout 設置以毫秒為單位的時間等待 Elasticsearch 對 PING 作出響應。
elasticsearch.requestTimeout : 默認值 : 30000 等待來自后端或 Elasticsearch 的響應的時間(以毫秒為單位)。此值必須為正整數。
elasticsearch.requestHeadersWhitelist : 默認值 : [ 'authorization' ] 要發(fā)送到 Elasticsearch 的 Kibana 客戶端頭標列表。要發(fā)送任何客戶端頭,請將此值設置為 [](一個空列表)。
elasticsearch.customHeaders : 默認值 : {} 要發(fā)送到 Elasticsearch 的(header name)標題名稱和值。不管如何配置 elasticsearch.requestHeadersWhitelist,任何自定義的 header 都不能被客戶端頭覆蓋
elasticsearch.shardTimeout : 默認值 : 0 Elasticsearch 等待來自分片的響應的時間(以毫秒為單位)。設置為 0 可禁用。
elasticsearch.startupTimeout : 默認值 : 5000 重試前在 Kibana 啟動時等待 Elasticsearch 的時間(以毫秒為單位)。
pid.file : 指定 Kibana 創(chuàng)建進程標識文件的路徑。
logging.dest : 默認值 : stdout 允許您指定 Kibana 存儲日志輸出的文件。
logging.silent : 默認值 : false 將此設置的值設置 true 為禁止所有日志記錄輸出。
logging.quiet : 默認值 : false 將此設置的值設置 true 為禁止除錯誤消息之外的所有日志記錄輸出。
logging.verbose : 默認值 : false 將此設置的值設置為 true 記錄所有事件,包括系統(tǒng)使用信息和所有請求。
ops.interval : 默認值 : 5000 設置示例系統(tǒng)和過程性能指標的間隔(以毫秒為單位)。最小值為 100。
status.allowAnonymous : 默認值 : false 如果啟用了驗證,則將此設置為 true 允許未經身份驗證的用戶訪問 Kibana 服務器狀態(tài) API 和狀態(tài)頁。
console.enabled : 默認值 : true 設置為 false 可禁用控制臺。切換這將導致服務器在下次啟動時重新生成資產,這可能會導致在開始投放網頁之前出現延遲。
console.proxyFilter : 默認值 : .* 用于驗證來自控制臺的任何傳出請求的正則表達式列表。如果沒有匹配,請求將被拒絕。
console.proxyConfig : 基于代理目標的配置選項列表。使用此選項可以為特定主機設置自定義超時或 SSL 設置。這是通過 match 使用通配符 /globs 定義一組標準來完成的,這將根據每個請求進行檢查。然后,來自所有匹配規(guī)則的配置將合并在一起,以配置用于該請求的代理。有效匹配關鍵字 match.protocol,match.host,match.port 和 match.path。所有這些鍵默認為 *,這意味著它們將匹配任何值。有關示例,請參閱配置控制臺。
elasticsearch.tribe.url : 用于所有查詢的 Elasticsearch 部落實例的可選 URL。
elasticsearch.tribe.username :  和 elasticsearch.tribe.password : 如果您的 Elasticsearch 受基本認證保護,這些設置提供 Kibana 服務器用于在啟動時對 Kibana 索引執(zhí)行維護的用戶名和密碼。您的 Kibana 用戶仍需要使用通過 Kibana 服務器代理的 Elasticsearch 進行身份驗證。
elasticsearch.tribe.ssl.cert :  和 elasticsearch.tribe.ssl.key : 提供 PEM 格式 SSL 證書和密鑰文件路徑的可選設置。這些文件驗證您的 Elasticsearch 后端使用相同的密鑰文件。
elasticsearch.tribe.ssl.ca : 可選設置,使您能夠為 Elasticsearch 實例指定證書頒發(fā)機構的 PEM 文件的路徑。
elasticsearch.tribe.ssl.verify : 默認值 : true 要忽略 SSL 證書的有效性,請將此設置的值更改為 false。
elasticsearch.tribe.pingTimeout : 默認值 : 值 elasticsearch.tribe.requestTimeout 設置以毫秒為單位的時間等待 Elasticsearch 對 PING 作出響應。
elasticsearch.tribe.requestTimeout : 默認值 : 30000 等待來自后端或 Elasticsearch 的響應的時間(以毫秒為單位)。此值必須為正整數。
elasticsearch.tribe.requestHeadersWhitelist : 默認值 : [ 'authorization' ] 要發(fā)送到 Elasticsearch 的 Kibana 客戶端 header 列表。要發(fā)送任何客戶 header,請將此值設置為[](一個空列表)。
elasticsearch.tribe.customHeaders : 默認值 : {} 要發(fā)送到 Elasticsearch 的 header name 和 value。不管如何配置 elasticsearch.tribe.requestHeadersWhitelist,任何自定義的 header 都不能被客戶端的 header 覆蓋。

修改配置文件中的如下項:

server.host: "0.0.0.0"
elasticsearch.url: "http://localhost:9200"
elasticsearch.username: "kibana"
elasticsearch.password: "changeme"

在線安裝X-Pack for Kibana:

[hadoop@cluster201 bigdata]$ cd kibana-5.5.0-linux-x86_64/bin
[hadoop@cluster201 bin]$ ./kibana-plugin install x-pack
Attempting to transfer from x-pack
Attempting to transfer from https://artifacts.elastic.co/downloads/kibana-plugins/x-pack/x-pack-5.5.0.zip
Transferring 119276235 bytes....................
Transfer complete
Retrieving metadata from plugin archive
Extracting plugin archive
Extraction complete
Optimizing and caching browser bundles...
Plugin installation complete

然后啟動Kibana:

[hadoop@cluster201 bigdata]$ cd kibana-5.5.0-linux-x86_64/
# 使用nohup讓其后臺運行
[hadoop@cluster201 kibana-5.5.0-linux-x86_64]$ nohup bin/kibana &
[1] 3205
[hadoop@cluster201 kibana-5.5.0-linux-x86_64]$ nohup: 忽略輸入并把輸出追加到"nohup.out"

然后在瀏覽器中訪問http://192.168.88.201:5601即可查看Kibana界面

4.參考資料

http://blog.csdn.net/gamer_gyt/article/details/59077189
http://blog.csdn.net/kongxx/article/details/52993057
http://blog.csdn.net/jiankunking/article/details/65448030
http://cwiki.apachecn.org/pages/viewpage.action?pageId=8159438

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容