一、安装前准备


(1)安装JDK环境


首先到Oracle官网下载jdk。下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html。


Elasticsearch 7.2支持JDK版本:1.8、11、12。这里使用了JDK12。具体支持情况:https://www.elastic.co/cn/support/matrix#matrix_jvm。


下载JDK压缩包,通过SFTP客户端(WinSCP)上传到CentOS7相应的目录下。


然后解压JDK,解压命令为:


#tar -zxvf jdk-12.0.2_linux-x64_bin.tar.gz。


为了使后续使用方便将将压后的目录重命名为jdk,重命名的命令为


#mv jdk-12.0.2/  jdk


(2)配置环境变量


输入命令:


#vi /etc/profile


在文件尾部加入如下内容:


export JAVA_HOME=/opt/jdk


export JRE_HOME=/$JAVA_HOME/jre


export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar


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


修改完成后,保存文件,退出。


通过source命令重新加载/etc/profile文件,使得修改后的内容生效,命令如下。


# source /etc/profile


输入java –version查看jdk版本,输出成功,这代表安装成功。


二、Elasticsearch安装配置


(1)Elasticsearch安装


Elasticsearch的下载地址为https://www.elastic.co/cn/downloads/elasticsearch,选择Linux版本,然后上传至CentOS服务器,进入压缩文件所在的目录,这里选择放在了/opt目录下,进入/opt目录,安装解压命令如下。


# tar -zxvf elasticsearch-7.2.0-linux-86_64.tar.gz


同样为了后续使用方面将解压后的目录文件重命名为elasticsearch,重命名命令如下。


# mv elasticsearch-7.2.0 elasticsearch


(2)修改系统参数


修改系统参数的目的是确保系统有足够的资源启动Elasticsearch。


a)设置内核参数


# vi /etc/sysctl.conf


 增加以下参数


vm.max_map_count=655360


b)执行以下命令确保配置生效。


# sysctl -p


c)设置资源参数


# vi /etc/security/limits.conf


# 修改如下


* soft nofile 65536


* hard nofile 131072


* soft nproc 65536


* hard nproc 131072


d)设置用户资源参数


# vi /etc/security/limits.d/20-nproc.conf


# 设置elk用户参数


elk    soft    nproc     65536


(3)添加启动用户,设置权限


因为启动Elasticsearch5.0版本及以上需要使用非root用户,需要新建一个用户来启动Elasticsearch,命令如下所示。


useradd elk         #创建用户elk


groupadd elk        #创建组elk


useradd elk -g elk  #将用户添加到组


mkdir  -pv  /opt/elk/{data,logs} # 创建数据和日志目录


# 修改文件所有者


chown -R elk:elk /opt/elk/


chown -R elk:elk /opt/elasticsearch/                                      


(4)Elasticsearch配置


修改Elasticsearch的配置文件/opt/elasticsearch/elasticsearch.yml。以下配置仅供参考。



注意,设置参数的时候:后面要有空格!


(5)使用elk用户启动Elasticsearch服务,命令如下所示。


# /opt/elasticsearch/bin/elasticsearch


如果要让Elasticsearch服务一直运行需要在上面命令后加&符号如下所示。


# /opt/elasticsearch/bin/elasticsearch &


关闭Elasticsearch服务需要查看一下这个服务所占用的进程号,然后使用kill命令杀死这个进程。


然后可以通过浏览器访问到Elasticsearch,如下图所示,通过浏览器访问时需要将CentOS防火墙关闭或者在防火墙开启9200端口。




(6)集群配置


只需配置的cluster.name保持一致,elasticsearch节点即可自动形成集群。


另外添加集群内节点的所有IP,便于发现集群内的节点,如下:


discovery.seed_hosts:[“10.10.2.221”,“10.10.2.222“]


cluster_initial_master_nodes:[“10.10.2.221”,“10.10.2.222“]


如果该节点可以作为主节点:


node.master:true


否则 


node.master:false


如果该节点作为数据采集节点,配置


node.data:false


否则


node.data:true


(7)常用操作


查看索引 curl '10.10.2.221:9200/_cat/indices?v'


删除索引 curl -XDELETE 10.10.2.221:9200/apache*