`
zk_chs
  • 浏览: 214823 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

kafka 学习笔记(一) 安装、部署

阅读更多

kafka是一个高吞吐量的分布式消息系统,整体设计为典型的发布与订阅模式。kafka内部采用zookeeper来解决配置管理、通知/协调、集群管理、master选举等问题,所以建议先对zookeeper有个基本的了解,可以看下我的zookeeper笔记(一)

 

这次对于kafka只介绍一下命令行下的安装部署等操作,其它的,比如kafka在zookeeper中的存储结构、配置详解、java客户端代码等,将在后续的讲解中进行介绍。

 

1、首先我们下载kafka,这里选择最新版本0.9.0.1,下载并解压,同样采取与zookeeper笔记中类似的目录结构,使用单机模拟集群:

/Users/zk_chs/something/kafka/kafka-0.9.0.1-001
/Users/zk_chs/something/kafka/kafka-0.9.0.1-002
/Users/zk_chs/something/kafka/kafka-0.9.0.1-003

 

 

2、进入每个Kafka的根目录,分别对其config/server.properties文件进行配置:

----config/server.properties
broker.id=1
listeners=PLAINTEXT://:9091
port=9091
log.dirs=/Users/zk_chs/something/kafka/tmp/kafka01
zookeeper.connect=127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183

broker.id:当前kafka服务的id

listeners、post:监听的客户端连接端口

log.dirs:kafka数据、索引存储位置

zookeeper.connect:kafka依赖的zookeeper服务地址

 

再对另外两个kafka服务进行同样的配置:

----config/server.properties
broker.id=2
listeners=PLAINTEXT://:9092
port=9092
log.dirs=/Users/zk_chs/something/kafka/tmp/kafka02
zookeeper.connect=127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183

 

----config/server.properties
broker.id=3
listeners=PLAINTEXT://:9093
port=9093
log.dirs=/Users/zk_chs/something/kafka/tmp/kafka03
zookeeper.connect=127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183

 

因为我们模拟集群,为了方便管理,对于kafka的log.dir最好也统一一下路径:

/Users/zk_chs/something/kafka/tmp/kafka01
/Users/zk_chs/something/kafka/tmp/kafka02
/Users/zk_chs/something/kafka/tmp/kafka03

 

3、配置完成后便能进行启动了,不过在此之前,先将zookeeper服务进行启动。如果你的zookeeper服务已经启动,那么便能启动kafka了,首先还是进入kafka根目录,然后进行如下启动操作:

bin/kafka-server-start.sh config/server.properties &

随后,切换至不同的kafka目录,再次执行:

cd ../kafka-0.9.0.1-002
bin/kafka-server-start.sh config/server.properties &
cd ../kafka-0.9.0.1-003
bin/kafka-server-start.sh config/server.properties 

 

所有的kafka服务启动完成后,执行jps,可以看到:

1248 QuorumPeerMain
2055 Kafka
1224 QuorumPeerMain
2058 Jps
1212 QuorumPeerMain
2044 Kafka
2047 Kafka

以上代表我们启动了3个kafka服务,3个zookeeper服务。

 

4、接着创建一个topic,依然是在kafka根目录下执行:

bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 3 --topic my_test

--create:创建topic

--zookeeper:连接的zookeeper节点地址

--replication-factor:数据副本数量

--partitions:对创建的topic进行分片

--topic:要创建的topic名称

 

5、向topic发送消息、从topic消费消息,在kafka根目录下执行:

bin/kafka-console-producer.sh --broker-list localhost:9091 --topic my-replicated-topic

--broker-list:此处不是zookeeper的地址,而是kafka客户端的地址

--topic:向哪个topic发送消息

 

bin/kafka-console-consumer.sh --zookeeper localhost:2181 --from-beginning --topic my-replicated-topic

--zookeeper:这里为zookeeper地址,不需要kafka客户端地址

--from-beginning:kafka消息存储在文件内,能够重复消费,这里代表偏移量(offsets)

--topic:从哪个topic消费消息

 

如果你同时开启producer、consumer两个bash窗口,当从producer向指定的topic发送消息时,便能看到consumer对其进行了消费,使用ctrl c即可退出发送消息或消费消息进程。

 

 

总结:

我们这次讲解了kafka的安装、基本配置、启动部署,以及一些kafka基本的操作,比如create topic,producer、consumer操作。

 

随后的笔记会对kafka的java客户端代码、kafka服务参数、zookeeper中节点数据进行讲解,欢迎继续学习。

 

 

0
5
分享到:
评论

相关推荐

    kafka学习笔记.doc

    10. 代码实践《kafka学习代码》中可能包含了一些示例,涵盖了producer、consumer的创建、消息发送与接收、配置调整等内容,是深入理解Kafka工作原理和使用技巧的重要参考资料。 总结,Kafka作为一个分布式流处理...

    Kafka学习笔记.doc

    【Kafka学习笔记】 Kafka是一款高性能的分布式消息中间件,广泛应用于大数据实时处理和流处理领域。它具有高吞吐量、低延迟、可扩展性以及容错性等特点,常用于日志收集、监控数据聚合、用户行为追踪等多个场景。 ...

    kafka 学习笔记 good

    ### Kafka学习笔记精要 #### 一、为什么需要消息系统 在现代软件开发中,消息系统扮演着极其重要的角色,特别是在分布式系统中。Kafka作为一款高性能的消息队列中间件,其价值在于解决了传统分布式系统中常见的...

    kafka学习详细文档笔记

    ### Kafka学习详细文档笔记 #### 一、入门 **1、简介** Kafka是由LinkedIn开源的一款分布式的流处理平台,其核心功能在于消息传递。它能够处理大量的实时数据流,并且具备高性能、高吞吐量的特点。Kafka采用发布...

    kafka笔记,记录从部署到底层原理各个方面 适合小伙伴们进行学习

    kafka笔记,记录从部署到底层原理各个方面 适合小伙伴们进行学习

    kafka笔记参数说明

    学习和理解 Kafka 的参数配置,对于优化 Kafka 集群的性能和稳定性至关重要。例如,调整消息批次大小、保留策略、分区数量、副本因子等参数,都可以直接影响到 Kafka 系统的性能和可靠性。在实际部署和使用 Kafka 时...

    kafka一小时入门精讲笔记.zip

    【Kafka一小时入门精讲笔记】 在大数据处理和实时流计算领域,Apache Kafka是一款非常重要的开源消息系统。本精讲笔记将带你快速了解Kafka的基本概念、核心特性以及使用场景,助你在一小时内掌握Kafka的基础知识。 ...

    kafka的相关笔记与资料

    通过学习以上内容,我们可以深入了解Kafka的架构、工作原理以及实际应用。无论是作为日志收集平台,还是实时数据分析工具,Kafka都展现出了强大的能力。随着大数据和实时处理需求的增长,Kafka的重要地位愈发凸显。...

    kafka+zookeeper

    “安装包”和“kafka”文件可能包含了Kafka的安装程序或相关配置文件,这对于实际部署和运行Kafka至关重要。“biji.txt”可能是一个文本文件,但具体内容未知,可能包含了笔记、配置示例或其他相关信息。 总的来说...

    Linux学习笔记【基础知识+软件部署安装】(markdown格式)

    Linux基础知识学习笔记(markdown格式) 包括:基础指令、yum、日期、时区、固定IP、ping、wget、vurl、nmap、nestat、进程管理、主机状态监控、磁盘信息监控、网络状态监控、上传、下载、用户、权限、解压、压缩、...

    kafka 3.x基础笔记,基础技术,环境搭建,外部集成,生产调优,源码解析

    部署 Kafka 3.x 包括安装 Java 运行环境、下载 Kafka 3.x 二进制包、配置服务器设置(如 `server.properties`),以及启动 ZooKeeper 和 Kafka 服务。此外,还需要了解如何创建和管理主题。 3. **外部集成** ...

    java后端学习笔记

    本篇文章将深入探讨“java后端学习笔记”中的关键知识点,包括消息队列(Message Queuing)服务如ActiveMQ和RabbitMQ、工作流引擎Activity、容器化技术Docker、分布式服务框架Dubbo、网络库Netty、RPC(Remote ...

    大数据学习笔记文档.rar

    《大数据学习笔记文档》 大数据领域是信息技术的热门方向,涵盖了多个关键技术,如Linux、Kafka、Python、Hadoop和Scala等。以下是对这些技术的详细介绍: **Linux**:作为大数据处理的基础平台,Linux因其开源、...

    《IT学习资料3》-Java 大数据学习笔记.zip

    【标题】《IT学习资料3》-Java 大数据学习笔记.zip 这是一份全面的IT学习资源,专为对Java大数据技术感兴趣的学习者而准备。这个压缩包包含了一系列与Java大数据相关的学习材料,旨在帮助你掌握从基础到进阶的各种...

    大数据服务框架学习笔记.zip

    "大数据服务框架学习笔记.zip"很可能是包含一系列关于大数据服务框架的学习资料,如Hadoop、Spark、Flink等主流框架的讲解。下面,我们将深入探讨这些关键组件和框架。 首先,Hadoop是大数据处理的基础框架,由...

    《IT学习资料》-Java 大数据学习笔记.zip

    《IT学习资料》-Java 大数据学习笔记.zip是一个涵盖了多方面IT技术的综合学习资源,特别是针对Java和大数据这两个热门领域。这份压缩包中包含了各种教程、笔记和参考资料,帮助学习者深入理解和掌握相关技能。 1. *...

    《java学习》-Java 大数据学习笔记.zip

    Java大数据学习笔记主要涵盖了一系列与Java编程和大数据技术相关的主题,这些主题对于现代软件开发,尤其是数据密集型应用至关重要。以下是对每个主题的详细解释: 1. **SSH**(Secure Shell):SSH是一种网络协议...

    Java【分布式】学习笔记01分布式Java应用

    从给定的文件信息来看,标题和描述都指向了“Java分布式学习笔记01分布式Java应用”,这显然是关于Java在分布式环境下的应用和技术的学习资料。虽然提供的部分内容由于格式问题难以直接解析,但我们可以根据标题、...

    springcloud学习笔记.docx

    - **分布式**:是将一个大型应用拆分成多个独立的服务,每个服务可以独立部署和扩展,它们之间通过网络进行通信,如 RESTful API。 - **集群**:是将同一服务的多个实例部署在多台服务器上,以提高服务的可用性和...

    [实战]Java分布式高级架构师课程学习笔记.docx

    【Java分布式高级架构师课程学习笔记】 在Java分布式高级架构师的学习过程中,涵盖了多个关键领域的技术,包括数据库的高可用方案、缓存系统、消息中间件以及分布式协调服务。以下是对这些主题的深入探讨: 1. **...

Global site tag (gtag.js) - Google Analytics