一、安装前准备
(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*