kafka集群配置与测试

刚接触一些Apache Kafka的内容,用了两天时间研究了一下,仅以此文做相关记录,以供学习交流。

 概念:

kafka依赖的项:

1. 硬件上,kafka利用线性存储来进行硬盘直接读写。

2. kafka没有使用内存作为缓存。

3. 用zero-copy。

4. Gzip和Snappy压缩,

5. kafka对事务处理比较弱,但是message分发上还是做了一定的策略来保证数据递送的准确性的。

kafka关于存储的几个概念

1. Partition:同一个topic下可以设置多个partition,目的是为了提高并行处理的能力。可以将同一个topic下的message存储到不同的paritition下。

2. Offset:kafka的存储文件都是按照offset.kafka来命名,用offset做名字的好处是方便查找。

在分布式方面:

1. broker的部署是没有主从结构的,每个节点都是同等的,节点的增减和减少都不需要改变任何配置。

2. producer和consumer通过zookeeper去发现topic,并通过zookeeper来协调生产和消费的过程。

3. producer、consumer和broker均采用TCP连接,通信基于NIO实现。并且Producer和consumer能自动检测broker的增加和减少。

一.配置

克隆出三台虚拟机,我这三台虚拟机的ip分别为

192.168.128.129

192.168.128.132

192.168.128.133

在129这个服务器上找到 kafka目录/config/server.properties文件,做如下修改

broker.id=129
host.name=192.168.128.129
zookeeper.connection=192.168.128.129:2181

这里只用到了一个zookeeper,并部署到了129上,没有用集群,当然也可以部署到其他机器上。

132上的kafka配置

roker.id=132
host.name=192.168.128.132
zookeeper.connection=192.168.128.129:2181

133上的kafka配置

broker.id=133
host.name=192.168.128.133
zookeeper.connection=192.168.128.129:2181

二.测试

在129上启动zookeeper服务器

bin/zkServer.sh start conf/zoo.cfg

启动129,132,133上的kafka服务

[[email protected] kafka_2.8.0-0.8.1]# nohup bin/kafka-server-start.sh config/server.properties &

在任意机器上建一个topic,因为有三个kafka服务,所以这里replication-factor设为3

bin/kafka-topics.sh --create --zookeeper 192.168.128.129:2181 --replication-factor 3 -partitions 1 --topic 3test
Created topic "3test".

查看topic,此时的leader kafka为129,repicas:集群里有三个kafka,Isr:正常使用的kafka

bin/kafka-topics.sh --describe --zookeeper 192.168.128.129:2181
Topic:3test	PartitionCount:1	ReplicationFactor:3	Configs:
	Topic: 3test	Partition: 0	Leader: 129	Replicas: 129,132,133	Isr: 129,132,133

在133这台机器上开启一个producer,往132这个kafka发消息

[[email protected] kafka_2.8.0-0.8.1]# bin/kafka-console-producer.sh --broker-list 192.168.128.132:9092 --topic 3test
this is a message to 132 broker
re?

停掉132的kafka,再次查看topics,此时可用的Isr为129和133,leader依然为129,因为129的kafka没有被停过,所以没有重新选举leader

[[email protected] kafka_2.8.0-0.8.1]# bin/kafka-topics.sh --describe --zookeeper 192.168.128.129:2181
Topic:3test	PartitionCount:1	ReplicationFactor:3	Configs:
	Topic: 3test	Partition: 0	Leader: 129	Replicas: 129,132,133	Isr: 129,133

在129上开启一个consumer

[[email protected] kafka_2.8.0-0.8.1]# bin/kafka-console-consumer.sh --zookeeper 192.168.128.129:2181 --topic 3test --from-beginning
this is a message to 132 broker
re?

自此,发现停掉了132,依然能通过zookeeper从129和133的kafka上收到发往132的消息。

kafka集群测试通过

kafka集群配置与测试

时间: 2024-10-25 09:36:55

kafka集群配置与测试的相关文章

Kafka 集群配置SASL+ACL

** Kafka 集群配置SASL+ACL 测试环境:** 系统: CentOS 6.5 x86_64 JDK : java version 1.8.0_121 kafka: kafka_2.11-1.0.0.tgz zookeeper: 3.4.5 ip: 192.168.49.161 (我们这里在一台机上部署整套环境) kafka 名词解析: Broker: Kafka 集群包含一个或多个服务器,这种服务器被称为broker Topic: 每条发布到Kafka 集群的消息都有一个类别,这个类

ELK5.3+Kafka集群配置

[一]资源准备 # 3台4C*8G, 安装Zookeeper.Kafka.Logstash--Broker(input: filebeat; output: Kafka) 10.101.2.23 10.101.2.24 10.101.2.25 # 2台4C*8G, 安装Logstash--Indexer(input: Kafaka; output: Elasticsearch) 10.101.2.26 10.101.2.27 # 3台8C*16G, 安装Elasticsearch 10.101.

HyperLedger Fabric基于zookeeper和kafka集群配置解析

简述 在搭建HyperLedger Fabric环境的过程中,我们会用到一个configtx.yaml文件(可参考Hyperledger Fabric 1.0 从零开始(八)--Fabric多节点集群生产部署),该配置文件主要用于构建创世区块(在构建创世区块之前需要先创建与之对应的所有节点的验证文件集合),其中在配置Orderer信息中有一个OrdererType参数,该参数可配置为"solo" and "kafka",之前博文所讲的环境配置皆是solo,即单节点共

Kafka集群配置

kafka_2.11-0.9.0.1.tgz 1.进入项目前的目录 cd /home/dongshanxia mkdir kafka #创建项目目录 cd kafka #进入项目目录 mkdir kafkalogs #创建kafka消息目录,主要存放kafka消息 2.进入配置文件目录 cd /home/dongshanxia/kafka/kafka_2.11-0.9.0.1/config //打开配置文件 vim server.properties ----------------------

kafka集群配置和java编写生产者消费者操作例子

kafka 安装 修改配置文件 java操作kafka kafka kafka的操作相对来说简单很多 安装 下载kafka http://kafka.apache.org/downloads tar -zxvf kafka_2.12-2.1.0.tgz rm kafka_2.12-2.1.0.tgz mv kafka_2.12-2.1.0 kafka sudo vim /etc/profile export KAFKA_HOME=/usr/local/kafka export PATH=$PAT

Kafka详解之二、如何配置Kafka集群

Kafka集群配置比较简单,为了更好的让大家理解,在这里要分别介绍下面三种配置 单节点:一个broker的集群 单节点:多个broker的集群 多节点:多broker集群 一.单节点单broker实例的配置 1.首先启动zookeeper服务 Kafka本身提供了启动zookeeper的脚本(在kafka/bin/目录下)和zookeeper配置文件(在kafka/config/目录下),首先进入Kafka的主目录(可通过 whereis kafka命令查找到): [[email protect

Zookeeper+Kafka集群部署

Zookeeper+Kafka集群部署 主机规划: 10.200.3.85  Kafka+ZooKeeper 10.200.3.86  Kafka+ZooKeeper 10.200.3.87  Kafka+ZooKeeper 软件下载地址: #wget http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz #wget http://mirror.bit.edu.cn/apache/

KafKa集群安装、配置

一.事前准备 1.kafka官网:http://kafka.apache.org/downloads. 2.选择使用版本下载. 3.kafka集群环境准备:(linux) 192.168.145.129   主机名:kafka01 192.168.145.130              kafka02 192.168.145.131              kafka03 4.本次安装版本:kafka_2.10-0.8.2.0 5.注意事项 ①:kafka依赖zookeeper集群. ②:集

Kafka单节点及集群配置安装

一.单节点 1.上传Kafka安装包到Linux系统[当前为Centos7]. 2.解压,配置conf/server.property. 2.1配置broker.id 2.2配置log.dirs 2.3配置zookeeper.connect 3.启动Zookeeper集群 备注:zookeeper集群启动时,先启动的节点因节点启动过少而出现not running这种情况,是正常的,把所有节点都启动之后这个情况就会消失! 3.启动Kafka服务 执行:./kafka-server-start.sh