当前位置: 首页>数据库>正文

有es集群怎样再部署graylog es集群搭建方案

一、准备条件

1、ElasticSearch版本 7.5.1

2、jdk依赖环境已安装

3、三台服务器,其IP地址分别为 192.168.0.100、192.168.0.101、192.168.0.102

二、elasticsearch.yml 配置环境

参数

说明

cluster.name

集群名称,相同名称为一个集群

node.name

节点名称,集群模式下每个节点名称唯一

node.master

当前节点是否可以被选举为master节点,是:true、否:false

node.data

当前节点是否用于存储数据,是:true、否:false

path.data

索引数据存放的位置

path.logs

日志文件存放的位置

bootstrap.memory_lock

需求锁住物理内存,是:true、否:false

bootstrap.system_call_filter

SecComp检测,是:true、否:false

network.host

监听地址,用于访问该es

network.publish_host

可设置成内网ip,用于集群内各机器间通信

http.port

es对外提供的http端口,默认 9200

transport.tcp.port

TCP的默认监听端口,默认 9300

discovery.seed_hosts

es7.x 之后新增的配置,写入候选主节点的设备地址,在开启服务后可以被选为主节点

cluster.initial_master_nodes

es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master

http.cors.enabled

是否支持跨域,是:true,在使用head插件时需要此配置

http.cors.allow-origin

“*” 表示支持所有域名

三、安装步骤

3.1 将下载的elasticsearch-7.5.1解压到指定安装目录,假设先安装的服务器IP地址为192.168.0.100。在config文件夹下配置elastic文件elasticsearch.yml,设置配置如下

#
# ---------------------------------- Cluster -----------------------------------
#设置集群名称,集群内所有节点的名称必须一致
cluster.name: es-cluster
#
# ------------------------------------ Node ------------------------------------
# 设置节点名称,唯一
node.name: node-0
# 当前节点是否会作为主节点
node.master: true
# 当前节点是否用于存储数据
node.data: true

# ----------------------------------- Paths ------------------------------------
# 索引数据存放路径,如果root空间不大,注意不要放在root目录,容易引发运行错误
path.data: /home/elasticsearch-7.5.1/data
#
# 日志文件存放路径
#
path.logs: /home/elasticsearch-7.5.1/log

#
# ----------------------------------- Memory -----------------------------------
#
# 需求锁住物理内存
#
bootstrap.memory_lock: true
# ---------------------------------- Network -----------------------------------
# 监听地址,用于访问该es
network.host: 0.0.0.0

# 对外提供的http端口,默认9200
http.port: 9200
# TCP 监听端口,默认9300
transport.tcp.port: 9304

# --------------------------------- Discovery ----------------------------------
#es7.x 之后新增的配置,写入候选主节点的设备地址,在开启服务后可以被选为主节点
discovery.seed_hosts: ["192.168.0.100:9304", "192.168.0.101:9304", "192.168.0.102:9304"]
# 设置这个参数来保证集群中的节点可以知道其它N个有master资格的节点。默认为1,对于大的集群来说,可以设置大一点的值(2-4)
discovery.zen.minimum_master_nodes: 2

# es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["node-0", "node-1", "node-2"]

# ---------------------------------- Various -----------------------------------
#
# Require explicit names when deleting indices:
#
#action.destructive_requires_name: true
http.cors.enabled: true
http.cors.allow-origin: "*"

3.2  配置es内存

打开文件config/jvm.options, 配置参数,建议设置内存为安装主机内存的一版,但不要超过31g。

-Xms31g
-Xmx31g

3.3 拷贝文件

将192.168.0.100整个目录拷贝到服务器192.168.0.101、192.168.0.102上,修改其配置文件elasticsearch.yml。只需要修改节点名称node.name即可。

192.168.0.101节点elasticsearch.yml配置文件如下:

#
# ---------------------------------- Cluster -----------------------------------
#设置集群名称,集群内所有节点的名称必须一致
cluster.name: es-cluster
#
# ------------------------------------ Node ------------------------------------
# 设置节点名称,唯一
node.name: node-1
# 当前节点是否会作为主节点
node.master: true
# 当前节点是否用于存储数据
node.data: true

# ----------------------------------- Paths ------------------------------------
# 索引数据存放路径,如果root空间不大,注意不要放在root目录,容易引发运行错误
path.data: /home/elasticsearch-7.5.1/data
#
# 日志文件存放路径
#
path.logs: /home/elasticsearch-7.5.1/log

#
# ----------------------------------- Memory -----------------------------------
#
# 需求锁住物理内存
#
bootstrap.memory_lock: true
# ---------------------------------- Network -----------------------------------
# 监听地址,用于访问该es
network.host: 0.0.0.0

# 对外提供的http端口,默认9200
http.port: 9200
# TCP 监听端口,默认9300
transport.tcp.port: 9304

# --------------------------------- Discovery ----------------------------------
#es7.x 之后新增的配置,写入候选主节点的设备地址,在开启服务后可以被选为主节点
discovery.seed_hosts: ["192.168.0.100:9304", "192.168.0.101:9304", "192.168.0.102:9304"]
# 设置这个参数来保证集群中的节点可以知道其它N个有master资格的节点。默认为1,对于大的集群来说,可以设置大一点的值(2-4)
discovery.zen.minimum_master_nodes: 2

# es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["node-0", "node-1", "node-2"]

# ---------------------------------- Various -----------------------------------
#
# Require explicit names when deleting indices:
#
#action.destructive_requires_name: true
http.cors.enabled: true
http.cors.allow-origin: "*"

192.168.0.102 节点elasticsearch.yml配置如下

#
# ---------------------------------- Cluster -----------------------------------
#设置集群名称,集群内所有节点的名称必须一致
cluster.name: es-cluster
#
# ------------------------------------ Node ------------------------------------
# 设置节点名称,唯一
node.name: node-2
# 当前节点是否会作为主节点
node.master: true
# 当前节点是否用于存储数据
node.data: true

# ----------------------------------- Paths ------------------------------------
# 索引数据存放路径,如果root空间不大,注意不要放在root目录,容易引发运行错误
path.data: /home/elasticsearch-7.5.1/data
#
# 日志文件存放路径
#
path.logs: /home/elasticsearch-7.5.1/log

#
# ----------------------------------- Memory -----------------------------------
#
# 需求锁住物理内存
#
bootstrap.memory_lock: true
# ---------------------------------- Network -----------------------------------
# 监听地址,用于访问该es
network.host: 0.0.0.0

# 对外提供的http端口,默认9200
http.port: 9200
# TCP 监听端口,默认9300
transport.tcp.port: 9304

# --------------------------------- Discovery ----------------------------------
#es7.x 之后新增的配置,写入候选主节点的设备地址,在开启服务后可以被选为主节点
discovery.seed_hosts: ["192.168.0.100:9304", "192.168.0.101:9304", "192.168.0.102:9304"]
# 设置这个参数来保证集群中的节点可以知道其它N个有master资格的节点。默认为1,对于大的集群来说,可以设置大一点的值(2-4)
discovery.zen.minimum_master_nodes: 2

# es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["node-0", "node-1", "node-2"]

# ---------------------------------- Various -----------------------------------
#
# Require explicit names when deleting indices:
#
#action.destructive_requires_name: true
http.cors.enabled: true
http.cors.allow-origin: "*"

 

3.3 启动服务

由于elasticsearch不能使用root用户启动,需要创建非root用户

3.3.1 在三台服务器上创建非root用户elasticsearch

groupadd elasticsearch

  useradd -g elasticsearch elasticsearch

3.3.2 改变elasticsearch所有文件夹到当前用户,即elasticsearch用户

# 改变安装目录elasticsearch-7.5.1到用户elasticsearch
sudo chown -R elasticsearch:elasticsearch elasticsearch-7.5.1
# 改变数据目录、日志目录到用户elasticsearch
sudo chown -R elasticsearch:elasticsearch /home/elasticsearch-7.5.1/data
sudo chown -R elasticsearch:elasticsearch /home/elasticsearch-7.5.1/log

 

3.3.3在三台服务器上均执行操作, 切换到elasticsearch用户,启动服务

# 切换用户
su elasticsearch
# 进入bin目录,后台启动elastic
./elasticsearch -d

3.3.4 至此,三台服务器均启动elasticsearch服务。若无报错,浏览器访问http://192.168.0.100:9200/_cat/nodes?v查看节点信息,可以看到集群三个节点均正常启动

四、 安装kibana可视化工具

下载 Kibana 7.5.1 ,解压到服务器 192.168.0.100 目录,编辑配置文件 config/kibana.yml

# 服务端口
sever.port: 5601
# 监听ip
server.hos: "0.0.0.0"
# elasticsearch 查询接口
elasticsearch.hosts: ["http://192.168.0.100:9200"]
# 设置中文
i18n.locale: "zh-CN"

进入bin目录,以root用户后台运行Kibana

nohup ./kibana --allow-root &

重启Kibana 

# 找到kibana对应的进程
netstat -anltp|grep 5601
# kill相关进程
kill -9  进程号

五、一些问题

5.1 启动es节点,访问elasticsearch-head时只显示一个master

解决方案:进到节点2、3的/elasticsearch-7.5.1/data/目录下删除nodes文件,之后重启节点2、3的es进程

5.2  在配置discovery.seed_hosts: [“192.168.100:9304”, “192.168.0.101:9304”, “192.168.0.102:9304”]需要注意如下图所示内容中的空格不能去掉,否则集群搭建不成

有es集群怎样再部署graylog es集群搭建方案,有es集群怎样再部署graylog es集群搭建方案_bootstrap,第1张


https://www.xamrdz.com/database/6h91938679.html

相关文章: