当前位置: 首页 > news >正文

黄江东莞网站建设注册网站会员需填写

黄江东莞网站建设,注册网站会员需填写,深圳品牌网站制作咨询电话,外国人做美食视频网站kafka集群搭建 1. kafka介绍 Apache Kafka是一个开源的流处理平台,由Scala和Java编写1。它是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统2。Kafka的最大特…

kafka集群搭建

1. kafka介绍

Apache Kafka是一个开源的流处理平台,由Scala和Java编写1。它是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统2。Kafka的最大特性就是可以实时处理大量数据以满足各种需求场景,比如基于hadoop的批处理系统、低延迟的实时系统、storm/Spark流式处理引擎,web/nginx日志、访问日志,消息服务等等。

2. 组件介绍

Producer(生产者):负责将消息发布到Kafka集群。生产者可以选择将消息发送到指定的主题和分区,也可以让Kafka自动选择合适的分区。
Broker:每个Broker都是一个独立的Kafka节点,一台Kafka服务器。一个Kafka集群由多个Broker组成。
Topic:消息的主题,可以理解为消息队列,Kafka的数据就保存在Topic中。在每个Broker上都可以创建多个Topic。
Partition:Topic的分区,每个Topic可以有多个分区,分区的作用是做负载,提高Kafka的吞吐量。同一个Topic在不同的分区的数据是不重复的。
Replica:每一个分区都有多个副本,副本的作用是做备胎,主分区(Leader)会将数据同步到从分区(Follower)。当主分区(Leader)故障的时候会选择一个备胎(Follower)上位,成为Leader。
Consumer(消费者):消息的消费方,是消息的出口。消费者主动的去Kafka集群拉取消息时,也是从Leader分区去拉取数据。
Consumer Group:我们可以将多个消费者组成一个消费者组,同一个消费者组的消费者可以消费同一个Topic下不同分区的数据,同一个分区只会被一个消费者组内的某个消费者所消费,防止出现重复消费的问题。
Zookeeper:Kafka集群依赖Zookeeper来保存集群的元信息,来保证系统的可用性。

3. 特性

  • 高吞吐量、低延迟:Kafka每秒可以处理几十万条消息,它的延迟最低只有几毫秒,每个topic可以分多个partition, consumer group 对partition进行consume操作。
  • 可扩展性:Kafka集群支持热扩展。
    持久性、可靠性:消息被持久化到本地磁盘,并且支持数据备份防止数据丢失。
  • 容错性:允许集群中节点失败(若副本数量为n,则允许n-1个节点失败)。
  • 高并发:支持数千个客户端同时读写。
  • 支持实时在线处理和离线处理:可以使用Storm这种实时流处理系统对消息进行实时进行处理,同时还可以使用Hadoop这种批处理系统进行离线处理。
  • 消息持久化:Kafka将所有数据写入和复制到磁盘,因此具有可扩展性和容错能力非常高的存储系统。默认情况下,Kafka一直保留磁盘上存储的数据,直到其空间用尽,但是用户可以设置保留限制。
  • 多使用器:多个使用器可以订阅相同主题,因为Kafka允许将同一条消息重放指定的时间长度。

4. kafka集群的机制

Kafka集群的工作机制主要包括以下几个方面1234:

  • Controller角色:在Kafka集群中,需要选举出一个Broker,担任Controller角色。由Controller角色来管理整个集群中的分区和副本状态。
  • Leader角色:在同一个Topic下的多个Partition中,需要选举出一个Leader角色。由Leader角色的Partition来负责与客户端进行数据交互3。
  • Zookeeper的作用:Kafka依赖于Zookeeper,Kafka会将每个服务的不同之处,也就是状态信息,保存到Zookeeper中。通过Zookeeper中的数据,指导每个Kafka进行与其他Kafka节点不同的业务逻辑。
  • Push-and-Pull模式:Kafka中的Producer和Consumer采用的是Push-and-Pull模式,即Producer只管向Broker Push消息,Consumer只管从Broker Pull消息,两者对消息的生产和消费是异步的1。
  • Broker之间的关系:Kafka集群中Broker之间的关系不是主从关系,各个Broker在集群中地位一样,我们可以随意的增加或删除任何一个Broker节点。

5. kafka集群搭建

正如上述我们介绍的kafka集群的机制 Broker之间的关系 天然支持集群。只需要增删节点即可。

  • zk集群准备 版本为 3.9.1
  • 下载安装包 搭建kafka集群版本3.6.1 下载 https://downloads.apache.org/kafka/3.6.1/kafka_2.13-3.6.1.tgz
  • 修改配置
    # 指定当前节点的brokerId,同一个集群中的brokerId需要唯一
    broker.id=0
    # 指定监听的地址及端口号,使用hostname 或者内网IP皆可
    listeners=PLAINTEXT://hostname:9092
    # 配置外网访问ip  如果为空 则会使用listeners(如果不为空) 其他的情况使用 InetAddress.getCanonicalHostName() 的值
    # Hostname and port the broker will advertise to producers and consumers.
    #  If not set,  it uses the value for "listeners" if configured.  Otherwise, it will use   the value returned from java.net.InetAddress.getCanonicalHostName().
    advertised.listeners=PLAINTEXT://hostname:9092
    # 指定kafka日志文件的存储目录
    log.dirs=/usr/local/kafka/logs
    # 指定zookeeper的连接地址,若有多个地址则用逗号分隔
    zookeeper.connect=localhost:2181,localhost:2182,localhost:2183
    # 配置可删除
    delete.topic.enable=true
    
  • 使用scp命令发送到其他的服务器 注意配置文件需要重点修改几个地方 broker.id listeners 以及 advertised.listeners
scp -r /usr/local/develop/kafka_2.12-3.6.1 remote_ip:/usr/local/develop/kafka_2.12-3.6.1
  • 需要搭建几个节点 就是发送几份
  • 启动服务即可
nohup sh ./bin/kafka-server-start.sh ./config/server.properties >./out.log 2>&1 &

这样就完成kafka集群的搭建~~

good day ! ! !

http://www.yayakq.cn/news/303778/

相关文章:

  • php网站的登陆注册怎末做的一键关键词优化
  • 儿童教育网站怎么做有趣台州做鞋子网站
  • 向国外卖货的电商平台优化网站结构一般包括
  • 遵义做什么网站好钓鱼网站怎么做
  • 如何注册网站怎么注册中国免费素材网
  • 长春市做网站推广代理服务器ip地址和端口号
  • 微网站 微信建设银行预约纪念钞网站
  • 贵阳网站设计哪个网站有上门做指甲
  • 做网站通常到哪找图片网络推广常用工具
  • 怎么给网站做自适应北京网站建设app开发
  • 怎么更改网站域名解析温州做网站最好的
  • 做照片的ppt模板下载网站wordpress 模板 外贸
  • 1688会提供网站建设网络公司做网站价格
  • 科技类网站源码营销做得好的品牌
  • 做网站的教科书天津网站设计公司排名
  • wordpress官方模板站wordpress 设置静态内容缓存时间
  • 做网站一年的维护费用是多少外贸自建站如何收款
  • 网站地图后缀松江建设投资有限公司网站
  • 网站前期准备大连招标信息网
  • 广西智能网站建设平台自由贸易区的建设网站
  • 永久免费素材网站网站四对联广告代码
  • 天津餐饮团购网站建设顺德乐从网站建设
  • 潍坊建设gc局网站做网站需要什么技术人员
  • wordpress撰写文章卡顿北京seo优化费用
  • 网站建设教程参加苏州久远网络网站建设解决恩问题
  • 济宁万达网站建设云盘搜
  • 建设网站主机免费的怎么下载网络规划设计师最新教材
  • 做网站推广哪个好wordpress主题添加右边栏
  • 医院网站建设做旅游网站的开题报告
  • 杭州seo博客有哪些兰州网络推广关键词优化