Kafka安装及测试

本文介绍了在Linux Ubuntu 16.04环境下安装Kafka的详细步骤,包括依赖Scala和ZooKeeper的安装,Kafka的配置以及使用内置或外置ZooKeeper的选项。此外,还展示了如何启动Kafka服务,创建并测试topic,以及使用console-producer和console-consumer进行消息的生产和消费。
摘要由CSDN通过智能技术生成

系统环境

Linux Ubuntu 16.04

jdk-7u75-linux-x64

相关知识

Kafka是由LinkedIn开发的一个分布式的消息系统,使用Scala编写,它因可以水平扩展和高吞吐率而被广泛使用。目前越来越多的开源分布式处理系统如Cloudera、Apache Storm、Spark都支持与Kafka集成。

Kafka是一种分布式的,基于发布/订阅的消息系统。主要设计目标如下:

(1)以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间复杂度的访问性能

(2)高吞吐率。即使在非常廉价的商用机器上也能做到单机支持每秒100K条以上消息的传输

(3)支持Kafka Server间的消息分区,及分布式消费,同时保证每个Partition内的消息顺序传输

(4)同时支持离线数据处理和实时数据处理

(5)Scale out:支持在线水平扩展

Kafka中各个组件的功能:

(1)Broker: Kafka集群包含一个或多个服务器,这种服务器被称为broker

(2)Topic:每条发布到Kafka集群的消息都有一个类别,这个类别被称为Topic。(物理上不同Topic的消息分开存储,逻辑上一个Topic的消息虽然保存于一个或多个broker上,但用户只需指定消息的Topic即可生产或消费数据,不必关心数据存于何处)

(3)Partition:Parition是物理上的概念,每个Topic包含一个或多个Partition

(4)Producer:负责发布消息到Kafka broker

(5)Consumer:消息消费者,向Kafka broker读取消息的客户端

(6)Consumer Group:每个Consumer属于一个特定的Consumer Group(可为每个Consumer指定group name,若不指定group name则属于默认的group)

在这里插入图片描述
如上图所示,一个典型的Kafka集群中包含若干Producer(可以是web前端产生的Page View,或者是服务器日志,系统CPU、Memory等),若干Broker(Kafka支持水平扩展,一般Broker数量越多,集群吞吐率越高),若干Consumer Group,以及一个ZooKeeper集群。Kafka通过ZooKeeper管理集群配置,选举Leader,以及在Consumer Group发生变化时进行rebalance。

Producer使用Push模式将消息发布到Broker,Consumer使用Pull模式从Broker订阅并消费消息。

任务内容

Kafka安装依赖Scala、ZooKeeper,所以需要先安装Scala与ZooKeeper。然后在已安装好Scala和ZooKeeper的环境基础上,安装部署Kafka。

任务步骤

1.首先在Linux本地,新建/data/kafka1目录,用于存放实验所需文件。

mkdir -p /data/kafka1  

切换目录到/data/kafka1下,使用wget命令,下载所需安装包scala-2.10.4.tgz,kafka_2.10-0.8.2.2.tgz以及zookeeper-3.4.5-cdh5.4.5.tar.gz。

cd /data/kafka1
wget http://192.168.1.100:60000/allfiles/kafka1/scala-2.10.4.tgz
wget http://192.168.1.100:60000/allfiles/kafka1/kafka_2.10-0.8.2.2.tgz
wget http://192.168.1.100:60000/allfiles/kafka1/zookeeper-3.4.5-cdh5.4.5.tar.gz

在这里插入图片描述
2.安装Scala。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值