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等。