什么是Kafka

官网介绍:

ApacheKafka是一个分布式流媒体平台。这到底是什么意思呢?

我们认为流媒体平台具有三个关键功能:

  1. 它可以让你发布和订阅记录流。在这方面,它类似于消​​息队列或企业消息传递系统。
  2. 它允许您以容错方式存储记录流。
  3. 它可以让您在发生记录时处理记录流。

几个概念:

  1. Kafka作为一个或多个服务器上的集群运行。
  2. Kafka集群以称为主题的类别存储记录流。
  3. 每个记录由一个键,一个值和一个时间戳组成。

详细介绍 :

这篇博客写的很详细

  • 下载安装

    官网下载地址: https://www.apache.org/dyn/closer.cgi?path=/kafka/2.5.0/kafka-2.5.0-src.tgz
  • 解压:tar zxf kafka_2.11-1.0.0
  • 启动Zookeeper:测试可以采用kafka自带zookeeper
	./bin/zookeeper-server-start.sh config/zookeeper.properties
  • 启动kafka:

    ./bin/kafka-server-start.sh config/server.properties

在默认的 kafka_2.11-1.0.0/config 目录下的server.properties文件中

默认端口为9092

操作kafka:

  • 创建名为test的topic
./bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
  • 创建生产者(生产消息):
./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

  • 创建消费者(消费消息):
./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

kafka集群

  • 创建配置文件 server.properties拷贝到其他机器

  • 修改server.properties配置,修改为:

    broker.id=1
listeners=PLAINTEXT://:9093
log.dir=/tmp/kafka-logs-1

broker.id:当前机器在集群中的唯一标识,每台服务器的broker.id都不能相同

log.dirs:是kafka接收消息存放路径

  • 启动
./bin/kafka-server-start.sh config/server.properties &
  • 创建topic
./bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 1 --topic test2
  • 查看topic
./bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test2

Topic:test2	PartitionCount:1	ReplicationFactor:3	Configs:
Topic: zhh-replicated-topic Partition: 0 Leader: 2 Replicas: 2,0,1 Isr: 2,0,1

第一行表示汇总信息. 有1个分区, 3份备份

第二行表示每个分区的信息,对分区0,领导节点id是2, 备份到2,0,1.

leader 表示负责某分区全部读写的节点. 每个分区都会有随机选择的leader.

Replicas 表示需要复制到的节点, 不管是否活着.

Isr 表示(“in-sync” replicas), 正在同步的备份, 表示可用的活着的节点

消息测试

  • 创建生产者
./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test2
  • 创建消费者
./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test2 --from-beginning

问题检测

  • 节点崩溃
ps aux | grep server.properties    #查看节点(73370)是否已启用
kill -9 73370 #杀死此节点
  • zookeeper

    zookeeper打开后要打开新的连接操作kafka。

有帮助请留言...

更多文章:点击这里

扫码关注公众号《ipoo》

kafka能做什么?kafka集群配置 (卡夫卡 大数据)的更多相关文章

  1. CentOS6安装各种大数据软件 第四章:Hadoop分布式集群配置

    相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...

  2. 大数据【一】集群配置及ssh免密认证

    八月迷情,这个月会对大数据进行一个快速的了解学习. 一.所需工具简介 首先我是在大数据实验一体机上进行集群管理学习,管理五台实验机,分别为master,slave1,slave2,slave3,cli ...

  3. HyperLedger Fabric基于zookeeper和kafka集群配置解析

    简述 在搭建HyperLedger Fabric环境的过程中,我们会用到一个configtx.yaml文件(可参考Hyperledger Fabric 1.0 从零开始(八)--Fabric多节点集群 ...

  4. kafka集群与zookeeper集群 配置过程

    Kafka的集群配置一般有三种方法,即 (1)Single node – single broker集群: (2)Single node – multiple broker集群:    (3)Mult ...

  5. hadoop+yarn+hbase+storm+kafka+spark+zookeeper)高可用集群详细配置

    配置 hadoop+yarn+hbase+storm+kafka+spark+zookeeper 高可用集群,同时安装相关组建:JDK,MySQL,Hive,Flume 文章目录 环境介绍 节点介绍 ...

  6. Kafka集群配置---Windows版

    Kafka是一种高吞吐量的分布式发布订阅的消息队列系统,Kafka对消息进行保存时是通过tipic进行分组的.今天我们仅实现Kafka集群的配置.理论的抽空在聊 前言 最近研究kafka,发现网上很多 ...

  7. kafka 基础知识梳理及集群环境部署记录

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

  8. kafka单机版的安装、集群部署 及使用

    1.安装kafka(单机版) 1.1上传 kafka_2.11-2.0.0.tgz 到 /root/Downloads 1.2解压 tar 包 tar -zxvf kafka_2.11-2.0.0.t ...

  9. zookeeper集群环境搭建(使用kafka的zookeeper搭建zk集群)

    ---恢复内容开始--- 使用kafka的zookeeper来搞集群的话和单纯用zk的其实差不了多少. 0.说在前头,搭建kafka集群之前请把每个服务器的jdk搞起来. 1.安装kafka wget ...

  10. Redis-5.0.0集群配置

    版本:redis-5.0.0 参考:http://redis.io/topics/cluster-tutorial. 集群部署交互式命令行工具:https://github.com/eyjian/re ...

随机推荐

  1. C# 数据操作系列 - 10 NHibernate初试

    0. 前言 在上一篇基本讲完了EF Core的入门级教程.从这一篇开始,我们试着去探索一下 .net core平台上更多的ORM框架.那么,这一篇开始我们就来试试NHibernate. 1. NHib ...

  2. Appium自动化(10) - appium高级元素定位方式之 UI Automator API 的详解

    如果你还想从头学起Appium,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1693896.html 前言 前面介绍过根据id,clas ...

  3. 3.3 Go浮点型

    1.Go浮点型 Go 语言提供了两种精度的浮点数,float32 和 float64,编译器默认声明为float64 小数类型就是存放小数的,如1.2 0.005 -2.32 package main ...

  4. 论文阅读:Reducing Transformer Depth On Demand With Structured Dropout

    Introduction 这篇paper是做Transformer压缩的,但其实bert的核心也就是transformer,这篇paper的实验里也做了bert的压缩.作者的主要工作是提出了Layer ...

  5. 模板:list列表显示

    作为视图,担当的角色就是显示数据.所以关键就是,借助JSTL的c:forEach标签遍历从CategoryServlet的list()的request.setAttribute("thecs ...

  6. 二、HTML基础标签4个

    标题标签<h1> —— <h6> <!DOCTYPE html> <html> <head> <meta charset=" ...

  7. JavaScript编程入门

    写在前面: 不管容易还是简单 总要尝试才知道答案     1.JavaScript初探   JavaScript:轻量级脚本语言,是可插入HTML页面的编程代码. 将JavaScript插入HTML页 ...

  8. 第 7 篇:文章详情的 API 接口

    作者:HelloGitHub-追梦人物 一旦我们使用了视图集,并实现了 HTTP 请求对应的 action 方法(对应规则的说明见 使用视图集简化代码),将其在路由器中注册后,django-restf ...

  9. 数据库原理实验指导(三)使用SQL语言进行简单查询【转载csdn】

    --1.查询全体学生的学号和姓名select sno,sname from student --2.查询全体学生的详细记录select * from student --3.查询软件学院的学生姓名,年 ...

  10. 前端和Nodejs的关系 简单理解

    前端使用JS脚本语言进行开发. JS脚本语言需要依赖一个平台运行,从而生成可视化的东西. Node.js提供这个平台,同时提供JS运行需要的一些插件.库.包.轮子.组件.功能等等. JavaScrip ...