Linux环境下Elasticsearch集群和Elasticsearch-head的安装及配置

1. JDK的安装及配置

由于Elasticsearch依赖于JDK,且本次演示的是Elasticsearch7.4.0的集群配置,所以需要JDK11的支持。JDK的环境配置有需要请移步:Linux下JDK安装及配置

2. Elasticsearch集群的搭建和Elasticsearch-head的安装及配置

2.1 下载Elasticsearch并上传到服务器

下载地址:华为资源网站
选择 版本为 7.4.0 的进行下载
Linux环境下Elasticsearch集群和Elasticsearch-head的安装及配置_第1张图片
放到目录下 :/zdrl/elasticsearch/

输入指令进行解压:

tar -zxvf elasticsearch-7.4.0-linux-x86_64.tar.gz

在这里插入图片描述

2.2 解压并配置三个节点的Elasticsearch集群

在/zdrl/elasticsearch 目录下输入指令

mkdir elasticsearch-cluster
mv elasticsearch-7.4.0 elasticsearch-cluster/elasticsearch9201

Linux环境下Elasticsearch集群和Elasticsearch-head的安装及配置_第2张图片

2.2.1 配置第一个es节点:node-9201

2.2.1.1 配置jvm.options
cd elasticsearch9201/config
vim jvm.options

修改jvm的启动参数:
-Xms150m
-Xmx150m

Linux环境下Elasticsearch集群和Elasticsearch-head的安装及配置_第3张图片

2.2.1.2 配置 elasticsearch.yml
#集群名称
cluster.name: es-cluster
#节点名称
node.name: node-9201
#端口
http.port: 9201
#内部节点之间沟通端口
transport.tcp.port: 9301
#是不是有资格主节点
node.master: true
#是否存储数据
node.data: true
#ip地址
network.host: 0.0.0.0
#es7.x 之后新增的配置,节点发现
discovery.seed_hosts: ["172.16.86.142:9301", "172.16.86.142:9302", "172.16.86.142:9303"]
#es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["node-9201", "node-9202", "node-9203"] 
#数据存储路径
path.data: /zdrl/elasticsearch/elasticsearch-cluster/data/data9201
#日志存储路径
path.logs: /zdrl/elasticsearch/elasticsearch-cluster/logs/logs9201

由于配置了 数据存储路径 和 日志存储路径,所以在对应的位置先创建好
Linux环境下Elasticsearch集群和Elasticsearch-head的安装及配置_第4张图片

2.2.1.3 安装中文分词器ik

进入 /zdrl/elascticsearch/elasticsearch-cluster/elasticsearch9201/bin 目录输入如下指令:

./elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.4.0/elasticsearch-analysis-ik-7.4.0.zip

在这里插入图片描述
等待下载
下载完成后会提示输入y/N 来决定是否安装
输入 y 即可以完成安装,安装完成可在 elasticsearch根目录的plugin目录下查看插件
Linux环境下Elasticsearch集群和Elasticsearch-head的安装及配置_第5张图片

2.2.2 配置第二个es节点:node-9202

2.2.2.1 直接复制第一个es文件夹

Linux环境下Elasticsearch集群和Elasticsearch-head的安装及配置_第6张图片

2.2.2.2 修改 elasticsearch.yml 文件
#集群名称
cluster.name: es-cluster
#节点名称
node.name: node-9202
#端口
http.port: 9202
#内部节点之间沟通端口
transport.tcp.port: 9302
#是不是有资格主节点
node.master: true
#是否存储数据
node.data: true
#ip地址
network.host: 0.0.0.0
#es7.x 之后新增的配置,节点发现
discovery.seed_hosts: ["172.16.86.142:9301", "172.16.86.142:9302", "172.16.86.142:9303"]
#es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["node-9201", "node-9202", "node-9203"]
#数据存储路径
path.data: /zdrl/elasticsearch/elasticsearch-cluster/data/data9202
#日志存储路径
path.logs: /zdrl/elasticsearch/elasticsearch-cluster/logs/logs9202

2.2.3 配置第三个es节点:node-9203

2.2.3.1 直接复制第一个es文件夹

Linux环境下Elasticsearch集群和Elasticsearch-head的安装及配置_第7张图片

2.2.3.2 修改 elasticsearch.yml 文件
#集群名称
cluster.name: es-cluster
#节点名称
node.name: node-9203
#端口
http.port: 9203
#内部节点之间沟通端口
transport.tcp.port: 9303
#是不是有资格主节点
node.master: true
#是否存储数据
node.data: true
#ip地址
network.host: 0.0.0.0
#es7.x 之后新增的配置,节点发现
discovery.seed_hosts: ["172.16.86.142:9301", "172.16.86.142:9302", "172.16.86.142:9303"]
#es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["node-9201", "node-9202", "node-9203"]
#数据存储路径
path.data: /zdrl/elasticsearch/elasticsearch-cluster/data/data9203
#日志存储路径
path.logs: /zdrl/elasticsearch/elasticsearch-cluster/logs/logs9203

2.3 启动es集群并验证

2.3.1 创建esuser用户用于启动elasticsearch

创建 es 分组

groupadd es

创建 esuser 用户

useradd esuser

在这里插入图片描述

2.3.2 分配权限给esuser

chgrp -R esuser elasticsearch9201
chown -R esuser elasticsearch9201
chgrp -R esuser elasticsearch9202
chown -R esuser elasticsearch9202
chgrp -R esuser elasticsearch9203
chown -R esuser elasticsearch9203
chgrp -R esuser data
chown -R esuser data
chgrp -R esuser logs
chown -R esuser logs

Linux环境下Elasticsearch集群和Elasticsearch-head的安装及配置_第8张图片

2.3.3 切换esuser并且启动elasticsearch

切换 esuser 用户

su esuser

在 /zdrl/elasticsearch/elasticsearch-cluster 目录下输入指令:-d 表示在后台运行

./elasticsearch9201/bin/elasticsearch -d
./elasticsearch9202/bin/elasticsearch -d
./elasticsearch9203/bin/elasticsearch -d

查看进程:ps -ef|grep elasticsearch
Linux环境下Elasticsearch集群和Elasticsearch-head的安装及配置_第9张图片

2.3.4 验证启动结果

由于是我自己的云服务器,比较辣鸡,起了三个es发现快宕机了,所以把node-9203节点的给停掉了。

浏览器:http://120.77.177.194:9201/
Linux环境下Elasticsearch集群和Elasticsearch-head的安装及配置_第10张图片
浏览器:http://120.77.177.194:9202/
Linux环境下Elasticsearch集群和Elasticsearch-head的安装及配置_第11张图片

2.4 下载Elasticsearch-head并配置

2.4.1 安装nodejs

elasticsearch-head依赖于nodejs,所以需要先安装nodejs
下载地址:nodejs官网
下载完成需要手动上传到服务器上,也可以直接复制下面指令进行下载

wget -c https://nodejs.org/dist/v12.16.2/node-v12.16.2-linux-x64.tar.xz

下载到 /zdrl/nodejs 目录中
在这里插入图片描述
进行解压:

tar -xvf node-v12.16.2-linux-x64.tar.xz

在这里插入图片描述
更改名称为 nodejs12
Linux环境下Elasticsearch集群和Elasticsearch-head的安装及配置_第12张图片

配置nodejs环境变量

export NODE_HOME=/zdrl/nodejs/nodejs12
export PATH=$PATH:$NODE_HOME/bin
export NODE_PATH=$NODE_HOME/lib/node_modules

Linux环境下Elasticsearch集群和Elasticsearch-head的安装及配置_第13张图片
让配置生效:

source /etc/profile

在这里插入图片描述
验证:

node -v
npm -v

在这里插入图片描述

2.4.2 下载Elasticsearch-head并配置

2.4.2.1 下载Elasticsearch-head

head插件其实理解为一个项目,具有前端页面的项目,可以选择手动下载并上传到云服务器,链接如下:elasticsearch-head github下载地址

也可以在服务器上安装 git ,使用 git 指令进行拉取

安装 git

yum install -y git

检查

git --version

在这里插入图片描述
拉取项目

在 /zdrl/elasticsearch/elasticsearch-head 目录中拉取

git clone https://github.com/mobz/elasticsearch-head.git

解压

unzip elasticsearch-head-master.zip

解压之后得到的目录结构
Linux环境下Elasticsearch集群和Elasticsearch-head的安装及配置_第14张图片

2.4.2.2 安装

进入 elasticsearch-head 项目的根目录输入指令进行安装操作
即 /zdrl/elasticsearch/elasticsearch-head/elasticsearch-head-master 目录下 进行安装

npm install

如果报错
Linux环境下Elasticsearch集群和Elasticsearch-head的安装及配置_第15张图片
则使用下面指令

npm install -g

Linux环境下Elasticsearch集群和Elasticsearch-head的安装及配置_第16张图片

2.4.2.3 配置Elasticsearch,使得es-head插件能够远程访问es

修改 elasticsearch.yml 文件
由于elasticsearch-head插件远程访问可能存在跨域的问题,所以需要允许跨域访问。
下面开始依次修改各个节点的 elasticsearch.yml 文件

在 /zdrl/elasticsearch/elasticsearch-cluster 目录下:
以 node-9201 节点为例,其他照搬即可

vim elasticsearch9201/config/elasticsearch.yml

加入以下配置

#配置开启跨域
http.cors.enabled: true
#配置允许任何域名访问
http.cors.allow-origin: "*"

2.4.3 验证

重启es

如果前面 启动的 elasticsearch 进程没有停止,重启可能会报端口占用,建议先停止进程再启动

ps -ef|grep elasticsearch

查看到进程并找到对应的 pid,使用指令进行终结

kill -9 pid

启动 elasticsearch
在 /zdrl/elasticsearch/elasticsearch-cluster 目录下

./elasticsearch9201/bin/elasticsearch -d
./elasticsearch9202/bin/elasticsearch -d

Linux环境下Elasticsearch集群和Elasticsearch-head的安装及配置_第17张图片
启动elasticsearch-head

在 /zdrl/elasticsearch/elasticsearch-head/elasticsearch-head-master 目录下执行指令:

nohup npm run start &

head插件默认是以 9100 端口其中,查看端口占用
Linux环境下Elasticsearch集群和Elasticsearch-head的安装及配置_第18张图片
浏览器访问
输入:http://ip:9100
Linux环境下Elasticsearch集群和Elasticsearch-head的安装及配置_第19张图片

可以看到有两个集群节点,至此 Elasticsearch + Elasticsearch-head 搭建完成。

你可能感兴趣的:(Elasticsearch,elasticsearch,es-head)