CentOS7安装CDH 第九章:CDH中安装Kafka

CDH官网Kafka的安装教程网址

点击进入官网

下载对应的Kafka版本

  1. 查看CDH和Kafka的版本对应列表:

    点击进入官网

  1. 因为安装的CDH版本为5.10或5.12,故选择的Kafka版本为2.2.x和0.10.2,此时去网站找到对应的Kafka版本:

    点击进入官网

  1. 点击对应的下载地址,下载该Kafka的parcel包(需更改sha1的后缀名):

  1. 最终的主节点上的kafka_parcel包(包的位置任意,最终都要移动到/var/www/html/kafka_parcel目录下)

安装Kafka服务

  1. 将主节点上Kafka的parcel包(3个文件)上传到/var/www/html/kafka_parcel目录下,需配置好https服务,请参考上述CDH安装时的方法配置,在浏览器上能访问到如下场景即可:

    安装httpd: yum install -y httpd

  1. 点击CDH主页面中的主机下面的Parcel按钮:

  1. 点击Parcel界面的配置按钮,配置Kafka的地址,该地址默认是官网地址,但在CDH的离线安装时已将所有的在线地址删除,所以在这加上Kafka的Parcel包的离线地址即可:

  1. 在Parcel界面,点击Kafka的下载按钮:

  1. 依次执行Kafka的分配和激活:

kafka-9-2

将Kafka服务添加到CDH中

  1. 在CDH的主界面点击添加服务按钮,并选择Kafka服务:

  1. 给Kafka分配节点(Kafka后面2个服务一般情况下不选):

  1. Kafka的配置文件进行配置:

配置Kafka的文件存放目录,因为Kafka是依赖Zookeeper的,所以Kafka的文件也是存放在Zookeeper的目录中,如果要卸载Kafka时,需要将这些Kafka的文件也删除,所以可以把Kafka的文件存放在一个目录中:

Kafka的文件存放目录:

进入Zookeeper的文件管理界面(命令行):

因为Kafka是一个消息中间键,有将生产者生产的信息进行缓存的操作,所以在配置Kafka的数据存储目录时需要注意,将数据存放到一个比较大的磁盘中,该数据存放的目录如下配置所示:

在卸载重装Kafka时,需要将Zookeeper目录下的Kafka文件,以及Kafka数据存放的目录都清空,请注意是每个节点都要清空,否则不能重装。

  1. 启动Kafka服务,会发现Kafka服务不能成功启动,报错如下:

查看日志

此时为主机的内存不足,返回Kafka配置文件界面,修改memory中的Java Heap Size of Broker值为512M(如果机器内存充足,可以再大一些),如下:

修改之后去CDH的主界面重启Kafka,启动成功,如下所示:

测试Kafka

# 创建topic
./kafka-topics.sh \
--create \
--zookeeper cdh001:2181,cdh002:2181,cdh003:2181/kafka \
--replication-factor 2 --partitions 3 --topic cloudera

# 启动生产者
./kafka-console-producer.sh \
--broker-list cdh001:9092 ,cdh002:9092 ,cdh003:9092 \
--topic cloudera

# 启动消费者
./kafka-console-consumer.sh \
--bootstrap-server cdh001:9092 ,cdh002:9092 ,cdh003:9092 \
--from-beginning \
--topic cloudera

# 删除topic
./kafka-topics.sh \
--delete \
--zookeeper cdh001:2181,cdh002:2181,cdh003:2181/kafka \
--topic cloudera

重装Kafka

除了上文提到的要删除zookeeper中的kafka目录,还要删除Kafka的数据存储目录,即/var/local/kafka/data

Author: Tunan
Link: http://yerias.github.io/2019/04/09/cdh/9/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.