kafka分布式集群搭建部署简单记录

来源:互联网 发布:mac 我的所有文件很乱 编辑:程序博客网 时间:2024/06/16 05:27

  Kafka是一个分布式的消息发布订阅系统,Kafka系统快速、可扩展并且可持久化。它的分区特性,可复制和可容错都是其不错的特性。今天先不介绍相关概念了由于项目之前用到这个东西安装过了段时间怕忘了,抽时间记录下分布式记录搭建过程。这里用的三台虚拟机的ip地址为192.168.70.100~102,由于kafka需要zookeeper来管理,所以搭建kafka集群的前提是先安装zookeeper集群,这里之前博客有写zookeeper的搭建,所以直接进入kafka集群搭建,这里使用的是kafka_2.11-0.10.2.1这个版本,下载地址在这里http://kafka.apache.org/downloads

  
  首先根据需要下载指定版本的压缩包上传到虚拟机,之后通过tar -zxvf命令解压缩该压缩包,进入解压缩后的config目录下,修改server.rpoperties配置文件,具体修改见下面,这里broker.id用来唯一标识一个kafka节点,三个虚拟机分别设置值为0,1,2,host.name和advertised.host.name在三个虚拟机上分别更改为各自的ip地址,在这里也就是更改为192.168.70.100~102,之后在三台机器上进行同样设置zookeeper.connect,这里将地址更改为之前安装的zookeeper集群所在的ip地址,其中2181为客户端监听的端口号

这里写图片描述

这里写图片描述

  接下来可以测试了,先在三个虚拟机上执行zkServer.sh start命令启动zookeeper集群,之后进入三个虚拟机的kafka解压缩后的bin目录,执行./kafka-server-start.sh -daemon ../config/server.properties 使kakfa服务在后台运行,通过jps命令查看,出现下面这两个进程表明kafka集群搭建成功

这里写图片描述

  为了方便起见可以配置一下kafka的环境变量,配置见下
  这里写图片描述

  kafka有生产者,消费者以及topic,其中生产者生产向指定topic发送消息,消费者可以从指定topic接受消息,做个测试
  在任意一台安装kafka的机器上通过下面这个命令创建一个topic名为demo,这里replication-factor设置副本数,partitions指定分区数,同时指定zookeeper集群的位置
  这里写图片描述

  之后可以通过kafka-topics.sh --list --zookeeper Ip地址:2181查看某台机器上创建的topic都有哪些
  
  接下里在随便一台机器上执行下面命令创建一个客户端生产者向之前创建的demo发送一些信息,在另外两台机器上创建两个客户端消费者从指定的topic demo获取信息,执行以后发现生产者发送的消息在消费者那边成功显示表明传递成功
  

kafka-console-producer.sh --broker-list 192.168.70.100:9092,192.168.70.101:9092,192.168.70.102:9092 --topic demo

这里写图片描述

kafka-console-consumer.sh --zookeeper 192.168.70.100:2181,192.168.70.101:2181,192.168.70.102:2181 --from-beginning --topic demo

这里写图片描述

  以上就是kafka分布式集群的简单搭建,后期可以根据实际需要进行进一步特色化配置,这里先简单写一下

原创粉丝点击