美文网首页
一文学会ES集群安装

一文学会ES集群安装

作者: sknfie | 来源:发表于2021-06-20 11:54 被阅读0次

概述

本文主要以elasticsearch-7.10.2-linuxx86_64版本为例,学习ES集群安装。

安装部署

1.前置准备

  • 修改文件限制
vi /etc/security/limits.conf
* hard nofile 65536
* soft nproc 2048
* hard nproc 4096
* soft memlock unlimited
* hard memlock unlimited

reboot
  • 调整进程数
vi /etc/security/limits.d/20-nproc.conf
# Default limit for number of user's processes to prevent
# accidental fork bombs.
# See rhbz #432903 for reasoning.

*          soft    nproc     4096
root       soft    nproc     unlimited
  • 调整虚拟机内存&最大并发连接
vi /etc/sysctl.conf
vm.max_map_count=655360
fs.file-max=655360

sysctl -p

若之前未有过ElasticSearch的安装,在安装集群版之前,建议先了解一下单机版创建。集群版无非就是拷贝了几套单机版的安装包,配置稍加改


集群配置
  • 集群环境准备


    集群节点

2.下载安装包

官方下载地址: https://www.elastic.co/cn/downloads/elasticsearch
以7.10.2为例:
命令下载

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.10.2-linuxx86_64.tar.gz

3. 创建集群目录

每一台服务器都需要设置。

#创建集群存储主目 录
mkdir /soft/elk
#解压到集群目录下
tar -xzvf elasticsearch-7.10.2-linux-x86_64.tar.gz -C /soft/elk
#切换到目 录下
cd /soft/elk
#修改解压后的文件名为 elasticsearch, (为了方便区分根据节点名)
ln -s elasticsearch-7.10.2/ elasticsearch
# 创建数据存储目录
mkdir -p /soft/elk/data
# 创建日 志存储目录
mkdir -p /soft/elk/logs

注:这里为了区分是es的多个节点:
第1台的目录文件夹为 elasticsearch-a
第2台的目录文件夹为 elasticsearch-b
第3台的目录文件夹为 elasticsearch-c

注:安装包不用下载多次可以使用SCP命令传输到另外两台示例:

scp -r elasticsearch-7.4.0-linux-x86_64.tar.gz root@192.168.2.192:/soft/elk

4. 节点node-a配置

进入到es安装目录下的config文件夹中,修改elasticsearch.yml 文件

#配置es的集群名称,同一个集群中的多个节点使用相同的标识
#如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群。
cluster.name: my-es-cluster
#节点名称
node.name: node-a
#是不是有资格竞选主节点
node.master: true
#是否存储数据
node.data: true
#最大集群节点数
node.max_local_storage_nodes: 3
#数据存储路径
path.data: /soft/elk/data
#日志存储路径
path.logs: /soft/elk/logs
#节点所绑定的IP地址,并且该节点会被通知到集群中的其他节点
#通过指定相同网段的其他节点会加入该集群中0.0.0.0任意IP都可以访问elasticsearch
network.host: 192.168.2.191
#对外提供服务的http端口,默认为9200
http.port: 9200
#内部节点之间沟通端口
transport.tcp.port: 9300
#es7.x之后新增的配置,写入候选主节点的设备地址,在开启服务后可以被选为主节点
discovery.seed_hosts: ["192.168.2.191:9301","192.168.2.192:9301","192.168.2.193:9301"]
#es7.x之后新增的配置,初始化一个新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["node-a","node-b","node-c"]
#ES默认开启了内存地址锁定,为了避免内存交换提高性能。但是Centos6不支持SecComp功能,启动会报错,所以需要将
其设置为false
bootstrap.memory_lock: false
#是否支持跨域
http.cors.enabled: true
#*表示支持所有域名
http.cors.allow-origin: "*"

5. 节点node-b配置

进入到es安装目录下的config文件夹中,修改elasticsearch.yml 文件

#配置es的集群名称,同一个集群中的多个节点使用相同的标识
#如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群。
cluster.name: my-es-cluster
#节点名称
node.name: node-b
#是不是有资格竞选主节点
node.master: true
#是否存储数据
node.data: true
#最大集群节点数
node.max_local_storage_nodes: 3
#数据存储路径
path.data: /soft/elk/data
#日志存储路径
path.logs: /soft/elk/logs
#节点所绑定的IP地址,并且该节点会被通知到集群中的其他节点
#通过指定相同网段的其他节点会加入该集群中0.0.0.0任意IP都可以访问elasticsearch
network.host: 192.168.2.192
#对外提供服务的http端口,默认为9200
http.port: 9201
#内部节点之间沟通端口
transport.tcp.port: 9301
#es7.x之后新增的配置,写入候选主节点的设备地址,在开启服务后可以被选为主节点
discovery.seed_hosts: ["192.168.2.191:9301","192.168.2.192:9301","192.168.2.193:9301"]
#es7.x之后新增的配置,初始化一个新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["node-a","node-b","node-c"]
#ES默认开启了内存地址锁定,为了避免内存交换提高性能。但是Centos6不支持SecComp功能,启动会报错,所以需要将其设置为false
bootstrap.memory_lock: false
#是否支持跨域
http.cors.enabled: true
#*表示支持所有域名
http.cors.allow-origin: "*"

6. 节点node-c配置

进入到es安装目录下的config文件夹中,修改elasticsearch.yml 文件

#配置es的集群名称,同一个集群中的多个节点使用相同的标识
#如果在同一网段下有多个集群,就可以用这个属性来区分不同的集群。
cluster.name: my-es-cluster
#节点名称
node.name: node-c
#是不是有资格竞选主节点
node.master: true
#是否存储数据
node.data: true
#最大集群节点数
node.max_local_storage_nodes: 3
#数据存储路径
path.data: /soft/elk/data
#日志存储路径
path.logs: /soft/elk/logs
#节点所绑定的IP地址,并且该节点会被通知到集群中的其他节点
#通过指定相同网段的其他节点会加入该集群中0.0.0.0任意IP都可以访问elasticsearch
network.host: 192.168.2.193
#对外提供服务的http端口,默认为9200
http.port: 9200
#内部节点之间沟通端口
transport.tcp.port: 9300
#es7.x之后新增的配置,写入候选主节点的设备地址,在开启服务后可以被选为主节点
discovery.seed_hosts: ["192.168.2.191:9301","192.168.2.192:9301","192.168.2.193:9301"]
#es7.x之后新增的配置,初始化一个新的集群时需要此配置来选举master
cluster.initial_master_nodes: ["node-a","node-b","node-c"]
#ES默认开启了内存地址锁定,为了避免内存交换提高性能。但是Centos6不支持SecComp功能,启动会报错,所以需要将其设置为false
bootstrap.memory_lock: false
#是否支持跨域
http.cors.enabled: true
#*表示支持所有域名
http.cors.allow-origin: "*"

7. 启动用户与赋权

由于ES限制不能使用root 用户启动,这里与单机版安装时使用了相同的elasticsearch用户创建用户: elasticsearch

adduser elk

设置用户密码,需要输入两次

passwd elk

注:由于是伪集群,都在同一台服务器,所以3个节点目录都需要赋权,多台服务器的话,都需要操作

chown -R elk:elk /soft/elk/elasticsearch
chown -R elk:elk /soft/elk/elasticsearch-7.10.2
chown -R elk:elk /soft/elk/data
chown -R elk:elk /soft/elk/logs

8.启动集群环境

启动之前,建议针对实际使用场景,设置合适的JVM内存,详见附录

#切换到用户
su elk
#切换到a节点
cd /soft/elk/elasticsearch/bin
#控制台启动命令
. /elasticsearch
#后台启动命令
#./elasticsearch -d

同启动a节点一致,分别再次启动 b节点、 C节点

注:启动小妙招,先不要着急后台启动,直接使用 ./elasticsearch 启动看一下是否报错。若出现报错,可以到前一篇文章单机版ES搭建中找下,列举出来了常见的几种启动问题。

访问网址:http://192.168.2.191:9200/

{
  "name" : "node-a",
  "cluster_name" : "my-es-cluster",
  "cluster_uuid" : "lUrx9FBDTty_ZqQaWBwZSQ",
  "version" : {
    "number" : "7.10.2",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "747e1cc71def077253878a59143c1f785afa92b9",
    "build_date" : "2021-01-13T00:42:12.435326Z",
    "build_snapshot" : false,
    "lucene_version" : "8.7.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

相关文章

网友评论

      本文标题:一文学会ES集群安装

      本文链接:https://www.haomeiwen.com/subject/csajyltx.html