kafka的学习(一)

写在最前面,先简单讲解一些kafka的概念:

一、概念
1.1 kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。
Broker
kafka集群包含一个或者多个服务器,这种服务器被称为broker
Topic
每条发布到kafka集群的消息都有一个类别,这个类别被称为Topic。(物理上不同Topic的消息分开存储,逻辑上一个Topic的消息虽然保存于一个或多个broker上但用户只需指定消息的Topic即可生成或消费数据而不必关心数据存于何处)
partition
partition是物理上的概念,每个topic包含一个或多个partition
producer
负责发布消息到kafka broker读取消息的客户端
consumer group
每个consumer属于一个特定consumer group(可为每个consumer指定group name,若不指定group name则属于默认的group)

1.2 zookeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop的Hbase的重要组件。他是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护,域名服务,分布式同步,组服务等。
zookeeper的基本运转流程
1、选举leader
2、同步数据
3、选举leader过程中算法有很多,但要达到的选举标准是一致的。
4、leader要具有最高的执行ID,类似root权限
5、集群中大多数的机器得到响应并follow选出的leader
1.3 kafka-manager为了简化开发者和服务工程师维护kafka集群的工作,yahoo构建了一个叫做kafka管理器的基于web工具,叫做kafaka manager。这个管理工具可以很容易地发现分布在集群中的哪些topic分布不均匀,或者是分区在整个集群分布不均匀的情况。他支持管理多个集群、选择副本、副本重新分配以及关键Topic。同时,这个管理工具也是一个非常好的可以快速浏览这个集群的工具,有如下功能:
1、管理多个kafka集群
2、便捷的检查kafka集群状态(topic,brokers,备份分布情况,分区分布情况)
3、选择你要运行的副本
4、基于当前分区状况进行

二、部署安装zookeeper

zookeeper的安装:
下载地址:http://www-us.apache.org/dist/zookeeper/zookeeper-3.4.11/
cd /usr/local
tar -zxvf zookeeper-3.4.11.tar.gz
cd zookeeper-3.4.11
mkdir data
cd conf/
vim zoo.cfg
    tickTime=2000
    #dataDir=/path/to/zookeeper/data
    dataDir=/usr/local/zookeeper-3.4.11/data
    clientPort=2181
    initLimit=5
    syncLimit=2
bin/zkServer.sh start   #启动zk

三、部署安装kafka并启动多broker:

下载地址;http://www-eu.apache.org/dist/kafka/0.11.0.2/
cd /usr/local
tar -zxvf kafka_2.11-0.11.0.2.tgz
cd kafka_2.11-0.11.0.2
cd config/
vim server.properties(只需要做修改)

    broker.id=0
    listeners=PLAINTEXT://0.0.0.0:9092
    num.network.threads=3
    num.io.threads=8
    socket.send.buffer.bytes=102400
    socket.receive.buffer.bytes=102400
    socket.request.max.bytes=104857600
    log.dirs=/tmp/kafka-logs
    num.partitions=1
    num.recovery.threads.per.data.dir=1
    offsets.topic.replication.factor=1
    transaction.state.log.replication.factor=1
    transaction.state.log.min.isr=1
    log.retention.hours=168
    log.segment.bytes=1073741824
    log.retention.check.interval.ms=300000
    zookeeper.connect=localhost:2181
    zookeeper.connection.timeout.ms=6000
    group.initial.rebalance.delay.ms=0

bin/kafka-server-start.sh config/server.properties   #启动kafka broker
jps   #这是我启动了三个kafka的效果
    14725 Kafka
    9720 QuorumPeerMain
    28795 Bootstrap
    14396 Kafka
    19871 Jps
    10351 Kafka
以上就启动完成

原文地址:https://www.cnblogs.com/1111zhiping-tian/p/8446465.html

时间: 2024-08-29 19:28:20

kafka的学习(一)的相关文章

Kafka入门学习《一》

一.基本概念 介绍 Kafka是一个分布式的.可分区的.可复制的消息系统.它提供了普通消息系统的功能,但具有自己独特的设计. 这个独特的设计是什么样的呢? 首先让我们看几个基本的消息系统术语: Kafka将消息以topic为单位进行归纳. 将向Kafka topic发布消息的程序成为producers. 将预订topics并消费消息的程序成为consumer. Kafka以集群的方式运行,可以由一个或多个服务组成,每个服务叫做一个broker. producers通过网络将消息发送到Kafka集

Kafka入门学习(一)

====常用开源分布式消息系统 *集群:多台机器组成的系统叫集群. *ActiveMQ还是支持JMS的一种消息中间件. *阿里巴巴metaq,rocketmq都有kafka的影子. *kafka的动态扩容目前是通过zookeeper来完成的. ====kafka定义及使用背景 是一个分布式消息系统,由Linkedln使用Scala编写,用作Linkedln的活动流(Activity Stream) 和运营数据处理管道(Pipeline)的基础,具有高水平扩展和高吞吐量 应用领域:已经被多家不同类

kafka zookeeper学习(2) 测试kafka与zookeeper环境

上节搭建了zookeeper与kafka环境,这一节要测试环境是否能正常工作. 1,紧接着上节的内容,zookeeper与kafka都启动好了,新开一个命令窗口,定为到 D:\soft\kafka_2.11-0.9.0.0\bin\windows 2,创建topic 输入命令  .\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test 来创建t

kafka基本原理学习

下载安装地址:http://kafka.apache.org/downloads.html 原文链接 http://www.jasongj.com/2015/01/02/Kafka深度解析 Kafka主要术语直观解释 BrokerKafka集群包含一个或多个服务器,这种服务器被称为broker Topic每条发布到Kafka集群的消息都有一个类别,这个类别被称为topic.(物理上不同topic的消息分开存储,逻辑上一个topic的消息虽然保存于一个或多个broker上但用户只需指定消息的top

kafka初步学习

消息系统 什么是消息系统? 消息系统负责将数据从一个应用程序传输到另一个应用程序,因此应用程序可以专注于数据,但不担心如何共享它.分布式消息传递给予可靠消息队列的概念.消息在客户端应用程序和消息传递系统之间异步排队. 有俩种类型的消息模式可以使用:一种是点对点,另一种是发布-订阅(pub-sub)消息系统. 大多数消息模式遵循pub-sub 点对点消息系统 点对点系统中,消息被保留在队列中.一个或多个消费者可以消费队列中的消息,但是特定消息只能由最多一个消费者消费.一旦消费者读取队列中的消息,它

大数据kafka视频教程 学习记录【B站尚硅谷 】

视频地址: https://www.bilibili.com/video/av35354301/?p=1           2019/03/06 21:59 消息队列的内部实现: Kafka基础: 同一个消费者组的消费者不可以同时消费同一个分区的消息:  ps:kafka架构  好图!!! Kafka集群部署: ~~~~~~~~~~~~~~~~~~~~~~~ Kafka生产过程分析: Kafka API 高级api: 生产者    自定义分区功能 低级api: ps:  API需要实践出真知!

Kafka入门学习

1, http://www.cnblogs.com/quchunhui/p/5356511.html http://www.cnblogs.com/quchunhui/p/5356511.html http://blog.csdn.net/hmsiwtv/article/details/46960053 2,https://www.cnblogs.com/opaljc/archive/2012/03/25/2416545.html https://www.cnblogs.com/imarno/p

阿里封神谈hadoop学习之路

阿里封神谈hadoop学习之路 封神 2016-04-14 16:03:51 浏览3283 评论3 发表于: 阿里云E-MapReduce >> 开源大数据周刊 hadoop 学生 spark 摘要: 在大数据时代,要想个性化实现业务的需求,还是得操纵各类的大数据软件,如:hadoop.hive.spark等.笔者(阿里封神)混迹Hadoop圈子多年,经历了云梯1.ODPS等项目,目前base在E-Mapreduce.在这,笔者尽可能梳理下hadoop的学习之路. 引言 当前,越来越多的同学进

ELK + Kafka + Filebeat

ELK + Kafka + Filebeat学习 https://blog.csdn.net/qq_21383435/article/details/79463832 https://blog.csdn.net/xiangyuan1988/article/details/78977471 https://www.jianshu.com/p/f149a76ea5b5 https://blog.csdn.net/qq_21383435/article/category/7486820 ELK + K