Kafka是什么
Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。
Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群机来提供实时的消费
Kafka的安装
安装条件
Kafka的安装需要在Hadoop和Zookeeper已经成功安装的基础上,并要求Hadoop集群已经正常启动
如果准备在三台机器上安装 Kafka 则安装操作步骤需要分别在三台机器上进行操作。
从http://kafka.apache.org/ 获得Kafka的安装包
解压并安装Kafka
tar –zxvf kafka_2.10-0.8.1.1.tgz
配置Kafka
在主节点完成如下操作
cd /home/zkpk/kafka_2.10-0.8.1.1
#consumer.properties
zookeeper.connect=node1:2181,node2:2181,node3:2181/kafka0.11
#server.properties
broker.id=1
#不是存放日志,不要被名字误导。而是kafka持久化数据存储的路径,可指定多个,以逗号分隔
log.dirs=/opt/modules/kafka_2.11-0.11.0.2/data
num.partitions=3
zookeeper.connect=node1:2181,node2:2181,node3:2181
#真正删除主题
delete.topic.enable=true
将软件分发到各节点,修改:
环境变量
broker.id(分别改为2、3)
host.name
zookeeper.connect=hadoop0:2181,hadoop1:2181,hadoop2:2181
保存退出
启动Kafka:
在hadoop1、hadoop2、hadoop3分别启动Kafka
bin/kafka-server-start.sh -daemon config/server.properties
验证Kafka
创建一个test的主题
bin/kafka-topics.sh --create --zookeeper hadoop1:2181 --replication-factor 1 --partitions 1 --topic test
在一个终端上启动一个生产者
bin/kafka-console-producer.sh --broker-list hadoop1:9092 --topic test
验证Kafka
然后键入下面的信息
明天会更好
Hello world!
之后在另一个终端上启动一个消费者
bin/kafka-console-consumer.sh --zookeeper hadoop1:2181 --topic test --from-beginning
会发现屏幕上有同样的信息输出,证明Kafka集群已经搭建成功。输出