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,重启服务就好了。
- 大小: 28.3 KB
- 大小: 22.3 KB
- 大小: 25.2 KB
分享到:
相关推荐
向kafka插入数据测试
kafka及其性能测试 kafka及其性能测试 kafka及其性能测试 kafka及其性能测试 kafka及其性能测试 kafka及其性能测试
利用安装zookeeper的三台服务器搭建KAFKA集群,并对其进行验证测试
kafka测试
Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了...文档介绍有关Kafka的简单安装和使用。
kafka资源下载和测试代码
kafka 安装手册(单机) 保证step by step 经验总结,生产环境和测试环境可用
消息中间件kafka 进行消息的分发和接收示例 应用中包含分通道发送和多线程接收
可视化kafka测试工具,配置好broker地址即可模拟发送topic消息
Kafka Test
centos 7.4安装kafka 一、 关闭防火墙 二、 禁止selinux 三、 更新系统 四、 安装JDK 五、 配置Java环境变量 六、 安装kafka ...九、 测试kafka 十、 把zookeeper配置成服务 十一、 把kafka配置成服务
这个是我自己根据网上的教程以及自己的经验总结出来的kafka的集群搭建以及测试,亲测可用,如果遇到一些小问题,请上网百度。或者私聊均可,可以给与帮助
CentOS7网络配置,安装JDK,安装Kafka,订阅发布以及测试
kafka配置安装详解及启动测试指南,基本入门教程,读写数据样例
SpringBoot整合kafka代码,两个工程 一个消费者 一个生产者,利用定时任务和restapi发送消息,批量消费和指定分区消费。代码简洁。欢迎大家下载。
Kafka监控程序附带测试代码
Kafka 目前支持SSL、SASL/Kerberos、SASL/PLAIN三种认证机制 ,我拿第三种进行了 配置 。你可以直接下载 运行并测试
grafana上kafka 测试消费者组消费情况使用的json文件
Kafka Tool是一个用于管理和使用Apache Kafka集群的GUI应用程序。它提供了一个直观的UI,允许用户快速查看Kafka群集中的对象以及存储在群集主题中的消息