ElasticSearch5.6.3的安裝部署以及叢集部署、ElasticSearch-head的安裝

後開啟撒打發了發表於2017-11-03

一、ElasticSearch5.6.3下載安裝步驟

說明:ElasticSearch的執行不能用root執行,自己用useradd命令新建一個使用者如下所示:

useradd chen
passwd chen 然後根據提示輸入密碼即可

下載地址:https://www.elastic.co/downloads/elasticsearch 下載最新的安裝包並解壓、然後執行、命令如下:

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.3.tar.gz

tar -zxvf elasticsearch-5.6.3
cd elasticsearch-5.6.3
./bin/elasticsearch

執行之前就得修改配置檔案:vim config/elasticsearch.yml

vim config/elasticsearch.yml 

修改方法參考如下:

cluster.name: elk_test.cluster
node.name: node-01
node.master: true
node.data: true
network.host: 192.168.0.153
http.port: 9200
discovery.zen.ping.unicast.hosts: ["192.168.0.153","192.168.0.154","192.168.0.155"]
#discovery.zen.ping.multicast.enabled: true
discovery.zen.minimum_master_nodes: 2

http.cors.enabled: true
http.cors.allow-origin: "*"

解釋說明:
bootstrap.memory_lock: false
bootstrap.system_call_filter: false 一看就知道是關於內用訪問的方面的配置

cluster.name 叢集名字,同一個叢集中使用相同名字,單機就隨意
node.name: node-01 節點名字
node.master: 是否為叢集的master機器
node.data: true 是否作為資料節點
network.host: 192.168.0.153 這個不用自然是配置ip地址的
http.port: 9200 埠號,不配置的話預設9200
discovery.zen.ping.unicast.hosts: [“192.168.0.153”,”192.168.0.154”,”192.168.0.155”] 這個就是配置叢集的時候要用的到了,[]中填上叢集中其他叢集的ip的地址,如果是master的話請把所有salve的機器地址填上
discovery.zen.minimum_master_nodes: 2 關於這個值配置多少合適的話大家去搜一下,自己權衡一下叢集,這裡我用了3臺機器模擬叢集,所以填上2。
http.cors.enabled: true 這個引數的設定和下面一個配置就關於ip的訪問策略了,如果你發現其他ip地址訪問不了就有可以這引數沒有配置
http.cors.allow-origin: “*”

如果你碰到錯誤不要慌下面有解決方法:
- 1、max file descriptor
[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]
解決方法,請用root許可權修改,修改完記得重啟elasticsearch和使用配置引數在環境裡面生效(重新登入使用者):(如果還有錯誤請把數字再設定大一點)

vi /etc/security/limits.conf 

*  soft  nofile  65536

*  hard  nofile  131072

*  soft  nproc  2048

*  hard  nproc 4096
  • 2、max number of threads
    max number of threads [1024] for user [user] is too low, increase to at least [2048]
    解決方法: (* 表示對所有使用者有效)
vi /etc/security/limits.d/90-nproc.conf 
#修改內容如下
*  soft  nproc  1024
  • 3、在elasticsearch.yml中配置bootstrap.system_call_filter為false,注意要在Memory下面:
    bootstrap.memory_lock: false
    bootstrap.system_call_filter: false

  • 4、錯誤:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
    臨時設定:sudo sysctl -w vm.max_map_count=262144
    永久修改:
    修改/etc/sysctl.conf 檔案,新增 “vm.max_map_count”設定
    並執行:sysctl -p

二、叢集安裝、
這裡使用三臺機器模擬ElasticSearch叢集,這三臺的ip地址是如下:

"192.168.0.153"
"192.168.0.154"
"192.168.0.155"

上面我已近在192.168.0.153機器安裝了好了ElasticSearch,剩下的就是分別按照上面的方法在154和155這兩臺機器上安裝好ElasticSearch,然後只需要把配置檔案elasticsearch.yml略作修改即可,讀者自動對比上面

192.168.0.154的配置

cluster.name: elk_test.cluster
node.name: node-04

node.master: true
node.data: true

network.host: 0.0.0.0
http.port: 9200

discovery.zen.ping.unicast.hosts: ["192.168.0.153"]
#discovery.zen.ping.multicast.enabled: true

http.cors.enabled: true
http.cors.allow-origin: "*"

bootstrap.memory_lock: false
bootstrap.system_call_filter: false

192.168.0.155的配置

cluster.name: elk_test.cluster
node.name: node-05

node.master: false
node.data: true

network.host: 0.0.0.0
http.port: 9200

discovery.zen.ping.unicast.hosts: ["192.168.0.153"]
#discovery.zen.ping.multicast.enabled: true

http.cors.enabled: true
http.cors.allow-origin: "*"

bootstrap.memory_lock: false
bootstrap.system_call_filter: false

補充:修改的地方大家對比一下就很清楚了,如果配置更多臺機器,上面方法照搬即可。

三、head外掛的安裝

說明:5.6版本好像不能再用/bin/plugin -install mobz/elasticsearch-head安裝了,步驟好像有點複雜,不過不打緊,按照下面安裝步驟即可:
- 1、下載head外掛
在github上 https://github.com/mobz/elasticsearch-head/archive/master.zip下載外掛,命令如下:

wget https://github.com/mobz/elasticsearch-head/archive/master.zip
unzip
cd elasticsearch-head-master
curl -sL https://rpm.nodesource.com/setup_8.x | bash -
yum install -y nodejs

原始碼安裝方法如下:

yum -y install gcc make gcc-c++ openssl-devel wget
下載原始碼及解壓:
wget http://nodejs.org/dist/v0.10.26/node-v0.10.26.tar.gz
tar -zvxf node-v0.10.26.tar.gz
編譯及安裝:
cd node-v0.10.26
make && make install
驗證是否安裝配置成功:
node -v
  • 3、安裝grunt
    grunt是一個很方便的構建工具,可以進行打包壓縮、測試、執行等等的工作,5.6裡的head外掛就是通過grunt啟動的。因此需要安裝一下grunt:
cd elasticsearch-head-master
npm install -g grunt-cli  //執行後會生成node_modules資料夾
npm install

5.0以上,elasticsearch-head 不能放在elasticsearch的 plugins、modules 目錄下,否則elasticsearch啟動會報錯

修改vim Gruntfile.js檔案:增加hostname屬性,設定為*

connect: {
    server: {
        options: {
            port: 9100,
            hostname: '*',
            base: '.',
            keepalive: true
        }
    }
}

修改 vim _site/app.js 檔案:修改head的連線地址:
this.base_uri = this.config.base_uri || this.prefs.get(“app-base_uri”) || “http://localhost:9200“;
修改成ElasticSearch的機器地址
this.base_uri = this.config.base_uri || this.prefs.get(“app-base_uri”) || “http://192.168.0.153:9200“;

修改完成你就可以啟動head外掛了:在 elasticsearch-head-master下啟動服務

cd  elasticsearch-head-master
grunt server &  #後臺啟動

訪問地址:http://192.168.0.153:9100
如果你在瀏覽器中訪問不了http://192.168.0.153:9100/請檢查防火牆是否關閉。
下面看一我的叢集資訊:
這裡寫圖片描述

相關文章