搭建Kafka集群(3-broker)
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)的更多相关文章
- 大数据平台搭建-kafka集群的搭建
本系列文章主要阐述大数据计算平台相关框架的搭建,包括如下内容: 基础环境安装 zookeeper集群的搭建 kafka集群的搭建 hadoop/hbase集群的搭建 spark集群的搭建 flink集 ...
- centos7搭建kafka集群-第二篇
好了,本篇开始部署kafka集群 Zookeeper集群搭建 注:Kafka集群是把状态保存在Zookeeper中的,首先要搭建Zookeeper集群(也可以用kafka自带的ZK,但不推荐) 1.软 ...
- Kafka学习之(六)搭建kafka集群
想要搭建kafka集群,必须具备zookeeper集群,关于zookeeper集群的搭建,在Kafka学习之(五)搭建kafka集群之Zookeeper集群搭建博客有说明.需要具备两台以上装有zook ...
- 什么是kafka以及如何搭建kafka集群?
一.Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据. Kafka场景比喻 接下来我大概比喻下Kafka的使用场景 消息中间件:生产者和消费者 妈妈:生产 ...
- 利用新版本自带的Zookeeper搭建kafka集群
安装简要说明新版本的kafka自带有zookeeper,其实自带的zookeeper完全够用,本篇文章以记录使用自带zookeeper搭建kafka集群.1.关于kafka下载kafka下载页面:ht ...
- docker-compose 搭建kafka集群
docker-compose搭建kafka集群 下载镜像 1.wurstmeister/zookeeper 2.wurstmeister/kafka 3.sheepkiller/kafka-manag ...
- docker容器中搭建kafka集群环境
Kafka集群管理.状态保存是通过zookeeper实现,所以先要搭建zookeeper集群 zookeeper集群搭建 一.软件环境: zookeeper集群需要超过半数的的node存活才能对外服务 ...
- CentOS 7 环境搭建kafka集群
Kafka是一个MQ服务,流行的MQ服务器有三个,分别是ActiveMQ,RabbbitMQ和Kafka 目录说明:/home/fuqinqin/packages : 安装包存放目录/home/fuq ...
- centos7搭建kafka集群
一.安装jdk 1.下载jdk压缩包并移动到/usr/local目录 mv jdk-8u162-linux-x64.tar.gz /usr/local 2.解压 tar -zxvf jdk-8u162 ...
随机推荐
- 编写高质量ios-之一 OC 语言的起源
要点 Objective-c为C语言添加了面向对象的特性,是其超级.Objective-c使用动态绑定的消息结构,也就是说,在运行时才会检查对象类型.接受一条消息之后,究竟应执行何种代码,由运行期环境 ...
- 笔记--MySQL相关操作
一 登录数据库 1 用户无密码: mysql -uroot -p mysql-> 2 用户有密码: MySQL -root -p[passwd] mysql-> 二 创建数据库: 查询 ...
- QT常见数据类型操作
平常使用QStringList,都是通过at()访问其中的元素,然后试图也通过它修改元素,编译器报错,原来要使用下标访问修改: //accessRecList.at(3)=strSimilarity; ...
- C语言-自定义函数
C语言自定义函数 --1-- 自定义函数定义 1.1 无参无返回值函数 1.2 无参有返回值函数 1.3 有参无返回值函数 1.4 有参有返回值函数 --2-- 函数的参数 2.1 形式参数介绍和使用 ...
- 使用maven搭建SpringMVC项目环境
Window环境下用maven新建一个项目: mvn archetype:generate -DarchetypeCatalog=internal -DgroupId=cn-cisol -Dartif ...
- tomcat 配置客户端证书认证
在完成配置客户端证书认证后,浏览器以https访问服务器的时候,会提示选择证书,之后,服务器端会验证证书.也就意味着只有拥有有效证书的客户端才能打开该网站. 以下是具体的配置过程. 1. 在服务器端生 ...
- Bootstrap_缩略图
缩略图在网站中最常用的地方就是产品列表页面,一行显示几张图片,有的在图片底下(左侧或右侧)带有标题.描述等信息. Bootstrap框架将这一部独立成一个模块组件.并通过“thumbnail”样式配合 ...
- 源码剖析——深入Windows句柄本质
参考资料: 1. http://www.codeforge.cn/read/146318/WinDef.h__html windef.h头文件 2. http://www.codeforge.cn/r ...
- 第二,C语言示例
#include<stdio.h> int main (void) /*WTF*/ { int num; num=1; printf(" I am ...
- Oracle(DML)
数据操作语言: insert update delete 事务控制语言: commit rollback savepoint 1.insert语句 两种格式: 直接插入 子查询插入 1. 直接插入基本 ...