1、简介
大数据分析处理平台包括数据的接入,数据的存储,数据的处理,以及后面的展示或者应用。今天我们连说一下数据的接入,数据的接入目前比较普遍的是采用kafka将前面的数据通过消息的方式,以数据流的形式将数据接入到大数据存储平台。
下面主要介绍一下kafka的安装和部署的过程。由于公司采用的是cloudera公司的产品,所以直接通过cloudera manager来安装部署kafka。只不过在安装的过程中,注意几个问题即可:
(1)存放kafka的log文件的位置
默认是/var/log/kafka/
(2)存放kafka的data的位置
默认是/var/local/kafka/data
这些路径需要手动创建,并注意他们的权限的问题。
2、kafka组建简介,并用控制台的方式来模拟一下
(1)kafka主要有:producer、broker、topic、consumer。在安装好kafka之后,首先需要创建一个topic,实际上这个topic就是对应的将消息进行分类,也可以理解成message queue。创建topic的命令是:
kafka-topics --create --zookeeper hadoop3:2181 --replication-factor 1 --partitions 1 --topic hello
在这里hadoop3表示的是部署zookeeper的主机名(由于我部署的zookeeper只有一台机器,所以对应的就是hadoop3,这个根据具体的情况会不同),hello是对应的topic名称,--replication-factor参数指定对应的消息的副本数
(2)创建好了topic之后,接下来就是生产者往这个topic中进行生产:
kafka-console-producer --broker-list hadoop2:9092 --topic hello
在这里hadoop2表示的是部署broker的主机名,hello对应的就是topic名称。
(3)第三步就是消费对应的消息了:
kafka-console-consumer --zookeeper hadoop3:2181 --topic hello --from-beginning
在这里hadoop3表示的是对应部署zookeeper的主机名,hello表示的就是topic的名称。
(4)查看topic的一些信息:
创建多副本的topic:kafka-topics --create --zookeeper hadoop3:2181 --replication-factor 3 --partitions 1 --topic multi
查看多副本的分布情况:kafka-topics --describe --zookeeper hadoop3:2181 --topic multi
(5)测试一下容错机制
虽然最初负责续写消息的leader down掉了,但之前的消息还是可以消费的:
> bin/kafka-console-consumer.sh --zookeeper hadoop3:2181 --from-beginning --topic mutil ... my test message 1 my test message 2