四.Spark Streaming之kafka单节点单broker部署及使用(一)

一.介绍

1).概念:
    kafka是用于构建实时数据管道和流媒体应用。它是水平扩展的,容错的,快速的,并且在成千上万的公司中使用。消息中间件: 生产者和消费者

2).举例说明:
妈妈: 生产者
你 : 消费者
馒头: 数据流

正常情况下: 生产一个 消费一个
其他情况:
     一直生产,你吃到某一个馒头时,你卡住(机器故障),馒头就丢失了
     一直生产,做馒头速度快,你吃来不及,馒头也就丢失了

拿个碗/篮子,馒头做好以后先放在篮子里,你要吃的时候去篮子里面取出来吃

篮子/筐(kafka服务):
当篮子满了,馒头就装不下了,咋办?
多准备几个篮子,相当于就是kafka的扩容

3). 一个流处理平台应该最基本的具备以下三个能力:

     1.能够让你订阅和发布你的流的记录,类似于消息队列
     2.以容错的方式存储记录
     3.当这个记录产生的时候,能让你时时刻刻处理这个记录

4).kafka的优势:

 1.构建时时的流数据的管道,从系统和应用程序之间获取数据.
 2.构建时时的流处理程序能够转换和产生一些结果

5).kafka架构及核心概念:

     producer: 生产者,就是生产馒头的(老妈)

     consumer: 消费者,就是吃馒头的(你)

     broker: 篮子(多个server)

     topic:  主题,给馒头打一个标签,比如:topic a的馒头是给你吃的,topic b的馒头时给你弟弟吃的(打标签进行区分)

     核心概念:
         1) kafka可以以一个或者多个server运行在集群上面
         2) 给数据记录打标签,消费者可以选择性的进行消费
         3) 每一条记录都有一个key,value和一个时间戳组成.

二.zookeeper的安装配置
1).在搭建kafka之前首先要搭建zookeeper的环境,搭建过程如下:

wget  http://archive.cloudera.com/cdh5/cdh/5/zookeeper-3.4.5-cdh5.7.0.tar.gz

下载完成之后,通过tar命令解压缩,配置全局环境变量,然后开始对配置文件进行修改,找到conf下的zoo_sample.cfg复制一份取名zoo.cfg,打开其进行配置文件的修改:

dataDir=/root/data/tmp/zk

创建一个已经存在文件夹路径,作为zookeeper数据文件的存储路径即可。
2).启动zookeeper服务端和客户端进入到bin目录下:
启动服务端:

./zkServer.sh start

启动客户端:

./zkCli.sh

3).简单操作:
在这里插入图片描述

三.kafka的环境搭建及使用
1)首先是下载二进制文件,一定要注意,下载的时候要对应自己电脑上的scala的版本,因为kafka是scala编写的,如果版本不统一,后续会出问题:

wget https://archive.apache.org/dist/kafka/0.9.0.0/kafka_2.10-0.9.0.0.tgz

解压缩之后配置全局环境变量,然后开始修改配置文件,找到安装文件中的config目录下的server,properties文件,打开进行如下修改:

   把host.name的注释解掉,改成本机的ip
   host.name=hadoop000
   日志存储路径
   log.dirs=/root/data/tmp/kafka-logs
   分区数量:
   num.partitions=1 暂不做修改
   zookeeper地址:
   zookeeper.connect=hadoop000:2181

完成以上配置之后,就可以启动kafka了。
2).启动命令:

kafka-server-start.sh $KAFKA_HOME/config/server.properties

启动成功的标志:
在这里插入图片描述
或者可以通过jps -m 查看是否有该进程:
在这里插入图片描述

3).创建topic(指定zookeeper):

kafka-topics.sh --create --zookeeper hadoop000:2181 --replication-factor 1 --partitions 1 --topic hello_topic

–replication-factor     表示副本系数
–partitions                表示分区数量
–topic                       表示标签(topic)的名字
在这里插入图片描述
查看zookeeper中的创建的标签:

kafka-topics.sh --list --zookeeper hadoop000:2181

在这里插入图片描述

4).发送消息(生产者指定broker):

kafka-console-producer.sh --broker-list hadoop000:9092 --topic hello_topic

启动之后的界面如下:
在这里插入图片描述
5).开始消费(消费者指定zookeeper):

kafka-console-consumer.sh --zookeeper hadoop000:2181 --topic hello_topic --from-beginning

–from-beginning 表示从头消费,就算你断开了,等你再次消费的时候,以前的消费记录还在,如果不加就表示从你当前消费开始记录。
在这里插入图片描述

注意:
官网给的不准确,消费的应该是zookeeper中存在的去消费。

6).测试实时生产和消费:

生产者生产几条数据:
在这里插入图片描述
查看消费者是否消费:
在这里插入图片描述

7).扩展:
查看所有topic的详细信息:

kafka-topics.sh --describe --zookeeper hadoop000:2181

显示效果:
在这里插入图片描述

以上就完成了kafka单节点单broker的搭建和基本的使用,虽然有点麻烦,但是完成之后感觉就是一些基本的配置,详细的资料参考
官网
,里面有的命令不太准确,善用。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值