1. 程式人生 > >elasticsearch 6.x 叢集佈署與head、Kibana和IK分詞外掛的配置

elasticsearch 6.x 叢集佈署與head、Kibana和IK分詞外掛的配置

  首先準備三臺linux伺服器,在三臺伺服器上安裝ElasticSearch.6.3,及其head、Kibana和IK分詞外掛,外掛只需安裝在其中一臺即可。elasticsearch 6.x以後變化有點的,head和Kibana,不能放在elasticsearch的 plugins、modules 目錄下
也不能直接使用使用 elasticsearch-plugin install安裝了。
  第一步,首先調整linux系統的相關引數設定
  1、修改最大檔案數和鎖記憶體限制,開啟檔案 /etc/security/limits.conf 增加或修改如下的四個選項(es代表啟動elasticsearch叢集的使用者)
    es soft nofile 262144
    es hard nofile 262144
    es soft memlock unlimited
    es hard memlock unlimited
  2、更改linux一個程序能擁有的最多的記憶體區域要求,新增或修改如下(swappiness禁用交換區) /etc/sysctl.conf,修改完後,執行 sysctl -p
    vm.max_map_count = 262144
    vm.swappiness = 1
  3、修改使用者最大執行緒數 /etc/security/limits.d/90-nproc.conf
    * soft nproc unlimited
    root soft nproc unlimited

  第二步,建立一個新的使用者,因為elasticsearch不支援root使用者啟動,例如建立的使用者叫es,對命令不熟的自己查下,非常簡單,
  第三步,安裝java8.3以上版本,其實安裝最新版就可以了,這一步不再講解,不會裝的網上資料多得是
  第四步,下載https://www.elastic.co/downloads/elasticsearch 並解壓,進入到解壓目錄,/opt/elasticsearch/elasticsearch-6.3.1,需要配置的檔案在config下面,有兩個jvm.options 和elasticsearch.yml
  1、修改jvm.options,主要修改下-Xms4g 和 -Xmx4g 這兩個引數就可以了,這個檔案就是jvm的配置。
  2、修改elasticsearch.yml ,修改後的配置如下,最主要的就是cluster.name引數,各臺機器要設定一樣,其它的引數自己支官網慢慢看。
    

#各臺必須設定成一樣,elasticsearch就是靠這個來識別叢集的
cluster.name: es    
#每個節點起一個名字,也可以不設定,採用預設
node.name: es1
transport.tcp.port: 9300
http.port: 9200
#下面兩行就是對應的資料和日誌的目錄,最好提前建好
path.data: /opt/elasticsearch/data
path.logs: /opt/elasticsearch/logs
node.master: true
node.data: true
http.enabled: true
bootstrap.mlockall: true
discovery.zen.ping.unicast.hosts:
["10.202.259.2","10.202.259.3","10.202.259.4"] discovery.zen.minimum_master_nodes: 1 http.cors.enabled: true http.cors.allow-origin: "*" #以下centos6需設為false,因為Centos6不支援SecComp bootstrap.memory_lock: false bootstrap.system_call_filter: false

  第五步,啟動叢集,直接 ./bin/elasticsearch 
  第六步,安裝head外掛
  1、安裝nodejs
    1)、官網下載連結:https://nodejs.org/en/download/ 這裡下載的是node-v8.11.3-linux-x64.tar.xz,
    2)、解壓 tar -xvf node-v8.11.3-linux-x64.tar.xz
    3)、設定環境變理,vi /etc/profile,增加或修改如下兩行
    export NODEJS_HOME=/opt/nodejs/node-v8.11.3-linux-x64
    export PATH=$PATH:$NODEJS_HOME/bin
  2、安裝grunt,grunt是一個方便的構建工具,可以用來打包壓縮、測試、執行等等的工作,確認目前在elasticsearch-head-master 目錄下

    1)、執行  npm install -g grunt-cli ,如查安裝不成功,把映象換成國內的,執行
    npm install -g grunt-cli –registry=https://registry.npm.taobao.org 
    2)、然後執行,npm install –registry=https://registry.npm.taobao.org
    如查出現error [email protected] install: node install.js錯誤,執下如下命令後,
    npm install [email protected] –ignore-scripts
    3)、最後執行 grunt server (npm run start & 後臺執行)
    4)、現在可以開啟http://192.168.10.173:9100/ 
  head安裝成功
  
  第七步,安裝kibana 
  1、到官網下載 https://www.elastic.co/cn/downloads/kibana 版本要和es版本相同。這裡下載的是 kibana-6.3.1-linux-x86_64.tar.gz,
  2、解壓 tar -xzvf kibana-6.3.1-linux-x86_64.tar.gz  ,cd kibana-6.3.1-linux-x86_64
  3、配置,config/kibana.yml 裡面有很多引數自己慢慢研究

   elasticsearch.url: "http://192.168.10.173:9200"      # kibana監控哪臺es機器
   server.host: "192.168.10.173"                # kibana執行在哪臺機器

  4、執行,.nohup ./bin/kibana &

  第八步,配置ik分詞,
  1、到https://github.com/medcl/elasticsearch-analysis-ik/releases 下載對應的檔案,這裡是elasticsearch-analysis-ik-6.3.1.zip
  2、在plugins檔案件新建目錄,mkdir analysis-ik,把elasticsearch-analysis-ik-6.3.1.zip複製到這個目錄下,解壓,
  unzip elasticsearch-analysis-ik-6.3.1.zip,然後刪除elasticsearch-analysis-ik-6.3.1.zip這個原始檔案,
  3、開啟elasticsearch-6.3.1/config下的jvm.options,在最後面加上一行:
  -Djava.security.policy=/opt/elasticsearch/elasticsearch-6.3.1/plugins/analysis-ik/plugin-security.policy
  儲存,重啟elasticsearch即可