您好,登錄后才能下訂單哦!
????
??Shay Banon認為自己參與Lucene完全是一種偶然,當年他還是一個待業工程師,跟隨自己的新婚妻子來到倫敦,妻子想在倫敦學習做一名廚師,而自己則想為妻子開發一個方便搜索菜譜的應用,所以才接觸到Lucene。直接使用Lucene構建搜索有很多問題,包含大量重復性的工作,所以Shay便在Lucene的基礎上不斷地進行抽象,讓Java程序嵌入搜索變得更容易,經過一段時間的打磨便誕生了他的第一個開源作品“Compass”,中文即“指南針”的意思。之后,Shay找到了一份面對高性能分布式開發環境的新工作,在工作中他漸漸發現越來越需要一個易用的、高性能、實時、分布式搜索服務,于是他決定重寫Compass,將它從一個庫打造成了一個獨立的server,并將其改名為Elasticsearch。
??ElasticSearch是一款基于Apache Lucene構建的開源搜索引擎,它采用Java編寫并使用Lucene構建索引、提供搜索功能,ElasticSearch的目標是讓全文搜索變得簡單,開發者可以通過它簡單明了的RestFul API輕松地實現搜索功能,而不必去面對Lucene的復雜性。ES能夠輕松的進行大規模的橫向擴展,以支撐PB級的結構化和非結構化海量數據的處理。
接口:
?solr類似于webserver結構
?elasticsearch是rest風格訪問接口
分布式:
?solr:solrCloud solr4.x支持
?elasticsearch:為分布式而生
支持風格:
?solr:json、xml
?elasticsearch:json
前置條件
下載地:https://github.com/elastic/elasticsearch
注意:在安裝集群之前,保證有jdk并且是1.7以及以上。
不能以root用戶啟動ES,否則:
安裝步驟
①解壓:
[hadoop hadoop03@~]$ tar zxvf elasticsearch-6.2.0.tar.gz -C /application/
②修改配置文件
#/application/elasticsearch-6.2.0/config/elasticsearch.yml
cluster.name: zzy-application #集群的名稱
node.name: node-1 #節點名稱
path.data: /home/hadoop/data/elasticsearch-data #數據存儲目錄
path.logs: /home/hadoop/logs/elasticsearch-log #日志存儲目錄
network.host: 192.168.191.130 #綁定主機
③版本兼容問題
requires kernel 3.5+ with CONFIG_SECCOMP and CONFIG_SECCOMP_FILTER
表示:centos6.x的內核太低,需要centos7或者升級centos6.x對應的內核至3.5以上。這里選擇升級centos6.x對應的內核。
#相關操作:
[hadoop hadoop03@~]$more /etc/issue和uname -a #查看linux內核信息
#升級內核
[hadoop hadoop03@~]$sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
如果出現下圖所示:
無法在服務器使用curl命令訪問https域名,原因是nss版本有點舊了:
可以使用:
[hadoop hadoop03@~]$yum -y update nss
#安裝內核
sudo yum --enablerepo=elrepo-kernel ×××tall kernel-lt -y
#編輯grub.conf文件,修改Grub引導順序
#如果出現以下錯誤:
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
#limits.conf
sudo vim /etc/security/limits.conf 添加如下內容:
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
并注釋:
如果還有錯誤:
max number of threads [1024] for user [bigdata] is too low, increase to at least [4096]
#修改配置文件90-nproc.conf
sudo vim /etc/security/limits.d/90-nproc.conf
#接下來還會有錯誤
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
#修改配置文件/etc/sysctl.conf
并且生效:sudo sysctl -p
#最后一個錯誤:
system call filters failed to ×××tall; check the logs and fix your configuration or disable system call filters at your own risk
這是在因為Centos6不支持SecComp,而ES5.2.0默認bootstrap.system_call_filter為true進行檢測,所以導致檢測失敗,失敗后直接導致ES不能啟動。
#修改elasticsearch配置文件
vim /application/elasticsearch-6.2.0/config/elasticsearch.yml
#在Memory下面
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
④重啟電腦
⑤啟動ES
[hadoop hadoop03@~]$/application/elasticsearch-6.2.0/bin/elasticsearch -d
最終在http://hadoop03:9200的web界面中出現:
表示安裝成功~!!!!!
這里需要注意,如果是安裝集群的話,如果你的Linux每一臺都是出現以上的問題,那么每一臺電腦都要升級內核,一點要保持所有的節點都能成功啟動單機的ES。
??如何你的節點能夠成功的安裝單機的ES,那么集群的安裝非常簡單:只要節點同屬于一個局域網同一網段,而且集群名稱相同,ES就會自動發現其他節點。
①將單機的版的ES發送的各個節點上:
[hadoop hadoop03@application]$scp -r elasticsearch-6.2.0 hadoop01:$PWD
[hadoop hadoop03@application]$scp -r elasticsearch-6.2.0 hadoop02:$PWD
②修改配置文件:
#節點一 hadoop01:
cluster.name: zzy-application
http.port: 9200
network.host: 0.0.0.0
#節點二 hadoop 02:
cluster.name: zzy-application
http.port: 9200
network.host: 0.0.0.0
transport.tcp.port: 19300
#節點三:
cluster.name: bigdata
http.port: 9200
network.host: 0.0.0.0
transport.tcp.port: 29300
③配置完成之后,啟動ES即可:
可以通過ES插件elasticsearch-head查看集群信息:
這里elasticsearch-head是一個Google的插件,下載需要×××,這里小編直接給大家提供一個,直接放在Google瀏覽器的擴展程序中即可。
下載地址:http://down.51cto.com/data/2458080
注意:這里是通過一臺機器不同的端口實現的集群,如果是多臺機器需要在每一個節點的配置文件中加入:
discovery.zen.ping.unicast.hosts: [ "nodeIP:9300","nodeIP:9300" ]
這是因為ES集群是自動發現機制,這里我們提供一個發現的列表,只要clusterName一樣,并且在同一網絡下,集群名稱相同的ES節點就會自動組成一個集群。
這種依賴性的發現,比較靠譜,當然如果要集群擴展就比較慢了。
??kibana 本質上是elasticsearch web客戶端,是一個分析和可視化elasticsearch平臺,可通過kibana搜索、查看和與存儲在elasticsearch的索引進行交互。可以很方便的執行先進的數據分析和可視化多種格式的數據,如圖表、表格、地圖等。
??.1 簡單部署:
①下載
URL:http://www.elastic.co/downloads/kibana
需要特別注意的就是kibana和ES之間的版本匹配問題。這里使用的是kibana-6.2.0-linux-x86_64.tar
② 配置:
解壓:[hadoop@hadoop03 ~]$ tar zxvf kibana-6.2.0-linux-x86_64.tar.gz -C /application/
配置文件:[hadoop@hadoop03 config]$ vim kibana.yml
注意:由于ES啟動時不能通過root用戶,所以logs這個目錄需要是啟動ES的用戶創建:
#后臺啟動(在bin下):
nohup bin/kibana >logs/kibana.log 2>&1 &
③ 測試
訪問部署Kibana機器的5601端口出現這個頁面,表示部署成功:
??.2 簡單部署:
??Discover頁面: 交互式的瀏覽數據。可以訪問所匹配的索引模式的每個索引的每個文檔。可以提交搜索查詢,過濾搜索結果和查看文檔數據。還可以搜索查詢匹配的文檔數據和字段值的統計數據。還可以選定時間以及刷新頻率。
??Visualize頁面:設計數據可視化。可以保存這些可視化,單獨或合并成儀表盤。可視化可以基于以下數據源類型1.一個新的交互式搜索 2. 一個保存的搜索 3. 現有的可視化。
??Dashboard頁面:自由排列已保存的可視化,保存這個儀表盤并可以分享或者重載。
??settings頁面:要使用kibana,得先告訴kibana要搜索的elasticsearch索引是哪些,可以配置一個或更多索引。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。