优秀到卓越就差-比他更快搭建elk集群架构上篇

Posted Friends of the wind

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了优秀到卓越就差-比他更快搭建elk集群架构上篇相关的知识,希望对你有一定的参考价值。

工作原理

开源分布式搜索引擎,特点有:分布式,零配置,自动发现,索引自动分片,
索引副本机制,restful 风格接口,多数据源,自动搜索负载等

官方网站:
https://www.elastic.co

中文社区:
https://elasticsearch.cn

官方参考文档:
https://www.elastic.co/guide/en/elasticsearch/reference/6.6/setup-configuration-memory.html

下载地址:
https://mirrors.tuna.tsinghua.edu.cn/elasticstack/6.x/yum/6.6.0/
elasticsearch-6.6.0.rpm
filebeat-6.6.0-x86_64.rpm
kibana-6.6.0-x86_64.rpm
logstash-6.6.0.rpm


案例

节点名称IP
elastic1192.168.2.130
elastic2192.168.2.135
elastic3192.168.2.136

环境:虚拟环境,关闭防火墙、setenforce 宽容模式,保障能互相ping通,必须有jdk-1.8.0及以上环境

步骤:
1、 安装elasticsearch
检查Java环境:

安装(提前下载好,上传到服务器)

2、 elasticsearch目录和文件简介:

/etc/elasticsearch/elasticsearch.yml #配置文件
/etc/elasticsearch/jvm.options #java虚拟机
/etc/init.d/elasticsearch #服务启动脚本
/etc/sysconfig/elasticsearch #elasticsearch服务变量
/usr/lib/sysctl.d/elasticsearch.conf #设置elasticsearch用户使用的内存大小
/usr/lib/systemd/system/elasticsearch.service #添加系统服务文件
/var/log/elasticsearch/elasticsearch.log #日志文件路径

3、 修改配置文件:更改以下行内容
vim /etc/elasticsearch/elasticsearch.yml

4、 创建数据目录,并修改权限

5、分配锁定内存:
vim /etc/elasticsearch/jvm.options

6.修改锁定内存后,无法重启,解决方法如下:
systemctl edit elasticsearch
添加:
[Service]
LimitMEMLOCK=infinity
F2保存退出

重载内核:
systemctl daemon-reload

启动elasticsearch服务:需要多等一会
systemctl start elasticsearch
查看到服务端口号:

7.查看单主机
访问:http://192.168.2.130:9200/

(1)查看群集健康状态
http://192.168.2.130:9200/_cluster/health?pretty

(2)查看整个群集状态信息
http://192.168.2.130:9200/_cluster/state?pretty

(3)统计群集节点
curl -XGET ‘192.168.2.130:9200/_cat/nodes?human&pretty’

(4)查看群集所有节点详细信息
curl -XGET ‘192.168.2.130:9200/_nodes/_all/info/jvm.process?human&pretty’

8.下载es-head插件

https://github.com/mobz/elasticsearch-head
下载后,解压,复制crx目录下es-head.crx到桌面
改名es-head.crx为es-head.crx.zip
解压es-head.crx.zip到es-head.crx目录,把目录es-head.crx,上传到浏览器,方法:右上角管理扩展-开发人员模式–直接拉到页面,已安装的扩展能看到它(右上角多了个放大镜人形图标)


把localhost改成elastic节点ip点击连接,就会有集群概览,集群健康值

elasticsearch群集:

状态颜色:
	灰色:未连接
	绿色:数据完整态
	黄色:副本不完整
	红色:数据分片不完整
	紫色:数据分片复制过程
群集主机角色:
	主节点master:负责管理调度
	工作节点: 	  负责处理数据
	默认情况,所有节点都是工作节点,即主节点也处理数据

添加第二台主机

往群集中添加第二台主机:192.168.2.135

1.安装es,步骤参考第一台,注意配置文件修改和第一台稍有不同

vim /etc/elasticsearch/elasticsearch.yml

node.name: node-2
path.data: /data/elasticsearch
path.logs: /var/log/elasticsearch
bootstrap.memory_lock: true
network.host: 192.168.2.135,127.0.0.1
http.port: 9200
discovery.zen.ping.unicast.hosts: [“192.168.2.130”, “192.168.2.135”]
discovery.zen.minimum_master_nodes: 2 #添加的值=节点数/2 + 1

2.创建数据目录,并修改权限

mkdir -p /data/elasticsearch
chown -R elasticsearch.elasticsearch /data/elasticsearch/

3.分配锁定内存:

vim /etc/elasticsearch/jvm.options
-Xms1g #分配最小内存
-Xmx1g #分配最大内存,官方推荐为物理内存的一半,但最大为32G

4.修改锁定内存后,无法重启,解决方法如下:

systemctl edit elasticsearch
添加:
[Service]
LimitMEMLOCK=infinity
F2保存退出

systemctl daemon-reload
systemctl start elasticsearch


添加第三台主机

往群集中添加第三台主机:192.168.2.136

1.安装es,步骤参考第一台,注意配置文件需要修改

vim /etc/elasticsearch/elasticsearch.yml

node.name: node-3
path.data: /data/elasticsearch
path.logs: /var/log/elasticsearch
bootstrap.memory_lock: true
network.host: 192.168.2.136,127.0.0.1
http.port: 9200
discovery.zen.ping.unicast.hosts: [“192.168.2.130”, “192.168.2.136”]
discovery.zen.minimum_master_nodes: 2

2.创建数据目录,并修改权限

mkdir -p /data/elasticsearch
chown -R elasticsearch.elasticsearch /data/elasticsearch/

3.分配锁定内存:

vim /etc/elasticsearch/jvm.options
-Xms1g #分配最小内存
-Xmx1g #分配最大内存,官方推荐为物理内存的一半,但最大为32G

4.修改锁定内存后,无法重启,解决方法如下:

systemctl edit elasticsearch
添加:
[Service]
LimitMEMLOCK=infinity
F2保存退出

systemctl daemon-reload
systemctl start elasticsearch

5.创建索引index1时,修改分片为3和副本数为2

curl -X PUT 192.168.2.130:9200/index1 -H ‘Content-Type: application/json’ -d ‘{
“settings” : {
“index” : {
“number_of_shards” : 3,
“number_of_replicas” : 2
}
}
}’

6.针对已有索引,可修改副本数,不可改分片数。下面语句把index1的副本数由2改为1

curl -X PUT ‘192.168.2.130:9200/index1/_settings?pretty’ -H ‘Content-Type: application/json’ -d ‘{
“settings”: {
“number_of_replicas”: “1”
}
}’
7.创建两个索引


验证:查看到创建的索引

以上是关于优秀到卓越就差-比他更快搭建elk集群架构上篇的主要内容,如果未能解决你的问题,请参考以下文章

Kafka架构及Filebeat+Kafka+ELK集群搭建

ELK+Beats+Kafka集群搭建

[k8s]elk架构设计-k8s集群里搭建

ELK初级搭建

ELK日志收集系统搭建

ELK+kafka+filebeat搭建生产ELFK集群 --markdown 语法