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,那个是轻量级的,用来测试比较方便
在这里插入图片描述
效果就是这样 可以看到我们的集群安装成功了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值