Apache Kafka是一个分布式消息发布订阅系统,而Kafka环境往往是在集群中配置的。本篇就对配置3个broker的Kafka集群进行介绍。

Zookeeper集群

Kafka本身提供了启动了zookeeper的脚本和配置文件。

1. 修改配置文件

进入kafka主目录,编辑文件config/zookeeper.properties,配置如下:

tickTime= #心跳时间,毫秒
initLimit= #Follower在启动是需要在5个心跳时间内从Leader同步数据
syncLimit= #超过两个心跳时间收不到Follower的效应,就认为此Follower已经下线

#zookeeper集群的三个服务器
server.=192.168.10.152::
server.=192.168.10.153::
server.=192.168.10.170::

在三个机器进行同样得配置,或者将配置文件传到集群中其他机器上。

2. 配置主机标识

在三台机器dataDir目录(zookeeper.properties配置)下,新建文件myid,写入相应标识

echo  > /tmp/zookeeper/myid #1为标识,在其他机器上改为2或3

3. 启动Zookeeper集群

逐渐启动三台机器的zookeeper构成一个集群,即在三台机器上运行

bin/zookeeper-server-start.sh -daemon config/zookeeper.properties #-daemon以守护进程方式启动zookeeper

由于节点Zookeeper启动后,都会尝试连接其他节点,先启动的肯定连不上后启动的节点,因此,此时打印的异常可以忽略,当节点全部启动,集群在选出一个Leader后,异常就不会打印了。

检查Zookeeper有没有启动

netstat -apn | grep 

搭建Kafka broker集群

1. 修改配置文件

修改config/server.properties文件

broker.id=  #三个broker的id不能相同,因此改为不同的id
listeners=PLAINTEXT://192.168.10.152:9092 #服务器监听的地址,如果不配置从java.net.InetAddress.getCanonicalHostName()获得
host.name=192.168.10.152 #broker 机器ip
zookeeper.connect=192.168.10.152:,192.168.10.153:,192.168.10.170:

集群的其他机器也进行相应的配置

2. 启动Kafka服务

在三个机器上启动Kafka服务

bin/kafka-server-start.sh -daemon config/server.properties #-daemon以守护进程方式启动kafka server

检查服务是否启动

ps -aux | grep config/server

测试

1. 创建topic

在任意一台机器上创建topic

bin/kafka-topics.sh --create --zookeeper 192.168.10.152: --replication-factor  --partitions  --topic cluster-test 
#--zookeeper是集群列表,可以指定所有节点,也可以指定为部分列表
#--replication-factor 为复制数目,数据会自动同步到其他broker上,防止某个broker宕机数据丢失
#--partitions 一个topic可以切分成多个partition,一个消费者可以消费多个partition,但一个partition只能被一个消费者消费

查看topic详情

bin/kafka-topics.sh --describe --zookeeper 192.168.10.153: --topic cluster-test

2. 启动生产者、消费者

启动生产者

bin/kafka-console-producer.sh --broker-list 192.168.10.152: --topic cluster-test

在三台机器上分别启动消费者

bin/kafka-console-consumer.sh --zookeeper 192.168.10.152: --topic cluster-test --from-beginning

3. 测试

在生产者console输入消息进行发送

此时,消费者console可以收到消息了

至此,一个简单的Kafka集群就搭建起来了

搭建Kafka集群(3-broker)的更多相关文章

  1. 大数据平台搭建-kafka集群的搭建

    本系列文章主要阐述大数据计算平台相关框架的搭建,包括如下内容: 基础环境安装 zookeeper集群的搭建 kafka集群的搭建 hadoop/hbase集群的搭建 spark集群的搭建 flink集 ...

  2. centos7搭建kafka集群-第二篇

    好了,本篇开始部署kafka集群 Zookeeper集群搭建 注:Kafka集群是把状态保存在Zookeeper中的,首先要搭建Zookeeper集群(也可以用kafka自带的ZK,但不推荐) 1.软 ...

  3. Kafka学习之(六)搭建kafka集群

    想要搭建kafka集群,必须具备zookeeper集群,关于zookeeper集群的搭建,在Kafka学习之(五)搭建kafka集群之Zookeeper集群搭建博客有说明.需要具备两台以上装有zook ...

  4. 什么是kafka以及如何搭建kafka集群?

    一.Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据. Kafka场景比喻 接下来我大概比喻下Kafka的使用场景 消息中间件:生产者和消费者 妈妈:生产 ...

  5. 利用新版本自带的Zookeeper搭建kafka集群

    安装简要说明新版本的kafka自带有zookeeper,其实自带的zookeeper完全够用,本篇文章以记录使用自带zookeeper搭建kafka集群.1.关于kafka下载kafka下载页面:ht ...

  6. docker-compose 搭建kafka集群

    docker-compose搭建kafka集群 下载镜像 1.wurstmeister/zookeeper 2.wurstmeister/kafka 3.sheepkiller/kafka-manag ...

  7. docker容器中搭建kafka集群环境

    Kafka集群管理.状态保存是通过zookeeper实现,所以先要搭建zookeeper集群 zookeeper集群搭建 一.软件环境: zookeeper集群需要超过半数的的node存活才能对外服务 ...

  8. CentOS 7 环境搭建kafka集群

    Kafka是一个MQ服务,流行的MQ服务器有三个,分别是ActiveMQ,RabbbitMQ和Kafka 目录说明:/home/fuqinqin/packages : 安装包存放目录/home/fuq ...

  9. centos7搭建kafka集群

    一.安装jdk 1.下载jdk压缩包并移动到/usr/local目录 mv jdk-8u162-linux-x64.tar.gz /usr/local 2.解压 tar -zxvf jdk-8u162 ...

随机推荐

  1. 【转】sql各种查询技巧

    高级查询在数据库中用得是最频繁的,也是应用最广泛的. Ø 基本常用查询 --select select * from student;   --all 查询所有 select all sex from ...

  2. Qt : QProcess

    QProcess 类用来启动另外的一个出现并与他们联系. 开始一个进程,通过传递你想要运行程序的名称和命令行参数作为参数给start()函数,来开始一个进程.参数作为独立的字符串来提供. QProce ...

  3. bitnami redmine每日自动备份

    主要思路:在半夜时停止服务,进行完整备份,然后再开启服务. 1.主脚本backup.bat: call backup-stopserver.batping /n 20 127.1 >nul ca ...

  4. python核心编程学习记录之执行环境

  5. 虚拟机安装Centos7 , 没有可用的网络设备【ifconfig 只有lo而没有eth0的解决办法】

    今天尝试再一次安装CentOS的时候,搞了半天不知何故上不了网络,网上的以下方式试了 也不管用,原因就是我下载的是CentOS7 64版本,从而导致了这个问题,具体如下描述: 第一次安装的时候,没有可 ...

  6. mysql 日志表rename 备份

    1. 按照原历史表新增一个新表(空表): mysql> create table history_log_new ...; 2. 给历史表重命名,并将新表重命名为历史表: mysql> R ...

  7. java中jdk和jre的区别

    JRE: Java Runtime Environment JDK:Java Development Kit JRE顾名思义是java运行时环境,包含了java虚拟机,java基础类库.是使用java ...

  8. ( [原创] 4s摄像头出现的问题及解决办法集锦。

    [原创] 4s摄像头出现的问题及解决办法集锦. [复制链接]     HPagani 34主题 126帖子 13人气 级别: 青苹果 帖子 126 经验 160 精华 人气 13 粉丝1 发消息   ...

  9. 在Linux/Windows系统上编辑/etc/hosts文件

    Linux ubuntu16 open the terminal, input the command: sudo -i gedit /etc/hosts file click enter key, ...

  10. XSS常用技巧

    一般发现一个xss漏洞后要做的基本上就是这些: 1. 伪造请求 使用$_REQUEST或$_GET 首先我们要找找该网站使用的程序是不是在网上能找到源码,如果能找到源码的话,就去分析后台管理员更改密码 ...