前言
目的:在单服务器上部署多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: