安装Elasticsearch+Kibana【单节点、多ES实例】

kebochina 2020-02-20

前言

目的:在单服务器上部署多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脚本中新增如下代码即可。

export JAVA_HOME=$JAVA8_HOME      
export PATH=$JAVA_HOME/bin:$PATH

if [ -x "$JAVA_HOME/bin/java" ]; then
        JAVA="$JAVA8_HOME/bin/java"
else
        JAVA=`which java`
fi

  1.2 新增用户

  因为elasticsearch不允许使用root用户运行,所以需要新建用户,如:es,新建过程可以参考百度。唯一需要注意的是:需要给新建用户需要拥有对ES、Kibana所在目录的权限,最直接方法的是将相关目录的属主改为新建用户,可使用命令:chown -R es:elasticsearch /path

  1.3 Elasticsearch配置修改

  将下载好的elasticsearch的文件解压够复制一份到同一目录下(位置无要求)。修改两个文件夹中的config/elastisearch.yml文件,分别新增基本信息如下:

#假定本机ip为192.168.0.100,安装两个ES实例
#第一个实例中elasticsearch.yml配置如下:
cluster.name: es-cluster
node.name: node-1
path.data: /data/elasticsearch/data
path.logs: /data/elasticsearch/logs
network.host: 0.0.0.0
http.port: 9200
transport.tcp.port: 9300
discovery.zen.ping.unicast.hosts: ["192.168.0.100:9300","192.168.0.100:9301"]
discovery.zen.minimum_master_nodes: 2
node.max_local_storage_nodes: 2

#第二个实例配置如下:
cluster.name: es-cluster
node.name: node-2
path.data: /data/elasticsearch/data
path.logs: /data/elasticsearch/logs
network.host: 0.0.0.0
http.port: 9201
transport.tcp.port: 9301
discovery.zen.ping.unicast.hosts: ["192.168.0.100:9300","192.168.0.100:9301"]
discovery.zen.minimum_master_nodes: 2
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下使用如下命令:

#命令中路径需要根据实际情况做相应改变

#启动es
su – es -c “/opt/elasticsearch/bin/elasticsearch -d”
#启动Kibana
su – es -c “nohup /opt/kibana/bin/kibana &>>/opt/kibana/logs/kibana.log &”

Elasticsearch和Kibana都要用相同的非root用户启动,以避免不可用的情况。

 2.2 报错

  在启动过程中也许会报错,可以根据分析报错信息并及时查询。

Ref:

[1] https://www.lizenghai.com/archives/39863.html  

相关推荐