好玩的大数据之45:kafka(kafka_2.12-2.5.0)

一、简介


Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。(摘自百度百科)

二、下载


下载地址:https://kafka.apache.org/

下载得到:kafka_2.12-2.5.0.tgz


 Kafka主页
Kafka下载页面


tsinghua下载地址

三、安装


        tar zxvf kafka_2.12-2.5.0.tgz -C /mylab/soft/

四、配置


1.修改环境变量

修改~/.bashrc

vi ~/.bashrc

#kafka_2.12-2.5.0

export KAFKA_HOME=/mylab/soft/kafka_2.12-2.5.0

export PATH=$KAFKA_HOME/bin:$PATH

source ~/.bashrc

env

2.修改配置文件

 a) 创建工作目录

mkdir -p $KAFKA_HOME/working/zookeeper

mkdir -p $KAFKA_HOME/working/logs

ls $KAFKA_HOME/working

b) zookeeper.properties

vi $KAFKA_HOME/config/zookeeper.properties

        dataDir=/mylab/soft/kafka_2.12-2.5.0/working/zookeeper

c) server.propertiesc

vi $KAFKA_HOME/config/server.properties

        log.dirs=/mylab/soft/kafka_2.12-2.5.0/working/logs

        zookeeper.connect=master:2181

d) consumer.properties

vi $KAFKA_HOME/config/consumer.properties

        bootstrap.servers=master:9092

        group.id=test-consumer-group

五、启动和停止服务


        启动kafka服务

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

        停止用

                $KAFKA_HOME/bin/kafka-server-stop.sh

        要是没有外部的zookeeper,可以启动kafka内置的zookeeper

                $KAFKA_HOME/bin/zookeeper-server-start.sh -daemon $KAFKA_HOME/config/zookeeper.properties

        停止用

                $KAFKA_HOME/bin/zookeeper-server-stop.sh

六.测试


1.创建topic

        $KAFKA_HOME/bin/kafka-topics.sh --create --zookeeper master:2181 --topic test --partitions 1 --replication-factor 1

2.查看topic

        $KAFKA_HOME/bin/kafka-topics.sh --list --zookeeper master:2181

        $KAFKA_HOME/bin/kafka-topics.sh --describe --zookeeper master:2181 --topic test

3.从console往topic输入

        $KAFKA_HOME/bin/kafka-console-producer.sh --broker-list master:9092 --topic test

4.消费消息

        消费

        $KAFKA_HOME/bin/kafka-console-consumer.sh --bootstrap-server master:9092 --topic test

        从头开始消费

        $KAFKA_HOME/bin/kafka-console-consumer.sh --bootstrap-server master:9092 --topic test --from-beginning

        退出ctrl-C

消息的生产和消费

六.spark 相关


3.spark streaming-kafkad包

地址:https://mvnrepository.com/

搜索:spark-streaming-kafka

mvnrepository主页


spark-streaming-kafka搜索结果

好像只有scala 2.11版本的,没有scala 2.12版本的

https://mvnrepository.com/artifact/org.apache.spark/spark-streaming-kafka_2.11/1.6.3

spark-streaming-kafka_2.11-1.6.3.jar

前一个是scala版本(必须要匹配环境里的scala版本),后一个是kafka jar版本



scala-kafka编程一定要加上这句话

import scala.collection.JavaConversions._


spark-sql-kafka


七、参考URL


https://www.cnblogs.com/once/p/10146666.html 使用Docker快速搭建Zookeeper和kafka集群

你可能感兴趣的:(好玩的大数据之45:kafka(kafka_2.12-2.5.0))