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. 用C#缩小照片上传到各种空间
  2. 【前端开发】优化代码之减少引入,css预编译语言的优点,stylus的使用
  3. 【收藏】Android更新UI的几种常见方法
  4. Django开发笔记之数据库的设计
  5. Spring IoC、DI入门小程序
  6. 全国各地电信DNS服务器地址
  7. JBoss JMX登录需要用户名密码的解决办法
  8. CHtml::radioButtonList
  9. javax.el.PropertyNotFoundException错误
  10. Sql Server Convert函数转换Datetime类型数据
  11. 【IUML】支持向量机SVM
  12. HDOJ-1052 田忌赛马(贪心)
  13. Go 处理yaml类型的配置文件
  14. ZooKeeper之(一)ZooKeeper是什么
  15. RabbitMQ安装后无法访问https://localhost:15672/ 控制台问题解决
  16. Luogu5058 [ZJOI2004]嗅探器
  17. ES6:export default 和 export 区别
  18. topcoder srm 692 div1 -23
  19. AngularJS初始化静态模板
  20. python 获取几小时之前,几分钟前,几天前,几个月前,及几年前的具体时间

热门文章

  1. 数据类型(三) + 流程控制(一) day05
  2. Java基础(三十四)String、StringBuffer类和数据缓冲区Buffer类
  3. Java基础(三)对象与类
  4. DirectX9:第一章 初始化Direct3D
  5. Unity5-ABSystem(一):AssetBundle原理
  6. 调用微信js sdk
  7. 【XSY2564】sequence
  8. Kong01-Kong 介绍
  9. python中str.isdigit()用法
  10. 求和:fft,表达式化简