Kafka的入门及安装使用

Kafka学习之路 (一)Kafka的简介

Kafka学习之路 (二)Kafka的架构

Kafka学习之路 (三)Kafka的高可用

Kafka学习之路 (四)Kafka的安装

Kafka学习之路 (五)Kafka在zookeeper中的存储

二:Kafka架构原理

(一)Kafka应用场景

Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx日志、访问日志,消息服务等等,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。

主要应用场景是:日志收集系统和消息系统。

(二)Kafka集群系统

Kafka是一个分布式集群,内部有很多server组成,这些server称为blocker(中间商),blocker管理数据时,会对数据进行分区操作。

因为一个Kafka集群会对很多子系统进行服务,不同子系统发送的消息需要进行区分,则可以通过topics主题进行区分。 而每一个topic中的消息都会进行分区,例如:partition1、partition2.....通过分区可以进行负载均衡。将各个分区可以放入到不同的server中,可以进行负载均衡。

1:kafka是一个分布式的消息缓存系统
2:kafka集群中的服务器都叫做broker
3:kafka有两类客户端,一类叫producer(消息生产者),一类叫做consumer(消息消费者),客户端和broker服务器之间采用tcp协议连接
4:kafka中不同业务系统的消息可以通过topic进行区分,而且每一个消息topic都会被分区,以分担消息读写的负载
5:每一个分区都可以有多个副本,以防止数据的丢失
6:某一个分区中的数据如果需要更新,都必须通过该分区所有副本中的leader来更新
7:消费者可以分组,比如有两个消费者组A和B,共同消费一个topic:order_info,A和B所消费的消息不会重复
比如 order_info 中有100个消息,每个消息有一个id,编号从0-99,那么,如果A组消费0-49号,B组就消费50-99号
8:消费者在具体消费某个topic中的消息时,可以指定起始偏移量(例如:在消费某个消息时,中途故障,那么下一次可以指定起始偏移量,接着之前的数据下载)

三:Kafka安装

(一)需要提前安装zookeeper,进行集群协调

(二)集群安装

1、解压
2、修改server.properties
broker.id=1  注意:每一个节点的id都应该唯一
zookeeper.connect=hadoopH5:2181,hadoopH6:2181,hadoopH7:2181

3、将zookeeper集群启动

4、在每一台节点上启动broker
bin/kafka-server-start.sh config/server.properties

补充:在4中,启动集群以后,可以使用zookeeper进行节点查看

zkCli.sh
ls /brokers/ids

启动进程查看:

(三)在集群中创建topic

5、在kafka集群中创建一个topic
bin/kafka-topics.sh --create --zookeeper hadoopH5:2181 --replication-factor 3 --partitions 1 --topic order

注意:副本数不能大于启动节点数。我们这里启动3节点,所有设置副本3.分区1(分区越少,顺序性越强)

可以使用 bin/kafka-topics.sh --list --zookeeper hadoopH5:2181来查看集群topic

(四)使用生产者向Kafka的topic写入消息

6、用一个producer向某一个topic中写入消息
bin/kafka-console-producer.sh --broker-list hadoopH5:9092 --topic order

开启后,每输入一行数据,就是一个消息。

(五)使用消费者进行消息读取

7、用一个comsumer从某一个topic中读取信息
bin/kafka-console-consumer.sh --zookeeper hadoopH5:2181 --from-beginning --topic order

生产和消费都是同步的。from-beginning设置偏移量从头开始,即读取全部消息。若是不设置,则从当前时刻开始读取消息

(六)分区状态查看

8、查看一个topic的分区及副本状态信息
bin/kafka-topics.sh --describe --zookeeper hadoopH5:2181 --topic order

原文地址:https://www.cnblogs.com/ssyfj/p/12430916.html

时间: 2024-10-15 12:30:38

Kafka的入门及安装使用的相关文章

kafka急速入门与核心API解析

kafka急速入门与核心API kafka急速入门与核心API解析 kafka环境安装 上一节课我们已经对kafka的基本概念.核心思想有了一定的了解和认知,并且掌握了kafka在实际工作中的一些主要的应用场景.那么接下来,我们就一起快速进入kafka的安装吧. kafka下载地址:http://kafka.apache.org/downloads.html kafka安装步骤:首先kafka安装需要依赖与zookeeper,所以小伙伴们先准备好zookeeper环境(三个节点即可),然后我们来

HBase入门之安装测试过程(Local Filesystem)

目    标:学习Hbase,实现在本地文件系统中中安装Hbase 参考资料:apache官方文档,Hbase Quick Start 环    境:MacOS上运行虚拟机,虚拟机中操作系统为CentOS 安装过程: 1.安装JDK,本次安装过程中使用的JDK版本是jdk1.8.下载JDK后,执行默认安装: 2.下载HBase(http://mirror.esocc.com/apache/hbase/hbase-0.98.3/),本次安装过程中下载的Hbase版本为0.98.3: 3.解压下载文

Cassandra入门指南--安装及配置

Cassandra入门指南--安装及配置 cassandra安装配置

第七节 VMware View 6.0 菜鸟入门 Composer 安装和部署

第七节 VMware View 6.0 菜鸟入门 Composer 安装和部署 一.创建ComposerDB 数据库 在vc虚拟机中的数据库创建ComposerDB 创建ODBC,打开开始菜单--->管理工具---->数据源(ODBC) 二.安装View -Composer 软件 下载VMware-viewcomposer-6.0.1-2078421.exe 软件 输入域管理员的账户和密码 安装完后重启计算机

Kafka Streams入门指南

应该会有不少人觉得我标题打错了,是不是想讲SparkStreaming或者Kafka+SparkStreaming啊?实际上这不是笔误,Kafka Streams是Kafka 0.10提供的新能力,用于实时处理Kafka中的数据流,和现有的流处理技术如SparkStreaming,Storm,Flink还是有些区别的. 1 概况 Kafka Streams是一套处理分析Kafka中存储数据的客户端类库,处理完的数据或者写回Kafka,或者发送给外部系统.它构建在一些重要的流处理概念之上:区分事件

Unreal4 入门(安装)

使用Unreal4引擎前需要安装 或者编译引擎. 下面就为同学们介绍下 Unreal4 安装配置. 一. 在Win7下安装Unreal4 在Win7下安装Unreal4需要以下几个步骤: 1. 打开"控制面板"的"程序和功能" 检查是否已安装 Microsoft Visual C++ 2010 Redistributable ,请同学们先卸载掉,否则下面安装DXSDK_Jun10时会出现Error Code:S1023的错误.(卸载完成一定要重启电脑 不然还会出现E

【转】kafka概念入门[一]

转载的,原文:http://www.cnblogs.com/intsmaze/p/6386616.html ----------------------------------------------------------------------------------------------------- Kafka概念入门(一) 序:如何保证kafka全局消息有序? 比如,有100条有序数据,生产者发送到kafka集群,kafka的分片有4个,可能的情况就是一个分片保存0-25,一个保存2

Oracle GoldenGate零基础入门培训--安装、配置、诊断

Oracle GoldenGate零基础入门培训--安装.配置.诊断课程学习地址:http://www.xuetuwuyou.com/course/158课程出自学途无忧网:http://www.xuetuwuyou.com 一.课程介绍: 本课程通过理论讲解以及实战操作的方式,向大家阐述了GoldenGate数据复制软件的产品体系.技术架构.安装配置.数据初始化.数据复制及操作.安全控制等相关内容.课程结合讲师的理解和实际工作经验对部分难点.重点.易错点进行了比较深入的探讨,希望可以为大家带来

Kafka 之 入门

一.入门 1.    简介 Kafka is a distributed, partitioned, replicated commit log service.它提供了类似于JMS的特性,但是在设计实现上完全不同,此外它并不是JMS规范的实现.kafka对消息保存时根据Topic进行归类,发送消息者成为Producer,消息接受者成为Consumer,此外kafka集群有多个kafka实例组成,每个实例(server)成为broker.无论是kafka集群,还是producer和consume