http://orchome.com/kafka/index 中文官网
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,重启服务就好了。
相关推荐
标题"Kafka以及依赖安装包JDK+Zookeeper+Kafka"表明这个压缩包包含了运行Kafka所需的基础组件:Java Development Kit (JDK),Zookeeper服务,以及Kafka自身。Kafka是一个分布式流处理平台,而Zookeeper是一个分布式...
本项目旨在搭建一套完整的Spark集群环境,包括Hadoop HA(高可用)、HBase、Phoenix、Kafka、Flume、Zookeeper以及Scala等多个组件的集成。这样的环境适用于大规模的数据处理与分析任务,能够有效地支持实时数据流...
1. **安装Java**:Zookeeper和Kafka都需要Java运行环境,首先确保服务器上已经安装了JDK。 2. **下载并解压Zookeeper**:从Apache官方网站下载Zookeeper的最新稳定版本,将其解压到指定目录,例如 `/usr/local/...
基于 Zookeeper 搭建 Hadoop 高可用集群 二、Hive 简介及核心概念 Linux 环境下 Hive 的安装部署 CLI 和 Beeline 命令行的基本使用 常用 DDL 操作 分区表和分桶表 视图和索引 常用 DML 操作 数据查询详解 三、Spark ...
标题中的"zookeeper-3.4.8+kafka-2.12-1.0.tar.gz"是一个包含Zookeeper和Kafka的软件包,版本分别为3.4.8和2.12-1.0,它是一个适用于Linux操作系统的压缩文件。这个文件很可能是一个集成的打包,将两个重要的分布式...
【Linux平台CentOS7系统 - ELK+logback+kafka+nginx搭建分布式日志分析平台】 在复杂的IT环境中,日志管理和分析对于诊断问题、优化性能以及确保系统稳定性至关重要。ELK栈(Elasticsearch、Logstash、Kibana)正是...
避免流式传输前言:使用scala和java混编完成,其中也涉及到python脚本来自动生成日志,linux crontab调度工具来定时执行脚本生成实时日志。生成的数据主要是模拟某学习网站学习视频课程的访问量(其中*以“ / class...
在Linux环境下搭建Kafka,你需要修改`config/server.properties`文件,配置包括broker.id(每个Kafka节点的唯一标识)、zookeeper.connect(指向Zookeeper集群的连接字符串)、log.dirs(Kafka日志数据存储路径)等...
### Linux部署JDK、MySQL、Zookeeper、Kafka文档 #### 环境搭建与预备工作 在开始之前,确保已经准备好了一台Linux服务器。可以通过`uname -a`命令来检查服务器的基本信息,例如内核版本等。示例输出如下: ``` ...
Linux环境下,ELK(Elasticsearch、Logstash、Kibana)和Kafka以及Zookeeper是构建高效日志管理和分析系统的必备组件。这个压缩包包含了这些工具的最新稳定版本,旨在简化安装过程,提高效率。 首先,让我们详细...
首先,我们要在Linux服务器上安装Java运行环境,因为Kafka和Zookeeper都是基于Java的。确保已安装Java 8或更高版本,并将其设置为默认版本。 接下来,我们将安装Zookeeper。下载最新稳定版的Zookeeper源码,解压后...
7. **安装Kafka和Zookeeper**:Zookeeper是Kafka集群的关键组件之一,负责管理集群元数据。确保两者都已正确安装并启动。 8. **安装Kibana**:作为图形化界面工具,Kibana的安装相对简单,主要是确保其与Elastic...
在本文中,我们将深入探讨如何在Linux CentOS 7系统上安装Apache Kafka 2.12-3.6.0版本,特别关注无需Zookeeper的Kraft模式安装。Apache Kafka是一款高性能、分布式的消息队列系统,常用于大数据处理、实时流处理和...
在进行Kafka环境搭建时,首先需要确保我们的系统已经配备了必要的依赖,尤其是Java开发环境。在这个案例中,我们使用的是Java 8的特定版本,即jdk-8u25-linux-x64。下面是详细的Java环境安装步骤: 1. **下载与解压...
在开始搭建 ZooKeeper 集群之前,需要提前在本地安装好 JDK,因为 ZooKeeper 是用 Java 编写的,需要运行在 JVM 上。 第一步:下载和解压 ZooKeeper 首先,需要下载 ZooKeeper 的安装包,例如 zookeeper-3.4.6.tar...
4. **启动CAS Server**: 使用Tomcat的startup.sh(Unix/Linux)或startup.bat(Windows)脚本来启动服务。 5. **测试SSO功能**: 创建一个CAS客户端应用,配置相应的服务URL和验证机制,然后尝试登录,看是否能够...
在IT行业中,`Kafka` 和 `Zookeeper` 是两个非常重要的组件,广泛应用于大数据处理和实时流数据系统。这两个工具通常与Java运行环境(JRE)一起使用,因为它们都是用Java语言编写的。本篇文章将深入探讨 `Kafka`、`...
* 中间件系统包括6个节点的Redis Cluster集群,3个节点的Zookeeper集群,3个节点的Kafka集群,以及Dubbo-admin的服务治理。 * 主机操作系统环境为Redhat/CentOS 7.5,主机共3台。 * 系统用户为tyzfUser,除非特别...
java筑基面试专题系列(二):并发+Netty+JVM+Linux java筑基面试专题系列(一):Tomcat+Mysql+设计模式 分布式数据库面试专题系列:Redis+MongoDB 分布式通讯面试专题系列:ActiveMQ+RabbitMQ+Kafka 分布式限流...
在Linux环境中,对Apache Kafka进行监控是确保系统稳定运行的关键步骤。EFAK(原名为Kafka Eagle)是一个专门用于Kafka集群监控的开源工具,它提供了丰富的可视化界面,可以帮助管理员轻松地监控Kafka节点的状态、...