一、Kafka 单节点部署
Kafka中单节点部署又分为两种,一种为单节点单Broker部署,一种为单节点多Broker部署。因为是单节点Kafka,所以在安装ZK时也只需要单节点即可。
下载安装Zookeeper
ZooKeeper官网:http://zookeeper.apache.org/
下载Zookeeper并解压到指定目录
进入Zookeeper的config目录下
拷贝zoo_sample.cfg文件重命名为zoo.cfg,然后修改dataDir属性
配置环境变量
Zookeeper 启动停止命令
备注:
在安装完Zookeeper后,输入命令启动后,jps中并没有查看到QuorumPeerMain进程,说明没有启动成功,进入Zookeeper的log目录下查看日志,发现报了一个错误,如下
AdminServer$AdminServerException: Problem starting AdminServer on address 0.0.0.0, port 8080 and command URL /commands
原因:zookeeper的管理员端口被占用
解决:笔者使用的zookeeper的版本为3.5.1,该版本中有个内嵌的管理控制台是通过jetty启动,会占用8080 端口,需要修改配置里的“admin.serverPort=8080”,默认8080没有写出来,只要改为一个没使用的端口即可,例如:admin.serverPort=8181
安装Kafka
tar -xzf kafka_2.11-2.0.0.tgz
1.Kafka 单节点单Broker部署及使用
部署架构
配置Kafka
进入kafka的config目录下,有一个server.properties,添加如下配置
启动Zookeeper
启动Kafka
打印的日志信息没有报错,可以看到如下信息
但是并不能保证Kafka已经启动成功,输入jps查看进程,如果可以看到Kafka进程,表示启动成功
创建topic
参数说明:
–zookeeper:指定kafka连接zk的连接url,该值和server.properties文件中的配置项{zookeeper.connect}一样
–replication-factor:指定副本数量
–partitions:指定分区数量
–topic:主题名称
查看所有的topic信息
启动生产者
启动消费者
测试
2.Kafka 单节点多Broker部署及使用
部署架构
配置Kafka
拷贝server.properties三份
修改server-1.properties文件
修改server-2.properties文件
修改server-3.properties文件
启动Zookeeper
启动Kafka(分别启动server1、2、3)
查看进程
创建topic(指定副本数量为3-会平均部署到不同的节点上)
查看所有的topic信息
查看某个topic的详细信息
启动生产者
启动消费者
测试
二、Kafka 集群搭建(多节点多Broker)
启动ZK集群
参考zookeepeer集群搭建
下载安装包
解压安装包
创建软连接
修改配置文件server.properties
配置环境变量
分发安装包
注意:分发安装包,也要创建软连接,配置环境变量
再次修改配置文件
测试使用的节点的主机名分别为storm01、storm02、storm03
依次修改各服务器上配置文件server.properties 的 broker.id,分别是0,1,2不得重复
修改host.name分别为storm01,storm02,storm03
启动Kafka集群
注意:在启动Kafka集群前,确保ZK集群已经启动且能够正常运行
测试
创建topic
启动生产者
启动两个消费者,消费消息