什么是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. Java Web项目部署到阿里云服务器(ECS)

    本篇随笔只是记录博主第一次将自己的Java项目部署到阿里云服务器的大致过程,具体细节还请参考别的博文. 一.项目介绍 我做的项目是利用maven项目构建工具进行搭建基于SSM框架的代码共享管理系统,主 ...

  2. Java基础之数据类型

    一.数据类型 基本数据类型介绍 byte 1字节 char 2字节 short 2字节 int 4字节 long 8字节 float 4字节 double 8字节 以上有Java中八大基本类型的7种, ...

  3. Django视图函数之三种响应模式

    视图函数响应处理: from django.shortcuts import render,HttpResponse,redirect (1)render 处理模板文件,可以渲染模板,第一个参数必须为 ...

  4. 给DataTable添加行的几种方式

    最近做项目的时候遇到向已有Table中添加另外一个Table中的某一行数据.我是采用这样思路做的: DataTable dtSource = xxxx;//获得的数据源 DataTable dtTar ...

  5. 在ORACLE中实现SELECT TOP N的方法----[转]

    1.在ORACLE中实现SELECT TOP N 由于ORACLE不支持SELECT TOP语句,所以在ORACLE中经常是用ORDER BY跟ROWNUM的组合来实现SELECT TOP N的查询. ...

  6. 就为了一个原子操作,其他CPU核心罢工了

    i++问题 "阿Q赶快回去吧,隔壁二号车间的虎子说我们改了他们的数据,上门来闹事了" 由于老K的突然出现,我不得不提前结束与小黑的交流,赶回了CPU一号车间. 见到我回来,虎子立刻 ...

  7. 走迷宫(二):在XX限制条件下,是否走得出

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1728 解题方法:BFS+访问数组vis[][]; 给你起点位置和终点位置,让你判断能不能到达,并且拐弯 ...

  8. vue使用stylus样式预处理器

    vue使用stylus样式预处理器,样式总是报错,需要从上一行的样式回车换行才不会报错 <style lang="stylus" scoped> .navbar mar ...

  9. C#中操作JSON

    引入支持JSON操作的库,比如LitJSON: 引入之后就可以解析JSON了. 写一个JSON文本 读取这个JSON文本: 解析JSON数据最佳实践--使用泛型,将泛型类型指定成自己定义的类型,直接获 ...

  10. C#日志记录类

    public class WriteLog { /// <summary> /// 将错误写入文件中 /// </summary> /// <param name=&qu ...