写在最前面,先简单讲解一些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. golang GC(一 原理)

    golang中的gc采用三色标记法.在讲三色标记法之前,先了解一下Mark and Sweep算法,因为Mark and Sweep算法是三个标记法的一个改进版. Mark and Sweep算法: ...

  2. Linux高级网络设置——将多个网卡设置成一个网卡

    Linux下可以设置网卡模式 模式0:负载均衡 模式1:主备模式,不提高网络带宽 模式3:多网卡同时发送相同的数据 准备实验环境: Redhat 6.4 企业版64位,最小化安装. 给虚拟机添加网卡 ...

  3. ubuntu python3虚拟环境

    mkvirtualenv flow_chart -p /usr/bin/python3.6 #  命令    环境名    -p   python所在路径 pip install -r request ...

  4. 【shell】ping加时间戳回复

    ping 192.168.2.1 -c 10 | awk '{ print $0"\t" strftime("%H:%M:%S",systime()) } ' ...

  5. Python多线程爬虫爬取网页图片

    临近期末考试,但是根本不想复习!啊啊啊啊啊啊啊!!!! 于是做了一个爬虫,网址为 https://yande.re,网页图片为动漫美图(图片带点颜色........宅男福利 github项目地址为:h ...

  6. Java常用数学类和BigDecimal

    笔记: Math类 * java.lang.Math提供了一系列静态方法用于科学计算:其方法的参数和返回值类型一般为double型. * abs 绝对值 * acos,asin,atan,cos,si ...

  7. C语言——for循环和while循环的效率区别——类似哨兵思想

    int ID_Conv_Sentinel(int u16device_cfg_num) { int i8id; int size=0; int i=0; size = sizeof(Device_ID ...

  8. ELK---- kibana 安装 学习

    我已经安装了java环境,和elasticsearch.这只有存储,那么管理界面工具什么的,目前还没有,我就是用kibana进行安装. Kibana是一个开源的分析和可视化平台,设计用于和Elasti ...

  9. Vue项目搭建流程

    记录一下vue项目的搭建流程. 1.安装node.npm 下载地址为:https://nodejs.org/en/ 设置环境变量,命令行分别输入: node -v   npm -v  查看安装是否成功 ...

  10. JQuery实践--动画

    显示和隐藏没有动画的元素 使包装集里的元素隐藏 hide(speed,callback) speed:可选,速度.slow,normal,fastcallback:函数,可选,完成后调用的函数,无参数 ...