培训课程Kafka
深入浅出hadoop
——培训讲师:吴超https://www.360docs.net/doc/776912669.html,
课程安排
Kafka是什么
kafka体系结构、设计理念简介* kafka的伪分布安装、集群安装* kafka的shell操作、java操作**
kafka设计理念*
Kafka存在的原因
kafka是由LinkedIn开发,主要是用来处理Linkedin的大面积活跃数据流处理
(activity stream). 此类的数据经常用来反映网站的一些有用的信息,比如PV,页面展示给哪些用户访问,用户搜索什么关键字最多,这类信息经常被log到文件里,然后线下且周期性的去分析这些数据。现在这种用户活跃数据已经成为互联网公司重要的一部分,所以必须构建一个更轻量且更精炼的基础架构。
活跃数据使用案列
分析一下用户行为(pageviews),以便我能设计出更好的广告位。
快速的统计用户投票,点击。
对用户的搜索关键词进行统计,分析出当前的流行趋势。
防止用户对网站进行无限制的抓取数据,以及超限制的使用API,辨别垃圾。
对网站进行全方位的实时监控,从而得到实时有效的性能数据,并且即使的发成警告。
批量的导入数据到数据仓库,对数据进行离线分析,从而得到有价值的商业信息。(0.6可以直接将数据导入Hadoop)
活跃数据的特点
高流量的活跃数据是无法确定其大小的,因为他可能随时的变化,比如商家可能促销,节假日打折,突然又冒出一个跳楼价等等。所有的数据可能是数量级的往上递增。传统日志分析方式都是需要离线,而且操作起来比较复杂,根本无法满足实时的分析。另一方面,现有的消息队列系统只能达到近似实时的分析,因为无法消费大量的持久化在队列系统上的信息。Kafka的目标就是能够成为一个高效的队列平台,无论是处理离线的信息还是在线的信息。
publish——subscribe
kafka是一个消息订阅和发布的系统
我们将消息的发布(publish)者称为producer,将消息的订阅(subscribe)者称为consumer,将中间的存储阵列称作broker。
kafka集群
核心概念topic
partition
offset consumer group
伪分布安装
tar -xzf kafka_2.10-0.8.1.1.tgz
启动ZK bin/zookeeper-server-start.sh
config/zookeeper.properties
启动服务 bin/kafka-server-start.sh
config/server.properties
创建主题 bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
查看主题 bin/kafka-topics.sh --list --zookeeper
localhost:2181
命令行客户端操作
创建生产者 bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
创建消费者 bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning
集群安装
安装zk集群
修改配置文件
broker.id:唯一,填数字
https://www.360docs.net/doc/776912669.html,:唯一,填服务器zookeeper.connect=192.168.40.134:2181, 192.168.40.132:2181,192.168.40.133:21 81