elasticsearch集群搭建:详细过程版

集群健康状态表示:

green/yellow/red 状态是一个概览你的集群状态的直观办法

green:所有的主分片和副本分片都已分配。你的集群是 100% 可用的。
yellow:所有的主分片已经分片了,但至少还有一个副本是缺失的。
不会有数据丢失,所以搜索结果依然是完整的。不过,你的高可用性在某种程度上被弱化。
如果 更多的 分片消失,你就会丢数据了。把 yellow 想象成一个需要及时调查的警告。
red:至少一个主分片(以及它的全部副本)都在缺失中。这意味着你在缺少数据:
搜索只能返回部分数据,而分配到这个分片上的写入请求会返回一个异常。

实验环境

主机:server154 ip:192.168.121.154 角色:node154
主机:server155 ip:192.168.121.155 角色:node155
主机:server157 ip:192.168.121.157 角色:node157

下载好源码包以后 其它不多介绍了
直接开始实验

首先三台机器都要有jdk环境
然后都下载elasticsearch安装包

rpm -ivh elasticsearch-6.8.22.rpm

三台都要这样配置

# vim   /etc/security/limits.conf
*   soft    nofile  65535
*   hard    nofile  65535
*   soft    nproc   65535
*   hard    nproc   65535
*   hard    memlock   unlimited
*   soft    memlock   unlimited
# vim /etc/sysctl.conf 

vm.max_map_count = 262144
net.core.somaxconn = 65535
net.ipv4.ip_forward = 1
vm.swappiness = 0

都加载一下配置

sysctl  -p

给每个节点都创建一个elast用户

useradd elast

然后到各台机子的配置文件配置
154机器的配置

vim /etc/elasticsearch/elasticsearch.yml
cluster.name: elk
node.name: node154

#机柜 差异
#node.attr.rack: r1
#
path.data: /usr/share/elasticsearch/data/elasticsearch
path.logs: /usr/share/elasticsearch/logs/elasticsearch

bootstrap.memory_lock: true
#
network.host: 192.168.121.154
http.port: 9200
transport.tcp.port: 9300

node.master: true
node.data: true

discovery.zen.ping.unicast.hosts: ["192.168.121.154", "192.168.121.155","192.168.121.157"]
discovery.zen.minimum_master_nodes: 1

http.cors.enabled: true
http.cors.allow-origin: "*"

155机子的配置

vim /etc/elasticsearch/elasticsearch.yml
cluster.name: elk
node.name: node155

#机柜 差异
#node.attr.rack: r1
#
path.data: /usr/share/elasticsearch/data/elasticsearch
path.logs: /usr/share/elasticsearch/logs/elasticsearch

bootstrap.memory_lock: true
#
network.host: 192.168.121.155
http.port: 9200
transport.tcp.port: 9300

node.master: true
node.data: true

discovery.zen.ping.unicast.hosts: ["192.168.121.154", "192.168.121.155","192.168.121.157"]
discovery.zen.minimum_master_nodes: 1

http.cors.enabled: true
http.cors.allow-origin: "*"

157机子的配置

vim /etc/elasticsearch/elasticsearch.yml
cluster.name: elk
node.name: node157

#机柜 差异
#node.attr.rack: r1
#
path.data: /usr/share/elasticsearch/data/elasticsearch
path.logs: /usr/share/elasticsearch/logs/elasticsearch

bootstrap.memory_lock: true
#
network.host: 192.168.121.157
http.port: 9200
transport.tcp.port: 9300

node.master: true
node.data: true

discovery.zen.ping.unicast.hosts: ["192.168.121.154", "192.168.121.155","192.168.121.157"]
discovery.zen.minimum_master_nodes: 1

http.cors.enabled: true
http.cors.allow-origin: "*"

然后每台创建日志文件存放目录

mkdir /usr/share/elasticsearch/data
mkdir /usr/share/elasticsearch/logs

每台都更改目录的所属用户

chown -R elast:elast /etc/elasticsearch
chown -R elast:elast /usr/share/elasticsearch
chown elast:elast /etc/sysconfig/elasticsearch

然后三台机子都切换到elast用户下,然后运行elasticsearch
记得一定要切换用户,root用户启动会被拒绝的

su - elast
/usr/share/elasticsearch/bin/elasticsearch

也可以运行到后台 我这里是为了看启动信息而已

随便访问其中一台,154,155,157都可以

[root@server154 ~]# curl 192.168.121.154:9200/_cluster/health?pretty
{
  "cluster_name" : "elk",
  "status" : "green",
  "timed_out" : false,
  "number_of_nodes" : 3,
  "number_of_data_nodes" : 3,
  "active_primary_shards" : 10,
  "active_shards" : 20,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 0,
  "delayed_unassigned_shards" : 0,
  "number_of_pending_tasks" : 0,
  "number_of_in_flight_fetch" : 0,
  "task_max_waiting_in_queue_millis" : 0,
  "active_shards_percent_as_number" : 100.0
}

能看到这样的结果就是集群运行起来了,三个节点

感兴趣的可以用kibana或者elasticsearch-header插件安装
来查看信息
这是我之前的实验用到的,所以下载过,而且我的其它博文也有介绍kibana的安装,用那个也是可以的,日志数据采取的话可以用filebeat,那个是轻量级的,用来测试比较方便
在这里插入图片描述
效果就是这样 可以看到我们的集群安装成功了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Elasticsearch集群搭建是指在多台服务器上安装和配置Elasticsearch,使它们能够协同工作以提供更高的可用性和性能。搭建Elasticsearch集群需要考虑多个方面,包括节点配置、数据分片、负载均衡等。具体步骤包括安装Java、安装Elasticsearch、配置节点、配置数据分片、配置负载均衡等。在搭建过程中需要注意一些细节,如节点之间的通信、数据备份和恢复等。 ### 回答2: Elasticsearch是一个开源的分布式搜索和分析引擎。它是基于Lucene库的,并且提供了一个RESTful API对外提供服务,可以在大数据量环境下,快速,准确地检索和分析数据。 Elasticsearch可以集群化部署,以实现数据的高可用和水平扩展。一个Elasticsearch集群通常由多个节点组成,节点可以运行在不同的物理机器或虚拟机器上。节点之间互相通信,协作完成数据的索引和查询。 以下是关于如何搭建Elasticsearch集群的简单介绍: 1. 安装Java环境 Elasticsearch基于Java开发,所以需要安装Java环境。建议使用OpenJDK 8或者Oracle JDK 8。 2. 下载并解压缩ElasticsearchElasticsearch官网下载最新本的软件包,解压缩到您计划使用的目录,例如"/usr/share/elasticsearch"。 3. 配置Elasticsearch节点 在每个节点上设置Elasticsearch节点配置。其中一个最重要的配置是“cluster.name”,每个节点必须将其设置为相同的名称来加入同一个集群。 4. 配置群集发现 群集发现的主要功能是检测新加入或退出群集中的节点。Elasticsearch使用多种发现方法,如多播、单播、EC2自动发现等等。一般地,多播方式不太可靠,建议使用单播等有保障的方式。 5. 启动Elasticsearch节点 在每个节点上启动Elasticsearch进程。通过访问"http://localhost:9200"可以检查Elasticsearch是否已经成功启动。 6. 配置索引和shard副本 Elasticsearch通过将数据分割成多个索引、分片以及副本来实现水平扩展和高可用性。索引和shard参数的设计需要根据实际需求来确定。 7. 安全配置 在集群环境下,安全配置是非常必要的。主要的安全措施包括传输层安全性、节点访问控制、访问审计等等。最好参考官方文档来设置安全措施。 上述步骤仅是一个简单的概述,Elasticsearch集群搭建还需要考虑到具体的应用需求、硬件资源、数据量和查询性能等方面。建议在实际操作中进行详细研究和调整。 ### 回答3: Elasticsearch是当今最流行的搜索引擎之一,它具有高效、稳定和可扩展等优点,并且广泛应用于各种企业应用程序中。部署Elasticsearch集群不仅可以提高搜索速度和搜索质量,而且仍然可以提供可靠性和冗余性,以保障整个集群的高可用性。本文将讨论如何搭建Elasticsearch集群。 搭建Elasticsearch集群的前置条件是已经拥有多台服务器,具备以下要求: 1. 操作系统:Linux、Windows等 2. JDK本:1.8及以上 3. Elasticsearch本:7.x 4. 硬件要求:主机内存可以根据实际情况进行调整,但是最好不要低于4GB。 5. 硬盘要求:建议每台服务器都有一块专门用于存储数据的硬盘,以便于管理和备份。 6. 网络要求:每台服务器都需要分别配置一个IP地址,以便于节点相互通信和集群的建立。 下面具体讲解如何搭建Elasticsearch集群: 第一步:安装JDK环境 Elasticsearch是基于Java语言开发的,因此需要安装JDK环境。安装完成后,通过运行java -version 命令来检查JDK环境是否安装成功。 第二步:安装Elasticsearch 可以从Elasticsearch官网下载最新本的安装包压缩包。下载完成后,使用解压命令将其解压到任意目录下。 第三步:配置Elasticsearch 每台服务器的配置都包括以下关键参数: cluster.name:集群的名称,因为每个节点都只能加入到同一个集群之中,所以集群名称必须一致。 node.name:节点的名称,每个节点都需要有唯一的名称标识,以便于集群管理和监控。 network.host:设置节点的IP地址,在多台服务器中,每个节点都需要拥有一个唯一的IP地址。 第四步:设置集群节点 节点具有容错性和冗余性,在Elasticsearch集群中至少需要2个节点。建议将节点分配在不同的服务器上,以便于在故障时可以再次启动其他节点来覆盖故障节点。 节点之间相互交换有关集群的信息,通过访问任何一个节点,都可以获得有关整个集群的信息。 第五步:优化集群性能 为了提高整个集群的性能,我们需要设置Elasticsearch的Java虚拟机(JVM)参数,这将有助于提高集群吞吐量、降低请求延迟、减少垃圾收集时间等。 例如,可以调整Xms和Xmx这两个参数来控制Java虚拟机使用的内存,以达到优化集群性能的目的。 总结 在本文中,我们简单介绍了如何在多台服务器上搭建Elasticsearch集群。具体而言,我们需要完成安装JDK、安装Elasticsearch、配置Elasticsearch、设置集群节点和优化集群性能等步骤。如果您在集群搭建过程中遇到了问题,可以参考Elasticsearch的官方文档或者社区贡献者的博客。通过合理设置,可以为整个集群提供高效、稳定、可扩展的搜索服务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值