CentOS 7安装Elasticsearch 7.3.0
一、安装前准备
(1)安装JDK环境
首先到Oracle官网下载jdk。下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html。
openjdk-11.0.1_linux-x64_bin.tar.gz
链接: https://pan.baidu.com/s/1E1MTgTyNFskHbahzBgNfjg 提取码: iutb
然后解压JDK,解压命令为:
#tar -zxvf openjdk-11.0.1_linux-x64_bin.tar.gz
为了使后续使用方便将将压后的目录重命名为jdk,重命名的命令为
#mv jdk-12.0.2/ jdk
(2)配置环境变量
输入命令:
#vi /etc/profile
在文件尾部加入如下内容:
export JAVA_HOME=/usr/local/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目录,安装解压命令如下。
相关资源:elasticsearch-7.3.0-linux-x86_64.tar.gz
链接: https://pan.baidu.com/s/1ROT9ArL93cyWSSiKa-_VZQ 提取码: 7jyg
# tar -zxvf elasticsearch-7.3.0-linux-86_64.tar.gz
(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 test #创建用户test
groupadd test#创建组test
useradd test-g test#将用户添加到组
# 创建数据和日志目录
mkdir -pv /opt/test/data
mkdir -pv /opt/test/logs
# 修改文件所有者
chown -R test:test /opt/test/
chown -R test:test /user/local/elasticsearch-7.3.0/
(4)Elasticsearch配置集群分布式
修改Elasticsearch的配置文件/opt/elasticsearch/elasticsearch.yml。以下配置仅供参考。
network.host: 0.0.0.0
http.port: 9200
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
path.data: /opt/rocky/data
path.logs: /opt/rocky/logs
node.max_local_storage_nodes: 2
discovery.zen.ping.unicast.hosts: ["127.0.0.1"]
cluster.initial_master_nodes: ["node-1"]
http.cors.enabled: true
http.cors.allow-origin: "*"
cluster.name: zhuoyw.com
node.name: node-1
node.master: true
network.host: 0.0.0.0
http.port: 9202
#Memory
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
path.data: /opt/rocky/data1
path.logs: /opt/rocky/logs1
#Discovery
cluster.initial_master_nodes: ["node-2"]
node.max_local_storage_nodes: 2
http.cors.enabled: true
http.cors.allow-origin: "*"
#Node
cluster.name: zhuoyw.com
node.name: node-2
discovery.zen.ping.unicast.hosts: ["127.0.0.1"]
node.master: false
注意,设置参数的时候:后面要有空格!
(5)使用elk用户启动Elasticsearch服务,命令如下所示。
# /user/local/elasticsearch-7.3.0/bin/elasticsearch
如果要让Elasticsearch服务一直运行需要在上面命令后加&符号如下所示。
# /user/local/elasticsearch-7.3.0/elasticsearch/bin/elasticsearch &
关闭Elasticsearch服务需要查看一下这个服务所占用的进程号,然后使用kill命令杀死这个进程。
然后可以通过浏览器访问到Elasticsearch,如下图所示,通过浏览器访问时需要将CentOS防火墙关闭或者在防火墙开启9200端口。