什么是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. strom_hdfs与Sequence详解

    这片博客主要是讲解storm-hdfs,Squence及它们的trident方法使用,不多说上代码: pom.xml <dependency> <groupId>org.apa ...

  2. js 获取table tr td内的select 和input text

    $("#TableList tr").each(function () {                //for (var i = 1; i <= AM_index; i ...

  3. UVA10779 Collectors Problem

    题目链接:https://cn.vjudge.net/problem/UVA-10779 前言: 本题是关于姜志豪<网络流的一些建模方法>的笔记. 知识点: 最大流 题意摘抄: \(Bob ...

  4. HDU3117

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3117 题目大意:对于给定的一个数 n ,求斐波那契数F(n).对于超过八位的数,给出首末四位即可. 解 ...

  5. win-sudo插件解决Git bash 执行脚本报错问题 bash: sudo: command not found

    Windows git bash 默认没有sudo命令,可以添加win-sudo插件实现该功能 curl -s https://raw.githubusercontent.com/imachug/wi ...

  6. pyqt5_实例:修改xml文件中节点值

    需求: 将类似如下xml文件的externalid节点值修改成不重复的值 实现该功能的代码Func.py: #coding=utf-8 ''' Created on 2019年10月15日 @auth ...

  7. Opencv+Python实现缺陷检测

    实验七.缺陷检测 一. 题目描述 ​ 对下面的图片进行缺陷检测操作,请详细地记录每一步操作的步骤. ​ 第一站图片是标准样品,后面几张图中有几个样品有瑕疵,需要你通过计算在图片上显示出哪张是合格,哪张 ...

  8. (一) Vue在创建的时候 入口文件 及相关的路由配置(及子路由配置)

    1. 首先明确一点  在书写之前尽量保持相关的文件知道含义 比如 components 啥的 知道是要放什么东西 在这里介绍一下   由于 vue 不是系统学习 所以很多的创建方式可能不一样  就是有 ...

  9. 关于VMware问题:无法获得 VMCI 驱动程序的版本: 句柄无效。驱动程序“vmci.sys”的版本不正确

    有的童鞋可能安装虚拟机时出现了下边这样的错误,莫慌,下面咋们来解决!!! 1.首先,找到你的安装虚拟机的目录下有一个.vmx的文件 找到这个文件,用编辑器打开,将该值改为FALSE即可!

  10. 如何在npm发布轮子

    我们在前端工程开发中通常使用npm这个包管理器来安装各种好用的轮子(当然也有用yarn的),不安分的码工就想,也发布一个试试,哪怕只是一个小时候滚的铁环而不是轮子. 首先,要在 npmjs官网注册自己 ...