设为首页 加入收藏

TOP

Kafka 集群搭建 for mac
2019-04-23 14:28:02 】 浏览:34
Tags:Kafka 集群 搭建 for mac
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/oumuv/article/details/84862089

环境要求

  • kafka2
  • mac或linux

步骤

一、在mac中安装kafka

参考kafka 安装 for mac

配置一下kafka的环境变量:

sudo vim /etc/profile

加入配置

export KAFKA_HOME=/usr/local/Cellar/kafka/2.1.0
export PATH=.:$PATH:$KAFKA_HOME/bin

刷新一下配置

source /etc/profile

二、启动zookeeper

可以直接使用kafka默认的zookeeper:

zookeeper-server-start /usr/local/etc/kafka/zookeeper.properties &

三、配置kafka

假设我们只搭建三个kafka集群,那么我们积极需要给这三个kafka配置server.properties

  1. 复制两份server.properties

cp /usr/local/etc/kafka/server.properties /usr/local/etc/kafka/server1.properties
cp /usr/local/etc/kafka/server.properties /usr/local/etc/kafka/server2.properties

  1. 分别修改server1.properties、server2.properties
修改位置 server.properties server1.properties server2.properties
broker.id broker.id=0 broker.id=1 broker.id=2
listeners listeners=PLAINTEXT://:9092 listeners=PLAINTEXT://:9093 listeners=PLAINTEXT://:9094
log.dir log.dir=/usr/local/var/lib/kafka-logs-1 log.dir=/usr/local/var/lib/kafka-logs-2 log.dir=/usr/local/var/lib/kafka-logs-3
  1. 启动三个kafka

kafka-server-start /usr/local/etc/kafka/server.properties &
kafka-server-start /usr/local/etc/kafka/server1.properties &
kafka-server-start /usr/local/etc/kafka/server2.properties &

  1. 创建一个有三个副本的topic

kafka-topics --create --zookeeper localhost:2181 --replication-factor 3 --partitions 1 --topic mytopic

  1. 使用describe命令查看topic的信息

kafka-topics --describe --zookeeper localhost:2181 --topic mytopic
在这里插入图片描述
“leader”:该集群中broker.id=2 的 kafka是 leader,leader负责数据的读取、同步
“replicas”:存在的节点列表(包含已经挂掉的)
“isr”:“同步备份”的节点列表(不包含已经挂掉的,也就是活着的节点并且正在同步leader)。

测试

由上图可知当前的leader是broker.id为2的kafka服务器,下面测试将当前的leader杀死

杀死一个id为2的kafka,模拟当前leader服务器宕机

在这里插入图片描述

解释上图:
Leader:0:当旧的leader挂掉之后马上重新选举出一个新的leader(broker.id为0的kafka)
Isr:0,1:将已经挂掉的kafka去除同步备份的节点列表

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Spark2.11 两种流操作 + Kafka 下一篇消息中间件--Kafka原理介绍

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目