前言
目的:在單服務器上部署多Elasticsearch實例,並可以使用Kibana。下面過程注重流程,僅給出關鍵過程的細節。
ElasticSearch 6.8.4 + Kibana 6.8.4,兩者版本最好匹配不然會出現告警、報錯之類。
下載鏈接:https://www.elastic.co/cn/downloads/past-releases#kibana 。ES、Kibana以及ELK套餐都可以從這個鏈接中下載。
1、部署
1.1 JDK版本
確保JDK版本在1.8及以上,Linux中配置JDK的的方法可以百度。
下面主要針對系統環境中JDK版本為1.7,而要運行ES的情況。
可以在使用root用戶在/etc/profile中先配置JDK 1.8環境變量,如:JAVA8_HOME,然后在bin/elasticsearch腳本中新增如下代碼即可。
1 export JAVA_HOME=$JAVA8_HOME 2 export PATH=$JAVA_HOME/bin:$PATH 3 4 if [ -x "$JAVA_HOME/bin/java" ]; then 5 JAVA="$JAVA8_HOME/bin/java" 6 else 7 JAVA=`which java` 8 fi
1.2 新增用戶
因為elasticsearch不允許使用root用戶運行,所以需要新建用戶,如:es,新建過程可以參考百度。唯一需要注意的是:需要給新建用戶需要擁有對ES、Kibana所在目錄的權限,最直接方法的是將相關目錄的屬主改為新建用戶,可使用命令:chown -R es:elasticsearch /path
1.3 Elasticsearch配置修改
將下載好的elasticsearch的文件解壓夠復制一份到同一目錄下(位置無要求)。修改兩個文件夾中的config/elastisearch.yml文件,分別新增基本信息如下:
1 #假定本機ip為192.168.0.100,安裝兩個ES實例 2 #第一個實例中elasticsearch.yml配置如下: 3 cluster.name: es-cluster 4 node.name: node-1 5 path.data: /data/elasticsearch/data 6 path.logs: /data/elasticsearch/logs 7 network.host: 0.0.0.0 8 http.port: 9200 9 transport.tcp.port: 9300 10 discovery.zen.ping.unicast.hosts: ["192.168.0.100:9300","192.168.0.100:9301"] 11 discovery.zen.minimum_master_nodes: 2 12 node.max_local_storage_nodes: 2 13 14 #第二個實例配置如下: 15 cluster.name: es-cluster 16 node.name: node-2 17 path.data: /data/elasticsearch/data 18 path.logs: /data/elasticsearch/logs 19 network.host: 0.0.0.0 20 http.port: 9201 21 transport.tcp.port: 9301 22 discovery.zen.ping.unicast.hosts: ["192.168.0.100:9300","192.168.0.100:9301"] 23 discovery.zen.minimum_master_nodes: 2 24 node.max_local_storage_nodes: 2
總結一下:在同一個節點中安裝多個elasticsearch實例時,只需將解壓后的文件復制多份,並修改elasticsearch.yml,在配置文件中主要的不同在節點名和端口的變化。其實也可以不需要復制文件在啟動時通過命令指定也可。
此外,還需要注意的是默認JVM太小,以及系統文件數等都需根據需求調大。
1.4 Kibana安裝
將解壓的文件放到和elasticsearch同級目錄(不強制),修改kibana.yml文件,新增如下:
1 server.host: "192.168.0.100" 2 elasticsearch.url: "http:// 192.168.0.100:9200"
2、啟動
2.1 啟動命令
Elasticsearch的啟動是:./bin/elasticsearch
Kibana啟動: ./bin/kibana
關於啟動不能用root用戶,建議在root下使用如下命令:
1 #命令中路徑需要根據實際情況做相應改變 2 3 #啟動es 4 su – es -c “/opt/elasticsearch/bin/elasticsearch -d” 5 #啟動Kibana 6 su – es -c “nohup /opt/kibana/bin/kibana &>>/opt/kibana/logs/kibana.log &”
Elasticsearch和Kibana都要用相同的非root用戶啟動,以避免不可用的情況。
2.2 報錯
在啟動過程中也許會報錯,可以根據分析報錯信息並及時查詢。
Ref: