共计 2271 个字符,预计需要花费 6 分钟才能阅读完成。
一. 关于 kafka
Kafka 是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。对于像 Hadoop 的一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka 的目的是通过 Hadoop 的并行加载机制来统一线上和离线的消息处理,也是为了通过集群机来提供实时的消费。
关于 Kafka 的更多介绍请参考:http://www.linuxidc.com/Linux/2016-02/128495.htm
二. 准备工作
1. 配置各主机 IP。将各主机 IP 配置为静态 IP(保证各主机可以正常通信,为避免过多的网络传输,建议在同一网段)
2. 修改机器主机名。Kafka 集群中的所有主机都需要修改。
3. 配置各主机映射。修改 hosts 文件,加入各主机 IP 和主机名的映射。
4. 开放相应端口。后面文档中配置的端口都需要开放(或者关闭防火墙),root 权限。
5. 保证 Zookeeper 集群服务能够正常运行。其实只要 Zookeeper 集群部署成功,上面的准备工作基本都能做好了。关于 Zookeeper 的部署请参考:http://www.linuxidc.com/Linux/2016-02/128496.htm
三. 安装 Kafka
1. 下载 kafka 安装包,访问 Kafka 官网下载对应版本即可。这里使用的版本为 2.9.2-0.8.1.1。
2. 使用下面的命令解压安装包
tar -zxvf kafka_2.9.2-0.8.1.1.tgz
3. 修改配置文件,简单配置只需要修改 /config/server.properties 文件即可。
vim config/server.properties
需要修改的内容:
broker.id(标示当前 server 在集群中的 id,从 0 开始);port;host.name(当前的 server host name);zookeeper.connect(连接的 zookeeper 集群);log.dirs(log 的存储目录,需要提前创建)。
示例:
4. 把配置好的 kafka 上传到其他节点上
scp -r kafka node2:/usr/
注意,上传之后不要忘了修改 broker.id 和 host.nam 等每个节点独有的配置。
四. 启动并测试 Kafka
1. 首先启动 Zookeeper,之后使用一下命令启动 Kafka,启动成功之后会有信息提示。
./bin/kafka-server-start.sh config/server.properties &
2. 对 Kafka 进行测试。分别创建 topic,producer,consumer,最好是在不同的节点上创建。在 producer 的控制台上输入信息,观察 consumer 控制台是否能够接收到。
创建 topic:
./bin/kafka-topics.sh -zookeeper node1:2181,node2:2181,node3:2181 -topic test -replication-factor 2 -partitions 3 -create
查看 topic:
./bin/kafka-topics.sh -zookeeper node1:2181,node2:2181,node3:2181 -list
创建 producer:
./bin/kafka-console-producer.sh -broker-list node1:9092,node2:9092,node3:9092 -topic test
创建 consumer:
./bin/kafka-console-consumer.sh -zookeeper node1:2181,node2:2181,node3:2181 – from-begining -topic test
测试:
在 producer 的控制台输入信息,查看 consumer 的控制台能否接收到。
producer:
consumer
经过以上的配置和测试,Kafka 已经初步部署好了,接下来可以根据具体的需求配置和操作 Kafka。关于 Kafka 的更多操作和更具体的使用方法请参考官网文档。https://cwiki.apache.org/confluence/display/KAFKA/Index
相关阅读 :
分布式发布订阅消息系统 Kafka 架构设计 http://www.linuxidc.com/Linux/2013-11/92751.htm
Apache Kafka 代码实例 http://www.linuxidc.com/Linux/2013-11/92754.htm
Apache Kafka 教程笔记 http://www.linuxidc.com/Linux/2014-01/94682.htm
Apache kafka 原理与特性 (0.8V) http://www.linuxidc.com/Linux/2014-09/107388.htm
Kafka 部署与代码实例 http://www.linuxidc.com/Linux/2014-09/107387.htm
Kafka 介绍和集群环境搭建 http://www.linuxidc.com/Linux/2014-09/107382.htm
Kafka 的详细介绍 :请点这里
Kafka 的下载地址 :请点这里
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-02/128497.htm