1. 简介
kafka (官网地址:http://kafka.apache.org)是一款分布式消息发布和订阅的系统,具有高性能和高吞吐率。
i. 消息的发布(publish)称作producer,消息的订阅(subscribe)称作consumer,中间的存储阵列称作broker。
ii. 多个broker协同合作,producer、consumer和broker三者之间通过zookeeper来协调请求和转发。
iii. producer产生和推送(push)数据到broker,consumer从broker拉取(pull)数据并进行处理。
iv. broker端不维护数据的消费状态,提升了性能。
v. 直接使用磁盘进行存储,线性读写,速度快:避免了数据在JVM内存和系统内存之间的复制,减少耗性能的创建对象和垃圾回收。
vi. Kafka使用scala编写,可以运行在JVM上。
2. 安装:
a. 首先安装JRE/JDK
Linux安装JDK
b. 下载kafka
进入下载页面:http://kafka.apache.org/downloads.html
选择Binary downloads下载 (Source download需要编译才能使用)
也可以直接在linux终端下载:
- wget -q http://apache.fayea.com/apache-mirror/kafka/0.8.1/kafka_2.8.0-0.8.1.tgz
c. 解压
- tar -xzvf kafka_2.8.0-0.8.1.tgz
- rm kafka_2.8.0-0.8.1.tgz
- cd kafka_2.8.0-0.8.1
目录:
/bin 启动和停止命令等。
/config 配置文件
/libs 类库
d. 修改配置
Kafka默认开启JVM压缩指针,但只是在64位的HotSpot VM受支持,如果安装了32位的HotSpot VM,需要修改/bin/kafka-run-class.sh文件
- vi bin/kafka-run-class.sh
找到如下行:
- KAFKA_JVM_PERFORMANCE_OPTS="-server -XX:+UseCompressedOops -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:+CMSScavengeBeforeRemark -XX:+DisableExplicitGC -Djava.awt.headless=true"
去除-XX:+UseCompressedOops参数
3. 启动和停止
启动Zookeeper server:
- bin/zookeeper-server-start.sh config/zookeeper.properties &
&是为了能退出命令行
启动Kafka server:
- bin/kafka-server-start.sh config/server.properties &
停止Kafka server
- bin/kafka-server-stop.sh
停止Zookeeper server:
- bin/zookeeper-server-stop.sh
4. 单机连通性测试
运行producer:
- bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
早版本的Kafka,--broker-list localhost:9092需改为--zookeeper localhost:2181
运行consumer:
- bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning
在producer端输入字符串并回车,查看consumer端是否显示。
5. 分布式连通性测试
Zookeeper Server, Kafka Server, Producer都放在服务器server1上,ip地址为192.168.1.10
Consumer放在服务器server2上,ip地址为192.168.1.12。
分别运行server1的producer和server2的consumer,
- bin/kafka-console-producer.sh --broker-list 192.168.1.10:9092 --topic test
- bin/kafka-console-consumer.sh --zookeeper 192.168.1.10:2181 --topic test --from-beginning
在producer的console端输入字符串,consumer报Connection refused错误:
broker, producer和consumer都注册到zookeeper上,producer和consumer的参数明确指定。问题出在broker的配置文件server.properties上:
- # Hostname the broker will bind to. If not set, the server will bind to all interfaces
- #host.name=localhost
host名称没有指定,就是127.0.0.1,consumer去broker拿数据就有问题。设置为192.168.1.10,重启服务就好了。
http://czj4451.iteye.com/blog/2041096
相关推荐
在IT行业中,Kafka是一种广泛...在进行此类测试时,务必理解Kafka的工作原理,合理设计测试用例,确保覆盖所有关键路径,以验证系统的正确性和可靠性。同时,考虑到生产环境的复杂性,测试应尽可能接近实际运行条件。
利用安装zookeeper的三台服务器搭建KAFKA集群,并对其进行验证测试
1. **安装与启动**:下载并解压压缩包文件“kafka测试工具”,根据提供的文档安装并启动工具。 2. **配置连接**:在工具界面输入Kafka Broker的地址,设置必要的认证信息(如果有的话)。 3. **创建测试用例**:...
### Kafka的安装与简单实例测试知识点详解 #### 一、Kafka简介 Kafka是一种高吞吐量的分布式发布订阅消息系统,它被设计用于处理大规模网站中的所有动作流数据。Kafka的主要目标之一是通过Hadoop的并行加载机制来...
Kafka的性能测试包括基准测试(benchmark testing)和压力测试。基准测试通过一些标准的测试方法来衡量Kafka的性能,如消息吞吐量、延迟等。压力测试则是通过模拟大量负载来测试系统的极限,以确定系统的最大处理...
总结来说,Kafka的安装和部署涉及到Java环境的准备、下载与解压Kafka、配置服务器属性、启动ZooKeeper和Kafka服务,以及创建和测试消息传递。了解这些基本步骤和概念对于理解和操作Kafka至关重要。在实际应用中,你...
在描述中,“kafka测试”可能是指创建或执行一些基本的Kafka操作,如生产消息、消费消息、检查主题(topics)、分区(partitions)和副本(replicas)等,以验证Kafka集群的正常运行。测试可能包括性能测试、稳定性...
总结,通过下载的Kafka资源和测试代码,我们可以学习到Kafka的基本原理和实际操作,同时了解如何利用Python和Spark与其集成,为构建实时数据处理系统打下坚实基础。在实际工作中,这样的知识和实践经验对于提升数据...
本教程将指导您在 Linux 环境中安装和配置 Kafka。 一、Kafka 安装 Kafka 可以通过两种方式安装:手动下载和命令下载。手动下载可以从 Apache Kafka 官方网站下载对应的版本,然后上传到服务器。命令下载可以使用 ...
### Kafka安装与配置详解 #### 一、Kafka简介 Apache Kafka是一种分布式流处理平台,主要功能包括发布和订阅记录流、存储...至此,Kafka集群安装与配置的基本流程已经完成,接下来可以进行进一步的功能测试和使用。
**Kafka测试小程序详解** Kafka是一款开源的分布式消息中间件,由Apache软件基金会开发,主要用于构建实时数据管道和流应用程序。它具有高吞吐量、可扩展性、...在实践中,持续测试和优化是保证Kafka高效运行的关键。
总的来说,搭建Kafka集群涉及Java、Zookeeper的安装配置,以及Kafka自身的配置和启动。完成这些步骤后,你可以通过创建和消费消息来验证集群功能是否正常。如果在搭建过程中遇到任何问题,可以通过网络搜索或与他人...
7. **验证**:使用 Kafka 提供的命令工具 `kafka-topics.sh` 创建 Topic,`kafka-console-producer.sh` 和 `kafka-console-consumer.sh` 测试生产与消费消息。 #### Kafka 单机版部署示例 1. **配置 server....
测试 Kafka 需要创建 topic 主题、生产消息和消费消息。 1. 创建 topic 主题:./kafka-create-topic.sh -zookeeper 10.12.2.80:2181 --replica 1 --partition 1 --topic mykafka 2. 生产消息:./kafka-console-...
为了确保Kafka在生产环境中的稳定性和性能,测试工具扮演着至关重要的角色。JMeter,一个流行的开源性能测试工具,现在可以通过Kafka插件kafkameter-0.2.0.jar,为Kafka的性能测试提供了强大的支持。 JMeter,全称...
Apache Kafka 是一个强大的开源流处理平台,用于构建高效的...通过理解和熟练掌握 Kafka 的部署、操作和性能测试,开发者和运维人员能够构建出高性能、可扩展的数据处理系统,以支持企业的实时分析和大数据应用需求。
在本文中,我们将深入探讨如何在Apache Kafka中配置SASL/PLAIN认证机制,并通过具体的密码验证实现安全的通信...这为保障数据的安全传输提供了基础,同时,了解和实践这些配置将有助于我们更好地理解和管理Kafka系统。
消息中间件kafka 进行消息的分发和接收示例 应用中包含分通道发送和多线程接收