Kafka的安装和部署及测试

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)测试一下容错机制

测试一下容错能力Broker 1作为leader运行,现在我们直接重启102的那台主机 ,后我们查看topic的信息可以看到另外一个节点被选做了leader,102 不再出现在 Isr 列表中:  

虽然最初负责续写消息的leader down掉了,但之前的消息还是可以消费的:

> bin/kafka-console-consumer.sh --zookeeper hadoop3:2181 --from-beginning --topic mutil
...
my test message 1
my test message 2
原文地址:https://www.cnblogs.com/ljy2013/p/5160021.html