CDH环境已经搭建成功。
在CDH上集成Kafka,要求用CDH上的Zookeeper管理Kafka而不是Kafka自带的Zookeeper。
(1)首先选取适合自己CDH版本的Kafka的Parcel文件进行下载,CDH与Kafka版本对应关系链接为:
https://www.cloudera.com/documentation/kafka/1-4-x/topics/kafka_packaging.html
(2)下载Kafka Parcel,下载链接为:http://archive.cloudera.com/kafka/parcels/1.4.0/
(3)上传Parcel文件至cloudrea目录,例如我的目录为:/DATA/cloudera/parcel-repo
(4)分配并激活Parcel,在cloudrea manager中选择主机-->Parcel,可以看到(3)中上传的Parcel包。
点击分配,分配完成后点击激活。(我的已经激活过故显示已分配已激活)
(5)手动修改配置文件(也可通过CM界面进行配置)
激活完成后,进入Kafka配置文件目录:/DATA/cloudera/parcels/KAFKA-0.8.2.0-1.kafka1.4.0.p0.56/etc/kafka/conf.dist
编辑server.properties文件,修改内容如下:
broker.id=1,其他两个为2、3
port=9092,其他两个为9093、9094
host.name=xx.xx.xx.xx,每个配置文件的这项改为本服务器的实际IP/hostname
zookeeper.connect=xx.xx.xx.xx:2181,xx.xx.xx.xx:2181,xx.xx.xx.xx:2181,此处填写实际zookeeper的配置信息。
(6)所有配置完成后,在CM中添加Kafka服务,添加服务时需要配置的两项如下:
就是所有kafka节点list.
然后将下面的4.相关问题先配置完毕,不然第一次启动可能会失败,然后启动Kafka服务即可。
(1)白名单配置问题,具体表现为Kafka MirrorMaker启动失败。
在CM中点击Kafka-->配置,然后搜索WhiteList,修改如下Topic Whitelist值为具体值,此值在Kafka生产环境中是如何分配的就填写相应的分配的值。格式:hostname:port。
(2)Java Heap Size参数设置问题,具体表现为启动broker时查看日志发现OOM异常。
同样在CM中点击Kafka-->配置,然后搜索heap,修改如下值
这是因为 Java Heap size of Broker这个选项默认配置是 50M ,需要将其修改成 256M 或者更多,这里修改成 1G ,保存配置后,重新启动kafka集群即可。