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..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的学习(一)的更多相关文章
- kafka基本原理学习
下载安装地址:http://kafka.apache.org/downloads.html 原文链接:http://www.jasongj.com/2015/01/02/Kafka深度解析 Kafk ...
- Kafka入门学习(一)
====常用开源分布式消息系统 *集群:多台机器组成的系统叫集群. *ActiveMQ还是支持JMS的一种消息中间件. *阿里巴巴metaq,rocketmq都有kafka的影子. *kafka的动态 ...
- Kafka入门学习随记(二)
====Kafka消费者模型 参考博客:http://www.tuicool.com/articles/fI7J3m --分区消费模型 分区消费架构图 图中kafka集群有两台服务器(Server), ...
- Kafka入门学习--基础
Kafka是什么 Kafka是最初由Linkedin公司开发,是一个分布式.支持分区的(partition).多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就可 ...
- kafka初步学习
消息系统 什么是消息系统? 消息系统负责将数据从一个应用程序传输到另一个应用程序,因此应用程序可以专注于数据,但不担心如何共享它.分布式消息传递给予可靠消息队列的概念.消息在客户端应用程序和消息传递系 ...
- Kafka自我学习-报错篇
1. kafka启动出现:Unsupported major.minor version 52.0 错误, 具体的错误输出: Exception in thread "main" ...
- Kafka自我学习3-Scalable
1.After created the zookeeper cluster, we found all broker cluster topic can be find in zoo1, zoo2, ...
- Kafka自我学习2-Zookeeper cluster
Test enviroment : zoo1, zoo2, zoo3 cluster 1. Install zookeeper, package in kafka [root@zoo1 ~]# pwd ...
- Kafka自我学习1-Multi-broker cluster
====================================Testing environment =========================================== ...
- 大数据kafka视频教程 学习记录【B站尚硅谷 】
视频地址: https://www.bilibili.com/video/av35354301/?p=1 2019/03/06 21:59 消息队列的内部实现: Kafka基础: ...
随机推荐
- Django drf:序列化增删改查、局部与全局钩子源码流程、认证源码分析、执行流程
一.序列化类的增.删.改.查 用drf的序列化组件 -定义一个类继承class BookSerializer(serializers.Serializer): -写字段,如果不指定source ...
- vue sample
<template> <section> <header class="top_tips"> <span class="num_ ...
- asp.net中数据库事务管理
英文搜索关键字: 文章地址:https://stackoverflow.com/questions/313199/sql-transactions-best-way-to-implement-in-a ...
- tensorflow实战笔记(19)----使用freeze_graph.py将ckpt转为pb文件
一.作用: https://blog.csdn.net/yjl9122/article/details/78341689 这节是关于tensorflow的Freezing,字面意思是冷冻,可理解为整合 ...
- PHP返回JSON数据及中文编码问题的解决方案
在处理app接口的时候 ,中文在经过json_encode之后 变成\ \格式 想在返回接口的时候 中文不被转换 解决办法 第一种解决办法 exit(json_encode($result,JSON ...
- EMF保存CDATA
/** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated NOT */ public String ...
- 洛谷P1373 小a和uim之大逃离【线性dp】
题目:https://www.luogu.org/problemnew/show/P1373 题意: 有一个n*m的地图,每个点上有一个数值.两个人在任一点开始任一点结束,只能往右或往下走,轮流收集数 ...
- JQuery 实践--扩展JQuery
Why扩展JQuery通过扩展可以利用JQuery所提供的现有代码基础.避免从头编写代码 有效扩展JQuery的规则扩展JQuery的两种形式: $上直接定义实用工具函数 和JQuery包装集进行操作 ...
- luogu 2052 [NOI2011]道路修建 BFS序
据说dfs会爆栈,写一个 BFS 序更新就好了~ #include <bits/stdc++.h> #define N 1000005 #define ll long long #defi ...
- Python学习日记(五)——初识函数(set、深浅拷贝、三目运算、函数、全局变量和局部变量)
基本数据类型补充 set set集合,是一个无序且不重复的元素集合 #创建 s = {11,22,33,44}#类似字典 s = set() #转换 l = (11,22,33,44) s1 = se ...