CentOS源码部署系列(六)部署Elasticsearch

[6]部署Elasticsearch

安装前准备

安装JDK
下载地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html
Elasticsearch 7.2支持JDK版本:1.8、11、12。这里使用了JDK1.8。
下载JDK压缩包,通过SFTP客户端(WinSCP)上传到CentOS7相应的目录下。
然后解压JDK,解压命令为:

sudo tar -zxvf jdk-1.8xxx_linux-x64_bin.tar.gz

移到/usr/local/jdk目录下

sudo mv jdk-1.8xxx /usr/local/jdk-1.8xxx

配置环境变量
输入命令:

sudo 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文件,使得修改后的内容生效,命令如下。

sudo source /etc/profile

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

安装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 /usr/local/elasticsearch

(2)修改系统参数

修改系统参数的目的是确保系统有足够的资源启动Elasticsearch。
a)设置内核参数

vi /etc/sysctl.conf

增加以下参数

vm.max_map_count=655360

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

sysctl -p

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

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

useradd elk         #创建用户elk
groupadd elk        #创建组elk
useradd elk -g elk  #将用户添加到组
mkdir  -pv  /usr/local/elasticsearch/elk/{data,logs} # 创建数据和日志目录

修改文件所有者

chown -R elk:elk /usr/local/elasticsearch

(4)Elasticsearch配置

修改Elasticsearch的配置文件/usr/local/elasticsearch/config/elasticsearch.yml。
注意,设置参数的时候:后面要有空格!以下配置仅供参考。


image.png

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

#切换用户
su elk

/usr/local/elasticsearch/bin/elasticsearch

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

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

kill -9 进程pid

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


image.png

(6)集群配置
只需配置的cluster.name保持一致,elasticsearch节点即可自动形成集群。
另外添加集群内节点的所有IP,便于发现集群内的节点,如下:
discovery.seed_hosts:[“192.101.2.221”,“192.101.2.222“]
cluster_initial_master_nodes:[“192.101.2.221”,“192.101.2.222“]
如果该节点可以作为主节点:
node.master:true
否则
node.master:false
如果该节点作为数据采集节点,配置
node.data:false
否则
node.data:true

你可能感兴趣的:(CentOS源码部署系列(六)部署Elasticsearch)