龙空技术网

三分钟快速掌握Kafka入门知识

合一学社 923

前言:

此刻我们对“centos6kafka”大概比较看重,朋友们都需要了解一些“centos6kafka”的相关文章。那么小编在网络上网罗了一些有关“centos6kafka””的相关资讯,希望大家能喜欢,小伙伴们快快来学习一下吧!

Apache Kafka是由Apache软件基金会开发的一个开源消息系统项目,由Scala写成。Kafka最初是由LinkedIn开发,并于2011年初开源。

该项目的目标是为处理实时数据提供一个统一、高通量、低等待的平台。

Kafka是一个分布式的、分区的、多复本的日志提交服务。它通过一种独一无二的设计提供了一个消息系统的功能。

日前,Apache Kafka 2.0.0 正式发布,超过30%的世界500强公司已经在使用Kafka。

Kafka的特性:

(1)高吞吐量、低延迟:kafka每秒可以处理几十万条消息,它的延迟最低只有几毫秒,每个topic可以分多个partition, consumer group 对partition进行consume操作;

(2)可扩展性:kafka集群支持热扩展;

(3)持久性、可靠性:消息被持久化到本地磁盘,并且支持数据备份防止数据丢失;

(4)容错性:允许集群中节点失败(若副本数量为n,则允许n-1个节点失败);

(5)高并发:支持数千个客户端同时读写;

(6)支持实时在线处理和离线处理:可以使用Storm这种实时流处理系统对消息进行实时进行处理,同时还可以使用Hadoop这种批处理系统进行离线处理;

Kafka的使用场景:

(1)日志收集:一个公司可以用Kafka可以收集各种服务的log,通过kafka以统一接口服务的方式开放给各种consumer,例如hadoop、Hbase、Solr等。

(2) 消息系统:解耦和生产者和消费者、缓存消息等。

(3)用户活动跟踪:Kafka经常被用来记录web用户或者app用户的各种活动,如浏览网页、搜索、点击等活动,这些活动信息被各个服务器发布到kafka的topic中,然后订阅者通过订阅这些topic来做实时的监控分析,或者装载到hadoop、数据仓库中做离线分析和挖掘。

(4) 运营指标:Kafka也经常用来记录运营监控数据。包括收集各种分布式应用的数据,生产各种操作的集中反馈,比如报警和报告。

(5)流式处理:比如spark streaming和storm

(6)事件源

Kafka的基本配置和运行:

Kafka支持Linux和WIndows环境,本文运行环境使用Linux(CentOS)。

Kafka官方地址为:

Kafka官方文档非常的详细,提供的快速入门也很友好,虽然是英文的,但是看命令就能明白,快速入门地址为:。下面内容基本摘自官方快速入门,建议对比英文原版了解更多。

1. 下载代码

首先从下面地址下载 Kafka,当前最新的版本为 2.0.0。

下载完成后,解压压缩包并进入Kafka目录:

2. 启动服务器

启动ZooKeeper

Kafka使用ZooKeeper,所以您需要先启动一个ZooKeeper服务器,如果您还没有。您可以使用随Kafka一起打包的便捷脚本来获取一个快速但是比较粗糙的单节点ZooKeeper实例。

这个 zookeeper中主要就3个配置:

我们需要记住zookeeper的端口 2181,在后面会用到。

Kafka基本配置

Kafka在config目录下提供了一个基本的配置文件。为了保证可以远程访问Kafka,我们需要修改两处配置。

打开config/server.properties文件,在很靠前的位置有listeners和 advertised.listeners两处配置的注释,去掉这两个注释,并且根据当前服务器的IP修改如下:

当前服务器IP为192.168.16.150,你需要修改为外网或局域网可以访问到的服务器IP。

启动Kafka

接下来启动Kafka服务:

创建 Topic

使用下面的命令创建 Topic。

除了命令方式外,使用后面介绍的Kafka-manager可以更方便的创建。

启动一个消费者

在一个新的终端执行下面的命令。

这个消费者就是简单的将消息输出到控制台。

启动生产者

启动后,可以输入内容,然后回车。

此时你应该可以在上一个消费者中看到有消息输出。

到此关于Kafka的基本命令就结束了。

对编程感兴趣,想了解更多的编程知识,关注头条号一起玩转编程

更多编程资讯、干货持续更新中~

标签: #centos6kafka