【老贝伏枥】-2.kafka单机实践-单机

浏览: 132

2.1 安装

  1)、下载安装组件

    首先准备虚拟机,CentOs/Redhat,按自己喜好来。

    下载安装介质:https://www.apache.org/dyn/closer.cgi?path=/kafka/1.1.0/kafka_2.11-1.1.0.tgz

    如果没虚拟机,直接可以在DOS运行,执行文件在bin/windows目录。

  2)、安装

    So easy!没有安装过程,直接解压压缩包到指定目录即可。什么?tgz文件怎么解压?自个问度娘去吧。反正我度娘了几次才记住

  3)、配置,基本没啥需要配置的

    A、因为安装目录下有个lib目录,所以最起码安装一个JDK,再配置好JAVA_HOME。JDK安装程序到oracle官网下载,免费的,http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

    B、这一步骤配置一下KAFKA_HOME和PATH等环境变量

    JAVA_HOME = /opt/JDK_1.185

    KAFKA_HOME = /opt/kafka

    PATH = $KAFKA_HOME/bin:$JAVA_HOME/bin:$PATH

  4)、启动服务

    A、启动zookeeper,也就是要先把动物管理员叫起来,让管理员把kafka‘牵出来’开始工作。否则直接跳到B步骤试试就明白了,本着‘不见棺材不掉泪’的执着心态,我反正试过了。

    /opt/kafka/bin/zookeeper-server-start.sh config/zookeeper.properties &

    #里面都已经配置好了的,新手就别去改,端口默认是2181。

    #启动界面会出现大量的日志,以下是部分截图

    

    B、启动Kafka单节点

      #/opt/kafka/bin/kafka-server-start.sh config/server.properties &

      #配置文件都有默认值,端口是9092,broker=0

 

 5)、现在着手搭一个在线消息系统

   A、创建一个Topic

    #/opt/kafka/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic TianShanTest

    #表示要创建一个topic,--replication-factor 表示复制因子为1 --partitions 表示分区为1。

    #其实好理解,单机不像集群,别搞复杂了,一个分区一个备份。

   

  B、创建Producer

    #/opt/kafka/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic TianShanTest

    #表示消息的来源,通过localhost:9092 传输

    

    至于谁接受这个消息,请看下一步

  C、创建Consumer

   一个topic可以被多个Consumer使用

    #/opt/kafka/bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic TianShanTest --from-beginning

    #表示接受来自TianShanTest的消息,--from-beginning表示接收 该topic创建后产生的所有消息。

    #现在退出去该命令,过几分钟再执行该命令,中途没接收到的消息也全部显示出来了。

    

    上面2个步骤完成后,Producer发送消息,Consumer就可以实时接收消息,看起来像一个简单的聊天系统。

  Producer和Consumer均有API,基于API开发应用软件,Producer的信息可以来源于监控日志/网站/数据库,Consumer信息可以存DB/文件/用于spark steaming等。

推荐 2
本文由 贝克汉姆 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册