天天看点

Linux环境下Elasticsearch集群和Elasticsearch-head的安装及配置1. JDK的安装及配置2. 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. JDK的安装及配置2. Elasticsearch集群的搭建和Elasticsearch-head的安装及配置

放到目录下 :/zdrl/elasticsearch/

输入指令进行解压:

tar -zxvf elasticsearch-7.4.0-linux-x86_64.tar.gz
           
Linux环境下Elasticsearch集群和Elasticsearch-head的安装及配置1. JDK的安装及配置2. Elasticsearch集群的搭建和Elasticsearch-head的安装及配置

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

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

mkdir elasticsearch
mv elasticsearch-7.4.0 elasticsearch-cluster/elasticsearch9201
           
Linux环境下Elasticsearch集群和Elasticsearch-head的安装及配置1. JDK的安装及配置2. Elasticsearch集群的搭建和Elasticsearch-head的安装及配置

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的安装及配置1. JDK的安装及配置2. Elasticsearch集群的搭建和Elasticsearch-head的安装及配置

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的安装及配置1. JDK的安装及配置2. Elasticsearch集群的搭建和Elasticsearch-head的安装及配置

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
           
Linux环境下Elasticsearch集群和Elasticsearch-head的安装及配置1. JDK的安装及配置2. Elasticsearch集群的搭建和Elasticsearch-head的安装及配置

等待下载

下载完成后会提示输入y/N 来决定是否安装

输入 y 即可以完成安装,安装完成可在 elasticsearch根目录的plugin目录下查看插件

Linux环境下Elasticsearch集群和Elasticsearch-head的安装及配置1. JDK的安装及配置2. Elasticsearch集群的搭建和Elasticsearch-head的安装及配置

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

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

Linux环境下Elasticsearch集群和Elasticsearch-head的安装及配置1. JDK的安装及配置2. Elasticsearch集群的搭建和Elasticsearch-head的安装及配置

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的安装及配置1. JDK的安装及配置2. Elasticsearch集群的搭建和Elasticsearch-head的安装及配置

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
           
Linux环境下Elasticsearch集群和Elasticsearch-head的安装及配置1. JDK的安装及配置2. Elasticsearch集群的搭建和Elasticsearch-head的安装及配置

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的安装及配置1. JDK的安装及配置2. Elasticsearch集群的搭建和Elasticsearch-head的安装及配置

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的安装及配置1. JDK的安装及配置2. Elasticsearch集群的搭建和Elasticsearch-head的安装及配置

2.3.4 验证启动结果

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

浏览器:

http://120.77.177.194:9201/

Linux环境下Elasticsearch集群和Elasticsearch-head的安装及配置1. JDK的安装及配置2. Elasticsearch集群的搭建和Elasticsearch-head的安装及配置

浏览器:

http://120.77.177.194:9202/

Linux环境下Elasticsearch集群和Elasticsearch-head的安装及配置1. JDK的安装及配置2. Elasticsearch集群的搭建和Elasticsearch-head的安装及配置

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 目录中

Linux环境下Elasticsearch集群和Elasticsearch-head的安装及配置1. JDK的安装及配置2. Elasticsearch集群的搭建和Elasticsearch-head的安装及配置

进行解压:

tar -xvf node-v12.16.2-linux-x64.tar.xz
           
Linux环境下Elasticsearch集群和Elasticsearch-head的安装及配置1. JDK的安装及配置2. Elasticsearch集群的搭建和Elasticsearch-head的安装及配置

更改名称为 nodejs12

Linux环境下Elasticsearch集群和Elasticsearch-head的安装及配置1. JDK的安装及配置2. Elasticsearch集群的搭建和Elasticsearch-head的安装及配置

配置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的安装及配置1. JDK的安装及配置2. Elasticsearch集群的搭建和Elasticsearch-head的安装及配置

让配置生效:

source /etc/profile
           
Linux环境下Elasticsearch集群和Elasticsearch-head的安装及配置1. JDK的安装及配置2. Elasticsearch集群的搭建和Elasticsearch-head的安装及配置

验证:

node -v
npm -v
           
Linux环境下Elasticsearch集群和Elasticsearch-head的安装及配置1. JDK的安装及配置2. Elasticsearch集群的搭建和Elasticsearch-head的安装及配置

2.4.2 下载Elasticsearch-head并配置

2.4.2.1 下载Elasticsearch-head

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

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

安装 git

检查

git --version
           
Linux环境下Elasticsearch集群和Elasticsearch-head的安装及配置1. JDK的安装及配置2. Elasticsearch集群的搭建和Elasticsearch-head的安装及配置

拉取项目

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

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

解压

unzip elasticsearch-head-master.zip
           

解压之后得到的目录结构

Linux环境下Elasticsearch集群和Elasticsearch-head的安装及配置1. JDK的安装及配置2. Elasticsearch集群的搭建和Elasticsearch-head的安装及配置

2.4.2.2 安装

进入 elasticsearch-head 项目的根目录输入指令进行安装操作

即 /zdrl/elasticsearch/elasticsearch-head/elasticsearch-head-master 目录下 进行安装

如果报错

Linux环境下Elasticsearch集群和Elasticsearch-head的安装及配置1. JDK的安装及配置2. Elasticsearch集群的搭建和Elasticsearch-head的安装及配置

则使用下面指令

npm install -g
           
Linux环境下Elasticsearch集群和Elasticsearch-head的安装及配置1. JDK的安装及配置2. Elasticsearch集群的搭建和Elasticsearch-head的安装及配置

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的安装及配置1. JDK的安装及配置2. Elasticsearch集群的搭建和Elasticsearch-head的安装及配置

启动elasticsearch-head

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

head插件默认是以 9100 端口其中,查看端口占用

Linux环境下Elasticsearch集群和Elasticsearch-head的安装及配置1. JDK的安装及配置2. Elasticsearch集群的搭建和Elasticsearch-head的安装及配置

浏览器访问

输入:http://ip:9100

Linux环境下Elasticsearch集群和Elasticsearch-head的安装及配置1. JDK的安装及配置2. Elasticsearch集群的搭建和Elasticsearch-head的安装及配置

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

继续阅读