Kafka是由LinkedIn开发的一个分布式的消息系统,使用Scala编写,它以可水平扩展和高吞吐率而被广泛使用。目前越来越多的开源分布式处理系统如Cloudera、Apache Storm、Spark都支持与Kafka集成。

1.下载Kafka并安装

1)下载Apache版本的Kafka。

2)下载Cloudera版本的Kafka。

3)这里选择下载Apache版本的kafka_2.11-0.8.2.1.tgz ,然后上传至bigdata-pro01.kfk.com节点/opt/softwares/目录下

4)解压Kafka

tar -zxf kafka_2.11-0.8.2.1.tgz  -C /opt/modules/

2.Kafka集群配置

1)配置server.properties文件

vi kafka_2.11-0.8.2.1

#节点唯一标识

broker.id=0

#默认端口号

port=9092

#主机名绑定

host.name=bigdata-pro01.kfk.com

#Kafka数据目录

log.dirs=/opt/modules/kafka_2.11-0.8.2.1/tmp/kafka-logs

#配置Zookeeper

zookeeper.connect=bigdata-pro01.kfk.com:2181,bigdata-pro02.kfk.com:2181,bigdata-pro03.kfk.com:2181

2)配置zookeeper.properties文件

vi zookeeper.properties

#Zookeeper的数据存储路径与Zookeeper集群配置保持一致

dataDir=/opt/modules/zookeeper-3.4.5-cdh5.10.0/zkData

3)配置consumer.properties文件

#配置Zookeeper地址

zookeeper.connect=bigdata-pro01.kfk.com:2181,bigdata-pro02.kfk.com:2181,bigdata-pro03.kfk.com:2181

4)配置producer.properties文件

#配置Kafka集群地址

metadata.broker.list=bigdata-pro01.kfk.com:9092,bigdata-pro02.kfk.com:9092,bigdata-pro03.kfk.com:9092

5)Kafka分发到其他节点

scp -r kafka_2.11-0.8.2.1 bigdata-pro02.kfk.com:/opt/modules/

scp -r kafka_2.11-0.8.2.1 bigdata-pro03.kfk.com:/opt/modules/

6)修改另外两个节点的server.properties

#bigdata-pro02.kfk.com节点

broker.id=1

host.name=bigdata-pro02.kfk.com

#bigdata-pro03.kfk.com节点

broker.id=2

host.name=bigdata-pro03.kfk.com

3.启动Kafka集群并进行测试

1)各个节点启动Zookeeper集群

bin/zkServer.sh start

2)各个节点启动Kafka集群

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

3)创建topic

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

4)查看topic列表

bin/kafka-topics.sh --zookeeper localhost:2181 --list

5)生产者生成数据

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

6)消费者消费数据

bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning

最新文章

  1. PHP中的魔术方法(2)
  2. SDWebImage总结
  3. 图文详解MFC程序设置菜单快捷键
  4. Could not resolve placeholder
  5. 2016计蒜之道复赛 菜鸟物流的运输网络 网络流EK
  6. eclipse最有用快捷键整理(转)
  7. Mock原理学习
  8. 关于android混淆文件project.properties和proguard-project.txt详解
  9. 从SQL Server数据库转到Oracle数据库的数据脚本处理
  10. 201421123042 《Java程序设计》第8周学习总结
  11. 关于Debug和Release之本质区别的讨论
  12. Android 修改字体,跳不过的 Typeface
  13. mybatis动态sql之foreach标签
  14. 2018-08-14 中文代码之Spring Boot实现简单REST服务
  15. ZooKeeper典型应用场景概览
  16. asp.net mvc && asp.net 页面跳转
  17. Java原子类AtomicInteger实现原理的一点总结
  18. 跟着刚哥学习Spring框架--Spring容器(二)
  19. 用一条sql取得第10到第20条的记录-Mssql数据库
  20. 使用JAVA的URL类处理url事例

热门文章

  1. Linux - Shebang(#!)
  2. UIImageView的API
  3. [LeetCode] 735. Asteroid Collision
  4. 一个arctan积分的两种解法
  5. Update(Stage4):Spark Streaming原理_运行过程_高级特性
  6. 一、json与jsonp的使用
  7. Python - python里有类似Java的接口(interface)吗?
  8. jquery移除click事件
  9. nginx 的location的匹配顺序
  10. python操作日志