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
相关推荐
- **安装与配置**:安装Java运行环境,下载Kafka 2.11-1.0.0,配置Zookeeper和Kafka的相关参数。 - **启动与测试**:启动Zookeeper和Kafka服务,创建主题并测试消息的发布和消费。 6. **最佳实践**: - **合理...
这个名为 "kafka2.11.tar.gz" 的压缩包文件包含了 Apache Kafka 的特定版本——2.11版,该版本针对Java 1.8及以上版本的JDK(即Java 8及以上)进行了优化。Kafka 2.11 版本是在2.1.1稳定版本的基础上构建的,提供了...
kafka2.11 jar包 经过实际测试可用。......................................................................................................
Kafka是Apache软件基金会开发的一个开源流处理平台,它最初由LinkedIn设计并贡献,后来成为Apache顶级项目。...通过理解其核心概念和安装配置过程,开发者可以有效地利用Kafka构建稳定可靠的数据流系统。
### 关于Kafka资源下载kafka_2.11-2.0.0.tgz的知识点 ...“kafka_2.11-2.0.0.tgz”的下载和安装是使用Kafka的基础步骤,通过对版本特性、配置方法及常见问题的了解,可以帮助用户更好地利用这一强大的工具。
通常,Kafka的默认配置是针对Linux环境的,但通过提供Windows版本,开发者可以在Windows操作系统上方便地进行测试和开发工作。"**请解压在D:Server目录**",这是对部署位置的建议,如果遵循此设置,Kafka的安装路径...
总的来说,这个自定义配置的Kafka包提供了在特定场景下运行Kafka的基础,用户需要根据自身的业务需求和环境,对配置进行适当的调整和测试,以确保稳定性和效率。同时,持续关注Kafka的新版本更新,以获取最新的特性...
- "单机版快速安装"则针对个人开发或测试环境,简化了安装过程,通常只需要在单台机器上安装ZooKeeper和Kafka,并进行基本的配置。 综合以上信息,安装Kafka 2.11-2.1.1的关键步骤包括: 1. 下载并解压Zookeeper-...
这个 "kafka_2.11-0.9.0.1" 包解压后,会包含 Kafka 的二进制文件、配置文件、示例脚本等,用户可以直接运行这些文件来启动 Kafka 服务,进行生产环境的部署或者本地测试。在使用时,用户需要根据实际需求配置 `...
在本文中,我们将深入探讨如何在Linux CentOS 7系统上安装Apache Kafka 2.4.1,基于提供的kafka_2.11-2.4.1安装包。Apache Kafka是一个分布式流处理平台,广泛应用于大数据实时处理、消息传递和日志聚合等领域。...
综上所述,本文详细介绍了如何在 CentOS 8 上安装并配置 Kafka 2.11-2.4.1,包括了基础环境的准备、安装配置步骤以及启动测试等过程,并针对启动过程中可能出现的内存不足问题提供了相应的解决方案。
本安装包"Kafka_2.11-2.4.1"是针对Scala 2.11版本的Kafka 2.4.1的发行版,包含了Kafka服务的所有必要组件,包括服务器端和客户端的JAR文件,以及详细的安装文档。 **Kafka核心概念** 1. **主题(Topic)**:主题是...
《Kafka 2.4.0 安装与配置指南》 Kafka 是一个高性能、分布式的消息中间件,由...通过理解 Kafka 的核心概念和安装过程,以及实际操作中的生产者、消费者和连接器,我们可以充分利用 Kafka 构建高效的大数据处理系统。
7. 生产和消费消息:使用`bin/kafka-console-producer.sh`和`bin/kafka-console-consumer.sh`进行消息生产和消费测试。 在Linux环境下,这两个工具的配合使用使得开发者可以构建高效、可扩展的实时数据处理系统。...
总的来说,搭建Kafka集群涉及Java、Zookeeper的安装配置,以及Kafka自身的配置和启动。完成这些步骤后,你可以通过创建和消费消息来验证集群功能是否正常。如果在搭建过程中遇到任何问题,可以通过网络搜索或与他人...
### Kafka安装与配置详解 #### 一、Kafka简介 Apache Kafka是一种分布式流处理平台,主要功能包括发布和订阅记录流、存储...至此,Kafka集群安装与配置的基本流程已经完成,接下来可以进行进一步的功能测试和使用。
- 使用`kafka-console-producer.sh`和`kafka-console-consumer.sh`工具测试生产消费消息。 - 阅读`kafka快速安装.pdf`以获取更多详细的部署和使用指导。 **运维与优化** - 监控Kafka和ZooKeeper的性能,确保足够...
《Flume与Kafka安装详解及简单应用测试》 Flume和Kafka是大数据处理领域中的两个重要组件,主要用于数据采集和数据流转。本文将详细介绍这两个工具在Ubuntu Kylin 16.04上的安装步骤,并提供简单的测试案例,帮助...
- 使用Kafka命令行工具测试创建topic、发布消息和消费消息。 ### 高级配置 除了基础配置,还可以进一步调整Kafka以满足性能和可靠性需求,例如: - **Partition和Replication**:调整topic的分区数量和副本因子,...
如下所示,手动指定zookeeper和kafka的bin目录、配置文件以及需要添加定时任务的周期几个参数后,执行当前脚本,脚本会自动添加定时任务并开始监控zookeeper及kafka进程,如果进程不存在则重启并放入后台,存在则...