写在最前面,先简单讲解一些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..tar.gz
cd zookeeper-3.4.
mkdir data
cd conf/
vim zoo.cfg
tickTime=
#dataDir=/path/to/zookeeper/data
dataDir=/usr/local/zookeeper-3.4./data
clientPort=
initLimit=
syncLimit=
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.-0.11.0.2.tgz
cd kafka_2.-0.11.0.2
cd config/
vim server.properties(只需要做修改) broker.id=
listeners=PLAINTEXT://0.0.0.0:9092
num.network.threads=
num.io.threads=
socket.send.buffer.bytes=
socket.receive.buffer.bytes=
socket.request.max.bytes=
log.dirs=/tmp/kafka-logs
num.partitions=
num.recovery.threads.per.data.dir=
offsets.topic.replication.factor=
transaction.state.log.replication.factor=
transaction.state.log.min.isr=
log.retention.hours=
log.segment.bytes=
log.retention.check.interval.ms=
zookeeper.connect=localhost:
zookeeper.connection.timeout.ms=
group.initial.rebalance.delay.ms= bin/kafka-server-start.sh config/server.properties #启动kafka broker
jps #这是我启动了三个kafka的效果
Kafka
QuorumPeerMain
Bootstrap
Kafka
Jps
Kafka
以上就启动完成

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

  1. kafka基本原理学习

    下载安装地址:http://kafka.apache.org/downloads.html  原文链接:http://www.jasongj.com/2015/01/02/Kafka深度解析 Kafk ...

  2. Kafka入门学习(一)

    ====常用开源分布式消息系统 *集群:多台机器组成的系统叫集群. *ActiveMQ还是支持JMS的一种消息中间件. *阿里巴巴metaq,rocketmq都有kafka的影子. *kafka的动态 ...

  3. Kafka入门学习随记(二)

    ====Kafka消费者模型 参考博客:http://www.tuicool.com/articles/fI7J3m --分区消费模型 分区消费架构图 图中kafka集群有两台服务器(Server), ...

  4. Kafka入门学习--基础

    Kafka是什么 Kafka是最初由Linkedin公司开发,是一个分布式.支持分区的(partition).多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就可 ...

  5. kafka初步学习

    消息系统 什么是消息系统? 消息系统负责将数据从一个应用程序传输到另一个应用程序,因此应用程序可以专注于数据,但不担心如何共享它.分布式消息传递给予可靠消息队列的概念.消息在客户端应用程序和消息传递系 ...

  6. Kafka自我学习-报错篇

    1. kafka启动出现:Unsupported major.minor version 52.0 错误,  具体的错误输出: Exception in thread "main" ...

  7. Kafka自我学习3-Scalable

    1.After created the zookeeper cluster, we found all broker cluster topic can be find in zoo1, zoo2, ...

  8. Kafka自我学习2-Zookeeper cluster

    Test enviroment : zoo1, zoo2, zoo3 cluster 1. Install zookeeper, package in kafka [root@zoo1 ~]# pwd ...

  9. Kafka自我学习1-Multi-broker cluster

    ====================================Testing environment =========================================== ...

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

    视频地址: https://www.bilibili.com/video/av35354301/?p=1           2019/03/06 21:59 消息队列的内部实现: Kafka基础: ...

随机推荐

  1. elasticsearch + kibana + x-pack + logstash_集群部署安装

    elasticsearch 部分总体描述: 1.elasticsearch 的概念及特点.概念:elasticsearch 是一个基于 lucene 的搜索服务器.lucene 是全文搜索的一个框架. ...

  2. Linux学习之六-Linux系统的基础优化

    Linux系统的基础优化 何谓'优化'.顾名思义,优化就是采取某些措施使某个东西或者某事物变得更加优异,出色.对于Linux而言,在初期安装好系统之后,也需要对其进行一定的基础优化,可分为安全上的优化 ...

  3. (17)for循环

    # 把容器里数据拿出来的这个过程 可以叫遍历 迭代 循环 listvar = [1, 2, 3, 4, 5] print(len(listvar)) # 算出列表里面所有元素的个数,len是计算长度 ...

  4. Python网络爬虫四大选择器(正则表达式、BS4、Xpath、CSS)总结

    一.正则表达式 正则表达式为我们提供了抓取数据的快捷方式.虽然该正则表达式更容易适应未来变化,但又存在难以构造.可读性差的问题.当在爬京东网的时候,正则表达式如下图所示: 此外 ,我们都知道,网页时常 ...

  5. HttpClient获取数据

    HttpClient 是Apache Jakarta Common 下的子项目,可以用来提供高效的.最新的.功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议 ...

  6. Collections(一)

    方法注释 /** * Returns an immutable list containing only the specified object. * The returned list is se ...

  7. Vue基础认识

     一:什么是Vue? vue是一个渐进式的JavaScript框架,采用的是MVVM模式.Vue 被设计为可以自底向上逐层应用.Vue 的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整 ...

  8. mysql对两个字段进行自定义排序

    Mysql order by 多字段排序 ') desc,ADD_DATE desc mysql单个字段降序排序: select * from table order by id desc; mysq ...

  9. ServletContextListener和ServletContext

    web开发中,每个人都必须要深刻掌握的技能——servlet,学习servlet,就必然要理解ServletContext(javax.servle.ServletContext)接口. 先让我们看下 ...

  10. C语言学习系列(六)存储类

    一.C存储类 存储类定义C程序中变量/函数的范围(可见性)和生命周期.这些说明符放置在他们所修饰的类型之前.for example:auto.register.static.extern. (一).a ...