kafka 集群--3个broker 3个zookeeper创建实战
准备工作:
1. 准备3台机器,IP地址分别为:192.168.0.10,192.168.0.11,192.168.0.12
2. 下载kafka稳定版本,我的版本为:kafka_2.9.2-0.8.1.1.tgz
3. 分别解压放入到想安装的目录下,我的目录为:/home/www 解压命令为:
tar -xzf kafka_2.9.2-0.8.1.1.tgz
搭建zookeeper集群
1. 进入解压后的目录/home/www/kafka_2.9.2-0.8.1.1
2. 进入config目录下,修改zookeeper.properties文件
tickTime=2000
dataDir=/data/zookeeper/
clientPort=2181
initLimit=5
syncLimit=2
server.1=192.168.0.10:2888:3888
server.2=192.168.0.11:2888:3888
server.3=192.168.0.12:2888:3888
在dataDir目录/data/zookeeper/下写一个myid文件,命令如下:
echo 1 >myid
注意:这个id是zookeeper的主机标示,每个主机id不同第二台是2 第三台是3。
逐次启动3台机器的zookeeper 构成一个集群:
> bin/zookeeper-server-start.sh config/zookeeper.properties &
注意:使用& 会打印出启动日志,但如果使用secure ssh直接退出,有可能会让zookeeper退出,建议使用命令检查一下:
> netstat -apn | grep 2181
我启动的顺序是
192.168.0.10
192.168.0.11
192.168.0.12
由于ZooKeeper集群启动的时候,每个结点都试图去连接集群中的其它结点,先启动的肯定连不上后面还没启动的,所以打印出来的部分的异常是可以忽略的。集群在选出一个Leader后,最后稳定了。其他结点可能也出现类似问题,属于正常。
至此,zookeeper集群搭建完成
搭建kafka broker集群
进入config目录,修改server.properties
broker.id=0
port=9092
host.name=192.168.0.10
zookeeper.contact=192.168.0.10:2181,192.168.0.11:2181,192.168.0.12:2181
log.dirs=/home/www/kafka-logs
不同集群broker.id 和host.name 不一样,根据实际情况配置。
修改生产者配置
broker.list=192.168.0.10.50:9092,192.168.0.11:9092,192.168.0.12:9092
producer.type=async
修改消费者配置:
zookeeper.contact=192.168.0.10:2181,192.168.0.11:2181,192.168.0.12:2181
启动每台服务器的kafka:
> bin/kafka-server-start.sh config/server.properties &
测试集群
创建一个topic
> bin/kafka-topics.sh --create --zookeeper 192.168.0.10:2181 --replication-factor 3 --partitions 1 --topic test-replicated-topic
查看创建的topic
> bin/kafka-topics.sh --describe --zookeeper 192.168.0.10:2181 --topic my-replicated-topic
Topic:test-replicated-topicPartitionCount:1ReplicationFactor:3Configs:
Topic: test-replicated-topicPartition: 0Leader: 1Replicas: 1,2,0Isr: 1,2,0
查看集群情况:
>bin/kafka-topics.sh --describe --zookeeper 192.168.0.11:2181 --topic test-replicated-topic
>bin/kafka-topics.sh --describe --zookeeper 192.168.0.10:2181 --topic test-replicated-topic
发现都能看到test-replicated-topic。
注意:使用一台机器,创建3个zookeeper不同端口,3个kafka 不同端口没有成功,和zookeeper集群的端口有关吧,以后会研究一下。
参考资料:
http://kafka.apache.org/documentation.html#quickstart
http://www.jonzobrist.com/2012/04/17/install-apache-kafka-and-zookeeper-on-ubuntu-10-04/
http://www.open-open.com/lib/view/open1387889827593.html
完结。
4. 配置config/server.properties
broker.id为依次增长的:0、1、2、3、4,集群中唯一id
log.dirs设置到大硬盘路径下
num.network.threads
num.partitions ,默认分区数
num.io.threads 建议值为机器的核数;
zookeeper.connect 设置为zookeeper Servers 列表,各节点以逗号分开;
bin/kafka-topics.sh --create --zookeeper 10.187.69.193:2181,10.187.69.194:2181,10.187.69.195:2181 --replication-factor 3 --partitions 3 --topic test-replicated-topic-2
bin/kafka-topics.sh --describe --zookeeper 10.187.69.193:2181,10.187.69.194:2181,10.187.69.195:2181 --topic test-replicated-topic
bin/kafka-console-producer.sh --broker-list 10.187.69.193:9092,10.187.69.194:9092,10.187.69.195:9092 --topic test-replicated-topic-2
bin/kafka-topics.sh --list --zookeeper 10.187.69.193:2181,10.187.69.194:2181,10.187.69.195:2181
bin/kafka-console-producer.sh --broker-list 10.187.69.193:9092,10.187.69.194:9092,10.187.69.195:9092 --topic test-replicated-topic
bin/kafka-console-consumer.sh --zookeeper 10.187.69.193:2181,10.187.69.194:2181,10.187.69.195:2181 --from-beginning --topic test-replicated-topic
相关推荐
将Kafka部署在Windows服务器上并作为服务运行,可以方便地管理和监控Kafka实例。 在Windows上部署Kafka服务,首先需要安装Zookeeper。Zookeeper是Kafka集群中的关键组件,负责管理集群的状态信息,如选举主节点、...
本文将详细介绍如何在环境中集成 SkyWalking 8.4.0、Kafka 和 Elasticsearch 7.12.0 的配置和搭建过程。 首先,确保你已下载了 Apache SkyWalking 的特定于 Elasticsearch 7 的版本,例如 `apache-skywalking-apm-...
《Kafka部署与使用详解》 Kafka是一种分布式流处理平台,广泛应用于大数据实时处理、日志收集、消息系统等领域。这份详尽的PDF文档详细介绍了如何在Linux环境下部署和使用Kafka,包括单机部署和集群部署。 一、...
本压缩包"Kafka部署操作.zip"提供了一个完整的指南,包括了Zookeeper的安装包和Kafka的安装包,以及相关的部署操作文档,非常适合初学者学习和实践。 首先,我们要了解Zookeeper。Zookeeper是一个分布式协调服务,...
**Kafka部署与安装详解** Kafka是一款分布式流处理平台,由LinkedIn开发并贡献给了Apache软件基金会。它被广泛用于实时数据管道构建,允许应用程序高效地发布和订阅大量数据流。在本篇中,我们将详细讲解如何在...
4. **Zookeeper**:在Kafka部署中,Zookeeper是一个关键组件,用于协调集群中的各个节点,管理broker的元数据,以及处理消费者组的协调工作。 5. **Java环境**:由于Kafka是用Java编写的,所以部署Kafka需要一个...
根据文件提供的信息,我们可以梳理出一些关于Apache Kafka部署的关键知识点。首先,Apache Kafka是一个企业的流处理平台,它能够提供开箱即用的性能。用户仅需将客户端应用程序指向Kafka集群,剩下的负载分布、零...
【Kafka部署与使用】 Kafka是一个分布式流处理平台,由Apache软件基金会开发,用于构建实时数据管道和流应用。本篇文章将详细介绍如何在单机和集群环境下部署及使用Kafka。 ### 一、单机部署 1. **规划与环境准备...
kafka部署zookeeper
### Kafka安装与部署详解 #### 一、Kafka简介 Apache Kafka是一款开源的消息队列中间件,主要用于构建实时数据管道以及流式应用。它能够处理大量实时数据,并且具有高吞吐量、低延迟等特点。Kafka的核心概念包括...
本文不讲kafka集群原理,只谈部署步骤。 默认读者已对kafka有最基本的认知,纯粹作为部署笔记,方便回忆。 另外本文是基于Windows部署的,Linux的步骤是基本相同的(只是启动脚本位置不同)。 kafka集群类型: ...
在部署 Kafka 集群时,我们需要配合 ZooKeeper 使用,ZooKeeper 作为 Kafka 的协调组件,负责管理集群的状态信息。以下是对 Kafka 集群部署的详细解释: 1. **下载与解压 Kafka**: - 首先,你需要从 Apache 官方...
### Kafka集群部署与运维知识点详解 #### 一、Kafka概览 Kafka是一种高性能的分布式消息系统,具有以下特点: - **数据持久性**:Kafka通过高效的磁盘数据结构来实现消息的持久化存储,即使面对大量数据也能保持...
OGG增量抽取Oracle业务数据到kafka部署手册 OGG(Oracle GoldenGate)是一种数据集成工具,用于实时集成和复制数据 zwischen Oracle 数据库和 Kafka 消息队列。下面是 OGG 增量抽取 Oracle 业务数据到 Kafka 的部署...
WIP:具有地形和头盔的Kafka部署 只要您安装了有效的kubeconfig和terraform,就可以将该仓库部署在任何kubernetes集群中。 在此示例中,将k3d用作k8s群集。 本地存储的地形状态 注意:如果您尝试使用k3d进行部署,...
【Kafka部署】 Kafka的部署通常包括以下组件: - **生产者(Producer)**:负责生成和发送消息到主题。 - **代理(Broker)**:接收和存储生产者发送的消息,并将它们分发给消费者。 - **消费者(Consumer)**:...
《Kafka部署手册:从基础到生产环境》 在本文中,我们将深入探讨如何在生产环境中部署Apache Kafka,包括JDK、Zookeeper和Kafka的安装与配置,以及Zookeeper的安全加固措施。对于初次接触Kafka部署的新手来说,这份...
fabric kafka多机部署, 已经正常启动, 交易同步。