大数据学习之——kafka安装部署
来源:互联网 发布:双十一淘宝退货率 编辑:程序博客网 时间:2024/05/07 20:06
kafka介绍
Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。
消息的发布(publish)称作producer,消息的订阅(subscribe)称作consumer,中间的存储阵列称作broker。
多个broker协同合作,producer、consumer和broker三者之间通过zookeeper来协调请求和转发。
producer产生和推送(push)数据到broker,consumer从broker拉取(pull)数据并进行处理。
broker端不维护数据的消费状态,提升了性能。
直接使用磁盘进行存储,线性读写,速度快:避免了数据在JVM内存和系统内存之间的复制,减少耗性能的创建对象和垃圾回收。
Kafka使用scala编写,可以运行在JVM上。
重要名词:
Producer(生产者):消息产生者,产生消息,将其发送到Broker;
Consumer(消费者):
使用数据的客户端,从Broker得到消息;
Broker(中间人,消息中转站):
即kafka的Server;集群(cluster)由一堆Broker组成
Zookeeper
管理连接信息,包括各个节点的IP,端口等;Producer和Consumer需要到Zookeeper请求Broker的信息,从而进行消息的收发;
一个新的Broker的启动也需要到Zookeeper注册; zookeeper也可以配集群。目的是防止某一台挂了。
producer和consumer通过zookeeper去发现topic,并且通过zookeeper来协调生产和消费的过程。
Topic
Topic,是kafka对消息分类的依据;一条消息,必须有一个与之对应的Topic;
比如现在又两个Topic,分别是Love和Hate,Producer向Love发送一个消息苹果,然后向Hate发送一个消息土豆;那么,订阅Love的Consumer就会收到消息苹果,订阅Hate的Consumer就会收到消息土豆;
每个Consumer可以同时订阅多个Topic,也即是说,同时订阅Love和Hate的Consumer可以同时收到苹果和土豆。
Message
Message就是我们所说的消息,是KAfKA操作的对象,消息是按照Topic存储的;
KAFKA中按照一定的期限保存着所有发布过的Message,不管这些Message是否被消费过。kafka默认存储7天。
安装
kafka_2.10-0.8.2.1
- 2.10是scala的版本,kafka是用Scala开发的,scale的安装版本应该对应
- 0.8.2.1是kafka的版本
1、安装jdk和zookeeper,并启动
$ sbin/zkServer.sh start --启动 $ sbin/zkServer.sh status --查看状态,也可jps查看
2、安装scala
tar zxvf /opt/softwares/scala-2.10.4.tgz $ su - # vi /etc/profile #SCALA_HOME SCALA_HOME=/opt/modules/cdh/scala-2.10.4 export PATH=$PATH:$SCALA_HOME/bin $ scala -version
3、安装kafka
$ tar zxvf /opt/softwares/kafka_2.10-0.8.2.1.tgz
4、修改配置文件
a)server.properties:# 消息中转站,每个broker id必需唯一broker.id=0port=9092# 主机名,去掉注解host.name=hadoop1# kafka存储数据的目录,并非存放日志的目录,$ mkdir datalog.dirs=/opt/modules/cdh/kafka_2.10-0.8.2.1/data # 指定zookeeper服务器zookeeper.connect=hadoop1:2181,hadoop2:2181,hadoop3:2181
5、启动kafka
./kafka_2.10-0.8.2.1/bin/kafka-server-start.sh -daemon ./kafka_2.10-0.8.2.1/config/server.properties
kafka初次使用:
1、创建一个topic
# 副本因子通常是奇数,不大于集群服务器台数# 分区数不能大于集群服务器台数./kafka_2.10-0.8.2.1/bin/kafka-topics.sh --create --zookeeper hadoop1:2181 --replication-factor 3 --partitions 2 --topic testTopic# 查看topic list./kafka_2.10-0.8.2.1/bin/kafka-topics.sh --describe --zookeeper hadoop1:2181Topic:testTopic PartitionCount:2 ReplicationFactor:3 Configs: Topic: testTopic Partition: 0 Leader: 1 Replicas: 1,2,3 Isr: 1,2,3 Topic: testTopic Partition: 1 Leader: 2 Replicas: 2,3,1 Isr: 2,3,1
2、启动生产者
./kafka_2.10-0.8.2.1/bin/kafka-console-producer.sh --broker-list hadoop1:9092 --topic testTopic
3、启动消费者,再开一个窗口
./kafka_2.10-0.8.2.1/bin/kafka-console-consumer.sh --zookeeper hadoop1:2181 --topic testTopic --from-beginning
- 生产者:flume、程序
- 消费者:spark、storm、imapla
- 大数据学习之——kafka安装部署
- 大数据系列之Kafka安装
- 大数据系列之kafka监控kafkaoffsetmonitor安装
- 大数据学习之——Zookeeper安装
- Kafka学习笔记-基本概念与安装部署
- 大数据分析学习之路—安装数据分析常用库
- 大数据学习[10]:Kafka新手入门
- 贫农的大数据之二(Kafka)
- 大数据技术之Kafka是什么
- 大数据系列之kafka-java实现
- 大数据协作框架之kafka
- 大数据学习之Hive的安装
- 【KafKa系列】KafKa安装部署
- 大数据IMF传奇行动绝密课程第89课:SparkStreaming On Kafka之kafka解析和安装实战
- Kafka安装部署
- kafka简单安装部署
- Kafka安装部署
- kafka安装部署
- python的元类
- 大数据学习之——Zookeeper安装
- NXP第十三届智能车竞赛就此拉开帷幕(更新中)
- Android面试题整理(1)
- early_irq_init
- 大数据学习之——kafka安装部署
- git
- do{...}while(0)的意义和用法
- c#事件总结
- 学习笔记(二)HttpServlet、ServletContext、ServletConfig
- JAVA多线程编程(一)------基础知识
- git的sourcetree使用详细参考
- 字母转换
- 深度学习作业1