返回顶部
首页 > 资讯 > 数据库 >Kafka Eagle分布式模式
  • 347
分享到

Kafka Eagle分布式模式

KafkaEagle分布式模式 2021-11-30 20:11:00 347人浏览 猪猪侠
摘要

1.概述 最近有同学留言,kafka Eagle的分布式模式功能怎么使用,如何部署安装?今天笔者就为大家来详细介绍一下Kafka Eagle的分布式模式功能的安装和使用。 2.内容 首先,这里我们需要说明一下,Kafka Eagle已经更

Kafka Eagle分布式模式

1.概述

最近有同学留言,kafka Eagle的分布式模式功能怎么使用,如何部署安装?今天笔者就为大家来详细介绍一下Kafka Eagle的分布式模式功能的安装和使用。

2.内容

首先,这里我们需要说明一下,Kafka Eagle已经更名为EFAK(Eagle For Apache Kafka)。感谢Apache Kafka PMC的认可,EFAK将继续提供和开发新功能,来满足Kafka集群和应用的相关监控和管理功能。

2.1 背景

当我们管理Kafka多集群或者一个规模较大的Kafka集群时,单机模式的EFAK部署时,运行的多线程任务,相关消费者、Topic、生产者、Broker & ZooKeeper的监控指标等内容调度时,部署EFAK的服务器如果配置较低,会造成很大的负载,对CPU的负载会很高。为了解决这类问题,EFAK开发了分布式模式的部署,可由多个低配置的服务器来组件一个EFAK集群。来对Kafka多集群进行监控和管理。

2.2 基础环境

部署EFAK所需要的基础环境如下:

2.2.1 硬件和操作系统

  • 操作系统:linux系统即可(ubuntuCentos等)
  • jdk:JDK8以上
  • CPU:1核以上
  • 内存:2GB以上

2.2.2 EFAK安装包

EFAK安装包,目前官网上以及发布了最新的v2.0.9版本,支持分布式模式部署。可以直接下载到Linux服务器进行安装和部署使用。如果需要自行编译部署,可以到GitHub下载源代码进行编译部署:

  • 方式一:官网下载v2.0.9安装包
  • 方式二:github下载源代码,参考README说明进行编译

2.3 安装部署

EFAK分布式模式部署,这里以5个节点为例子(1个Master和4个Slave),各个节点的角色如下如所示:

 

 

2.3.1 配置EFAK环境

首先,我们定义一个服务器为Master节点,在Master节点上下载EFAK安装包,并配置EFAK所需要的环境变量,具体内容如下所示:

# 编辑环境变量文件
vi ~/.bash_profile

# 添加如下内容

# 添加JDK环境,建议使用JDK8以上
export JAVA_HOME=/data/soft/new/jdk

# 添加EFAK环境
export KE_HOME=/data/soft/new/efak

export PATH=$PATH:$JAVA_HOME/bin:$KE_HOME/bin

然后执行source ~/.bash_profile命令使配置环境变量立即生效。

2.3.2 配置EFAK系统文件

在EFAK的conf目录下有两个配置系统的文件,它们分别是:

  • system-config.properties:用来配置EFAK系统相关内容,比如启动端口、Zookeeper地址、Kafka安全认证信息、数据库存储地址等;
  • works:Slave节点地址(建议直接使用IP)。

1.配置works文件

works存储节点IP地址如下:

192.168.31.75
192.168.31.98
192.168.31.251
192.168.31.88

2.配置system-config.properties文件

EFAK配置信息如下所示:

######################################
# 配置Kafka集群别名和Zookeeper访问地址
######################################
efak.zk.cluster.alias=cluster1
cluster1.zk.list=192.168.31.127:2181

######################################
# Zookeeper是否启用ACL
######################################
cluster1.zk.acl.enable=false
cluster1.zk.acl.schema=digest
cluster1.zk.acl.username=test
cluster1.zk.acl.passWord=test123

######################################
# 如果一个Kafka集群规模较大,可以配置该参数
# 例如:配置阀值为20,若当前Kafka集群节点超过20个,将启用离线统计
######################################
cluster1.efak.broker.size=20

######################################
# Zookeeper客户端线程数,单机模式设置16
# 分布式模式可以设置为4或者8(EFAK节点数大于5设置为4,若小于5设置为8即可)
######################################
kafka.zk.limit.size=8

######################################
# EFAK WEB页面启动端口
######################################
efak.webui.port=8048

######################################
# EFAK 是否启用分布式模式
######################################
efak.distributed.enable=true

# 在master节点上设置角色为master,其他节点设置为slave。
# 有个小技巧,就是从master节点同步配置到slave节点时,
# 将该属性先设置为slave,然后同步完成后,
# 将master节点上的slave值修改为master即可
efak.cluster.mode.status=master

# 设置master节点的IP地址
efak.worknode.master.host=192.168.31.199

# 设置一个可用的端口供WorkNodeServer使用
efak.worknode.port=8085

######################################
# kafka jmx 是否启用了ACL
######################################
cluster1.efak.jmx.acl=false
cluster1.efak.jmx.user=keadmin
cluster1.efak.jmx.password=keadmin123
cluster1.efak.jmx.ssl=false
cluster1.efak.jmx.truststore.location=/data/ssl/certificates/kafka.truststore
cluster1.efak.jmx.truststore.password=ke123456

######################################
# kafka offset 存储方式,
# 目前Kafka基本都是存储在Kafka的topic中,
# 可保留该默认值不变
######################################
cluster1.efak.offset.storage=kafka

######################################
# kafka jmx 地址,默认Apache发布的Kafka基本是这个默认值,
# 对于一些公有云Kafka厂商,它们会修改这个值,
# 比如会将jmxrmi修改为kafka或者是其它的值,
# 若是选择的公有云厂商的Kafka,可以根据实际的值来设置该属性
######################################
cluster1.efak.jmx.uri=service:jmx:rmi:///jndi/rmi://%s/jmxrmi

######################################
# kafka监控是否开启,以及存储的监控数据保留时间天数
######################################
efak.metrics.charts=true
efak.metrics.retain=15

######################################
# kafka sql 查询topic的单分区最近的条数,
# 以及在页面预览topic数据的最大记录条数
######################################
efak.sql.topic.records.max=5000
efak.sql.topic.preview.records.max=10

######################################
# 删除topic的密钥,仅供管理员角色使用
######################################
efak.topic.token=keadmin

######################################
# kafka sasl 安全认证是否开启
######################################
cluster1.efak.sasl.enable=false
cluster1.efak.sasl.protocol=SASL_PLAINTEXT
cluster1.efak.sasl.mechanism=SCRAM-SHA-256
cluster1.efak.sasl.jaas.config=org.apache.kafka.common.security.scram.ScramLoginModule required username="kafka" password="kafka-eagle";
cluster1.efak.sasl.client.id=
cluster1.efak.blacklist.topics=
cluster1.efak.sasl.cgroup.enable=false
cluster1.efak.sasl.cgroup.topics=

######################################
# kafka ssl 安全认证是否开启
######################################
cluster1.efak.ssl.enable=false
cluster1.efak.ssl.protocol=SSL
cluster1.efak.ssl.truststore.location=
cluster1.efak.ssl.truststore.password=
cluster1.efak.ssl.keystore.location=
cluster1.efak.ssl.keystore.password=
cluster1.efak.ssl.key.password=
cluster1.efak.ssl.endpoint.identification.alGorithm=https
cluster1.efak.blacklist.topics=
cluster1.efak.ssl.cgroup.enable=false
cluster1.efak.ssl.cgroup.topics=

######################################
# 生产环境建议使用Mysql来存储相关数据
######################################
efak.driver=com.mysql.cj.jdbc.Driver
efak.url=jdbc:mysql://localhost:3306/ke_prd?useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull
efak.username=root
efak.password=123456

2.3.3 分发EFAK安装包和系统环境

1.同步EFAK系统环境

# 同步系统环境
for i in `cat $KE_HOME/conf/works`;do scp ~/.bash_profile $i:~/;done

2.同步EFAK安装包到Slave节点

# 如果你的$KE_HOME环境地址为/data/soft/new/efak
for i in `cat $KE_HOME/conf/works`;do scp -r $KE_HOME $i:/data/soft/new/;done

然后,修改Master节点上的属性值efak.cluster.mode.status,将Master节点上该属性值slave修改为master即可。其他Slave节点无需改动。

2.3.4 启动EFAK分布式集群

EFAK分布式模式新增了ke.sh cluster命令,该命令支持如下参数:

  • ke.sh cluster start:启动EFAK分布式集群;
  • ke.sh cluster status:查看EFAK分布式集群状态;
  • ke.sh cluster stop:停止EFAK分布式集群
  • ke.sh cluster restart:重启EFAK分布式集群

当我们完成EFAK系统环境和安装包的分发后,就可以执行ke.sh cluster start启动命令了。

# 启动 EFAK 分布式模式
ke.sh cluster start

具体启动截图如下所示:

 

 执行ke.sh cluster status命令查看各个节点的状态:

# 查看节点状态
ke.sh cluster status

执行上述命令,具体截图如下所示:

 

2.3.5 新增EFAK节点监控

在EFAK分布式模式下,新增监控EFAK各个节点的功能(单击模式下也可以查看Master节点相关指标),具体监控内容如下图所示:

 

3.总结

如果是Kafka集群规模较大或者管理的Kafka集群有多个,可以使用EFAK的分布式模式部署。如果管理的Kafka集群规模较小,Topic数量、消费者应用等较少,可以使用EFAK的单机模式部署即可。

4.结束语

这篇博客就和大家分享到这里,如果大家在研究学习的过程当中有什么问题,可以加群进行讨论或发送邮件给我,我会尽我所能为您解答,与君共勉!

另外,博主出书了《Kafka并不难学》和《hadoop数据挖掘入门到进阶实战》,喜欢的朋友或同学, 可以在公告栏那里点击购买链接购买博主的书进行学习,在此感谢大家的支持。关注下面公众号,根据提示,可免费获取书籍的教学视频。

联系方式:
邮箱:smartloli.org@gmail.com
Twitter:Https://twitter.com/smartloli
QQ群(Hadoop - 交流社区1):424769183
QQ群(Kafka并不难学): 825943084
温馨提示:请大家加群的时候写上加群理由(姓名+公司/学校),方便管理员审核,谢谢!

热爱生活,享受编程,与君共勉!


公众号:


作者:哥不是小萝莉 [关于我][犒赏]

出处:http://www.cnblogs.com/smartloli/

转载请注明出处,谢谢合作!

您可能感兴趣的文档:

--结束END--

本文标题: Kafka Eagle分布式模式

本文链接: https://lsjlt.com/news/9025.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Kafka Eagle分布式模式
    1.概述 最近有同学留言,Kafka Eagle的分布式模式功能怎么使用,如何部署安装?今天笔者就为大家来详细介绍一下Kafka Eagle的分布式模式功能的安装和使用。 2.内容 首先,这里我们需要说明一下,Kafka Eagle已经更...
    99+
    2021-11-30
    Kafka Eagle分布式模式
  • kafka分布式事务怎么实现
    Kafka并不原生支持分布式事务。但是可以通过以下几种方法来实现分布式事务: 使用Kafka事务性API:Kafka引入了事务性...
    99+
    2024-04-02
  • 【分布式】分布式锁
    目录 一、分布式锁介绍二、基于 Redis 实现分布式锁1. 如何基于 Redis 实现一个最简易的分布式锁?2.为什么要给锁设置一个过期时间?3. 如何实现锁的优雅续期?4. 如何实现可重入锁? 一、分布式锁介绍 单机多线...
    99+
    2023-08-17
    分布式 java jvm
  • Java分布式学习之Kafka消息队列
    目录介绍Kafka核心相关名称kafka集群安装kafka使用kafka文件存储Springboot整合kafka介绍 Apache Kafka 是分布式发布-订阅消息系统,在 ka...
    99+
    2024-04-02
  • 怎么浅谈分布式消息技术Kafka
    这篇文章将为大家详细讲解有关怎么浅谈分布式消息技术Kafka,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Kafka的基本介绍Kafka是最初由Linkedin公司开发,是一个分布式、分区的...
    99+
    2023-06-04
  • 如何理解分布式中的TCC模式
    这篇文章主要介绍“如何理解分布式中的TCC模式”,在日常操作中,相信很多人在如何理解分布式中的TCC模式问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何理解分布式中的TCC...
    99+
    2024-04-02
  • Linux下如何部署分布式消息系统Kafka
    今天小编给大家分享一下Linux下如何部署分布式消息系统Kafka的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Kafka是...
    99+
    2023-06-27
  • 详解Flink同步Kafka数据到ClickHouse分布式表
    目录引言什么是ClickHouse?创建复制表通过jdbc写入引言 业务需要一种OLAP引擎,可以做到实时写入存储和查询计算功能,提供高效、稳健的实时数据服务,最终决定ClickHouse 什么是ClickHouse?...
    99+
    2022-12-01
    Flink数据同步KafkaClickHouse ClickHouse分布式表
  • hbase 0.94.16 伪分布模式安装
    本篇文章描述的是在1.2.1版本的基础上安装hadoop加上0.94.16版本的hbase,呵呵!现在看来这些版本都有些过时了,写这篇稿子的时候hadoop刚出2.3.0版。如果你是新手或是刚踏入hadoo...
    99+
    2024-04-02
  • zabbix-prox 简单部署主动模式分布式
    环境:zabbix-server:192.168.216.8zabbix-proxy:192.168.216.7zabbix-agent:192.168.216.2一、zabbix-server:参照zab...
    99+
    2024-04-02
  • js设计模式之代理模式及订阅发布模式的示例分析
    这篇文章将为大家详细讲解有关js设计模式之代理模式及订阅发布模式的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1,代理模式,只是学习了虚拟代理以及缓存代理,具体...
    99+
    2024-04-02
  • Kafka无法消费?!我的分布式消息服务Kafka却稳如泰山!
     在一个月黑风高的夜晚,突然收到现网生产环境Kafka消息积压的告警,梦中惊醒啊,马上起来排查日志。问题现象:消费请求卡死在查找CoordinatorCoordinator为何物?Coordinator用于管理Consumer G...
    99+
    2023-06-04
  • 分布式之全面了解Kafka的使用与特性
    目录引言1、面试官:可以简述下Kafka架构中比较重要的关键字吗?那我们为什么要选择 Kafka 呢? 2、面试官:那为什么Kafka的吞吐量远高于其他同类中间件?深入分析Kafka...
    99+
    2024-04-02
  • 分布式系统中的 Golang 函数部署模式
    在分布式系统中部署 golang 函数,可采用两种模式:容器镜像:将函数代码打包成容器镜像,提供灵活性但管理容器较复杂。source:直接部署函数源代码,简单易用但可移植性受平台支持限制...
    99+
    2024-04-19
    golang 分布式系统
  • jeesz分布式架构-分布式高可用
    版权声明:本文为博主原创文章,未经博主允许不得转载。什么是高可用 高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务...
    99+
    2024-04-02
  • Hadoop如何部署伪分布模式
    这篇文章将为大家详细讲解有关Hadoop如何部署伪分布模式,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 部署方式:1.单机模式standalone   1个java进程2.伪分布模式...
    99+
    2023-06-03
  • kafka复习:(24)consume-transform-produce模式
    package com.cisdi.dsp.modules.metaAnalysis.rest.kafka2023;import org.apache.kafka.clients.consumer.*;import org.apache.k...
    99+
    2023-08-30
    kafka
  • JavaScript设计模式发布订阅模式
    目录前言发布订阅设计模式前言 发布订阅设计模式是和观察者设计模式基本上相同,但是他们两个设计模式不同的是发布订阅者拥有一个事件处理中心而观察者并没有 比如,我们利用订阅者设计模式去监...
    99+
    2024-04-02
  • Zookeeper分布式协调即分布式锁机制
    主要用到的Zookeeper机制: 临时+有序节点,节点watch机制 过程: 每个客户端服务都到zookeeper的同一父节点下建立自己的临时+有序子节点,子节点名返回,各客户端保存在本地。 所有客户端服务都拉去父节点下的子节...
    99+
    2019-02-25
    Zookeeper分布式协调即分布式锁机制
  • Kafka内核中的分布式机制实现是怎样的
    Kafka内核中的分布式机制实现是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一个Topic中的所有数据分布式的存储在kafka集群的所有机器(broker)上,以分区...
    99+
    2023-06-04
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作