2、集群介绍 (1)Kafka架构是由producer(消息生产者)、consumer(消息消费者)、borker(kafka集群的server,负责处理消息读、写请求,存储消息,在kafka cluster 二、集群配置 1、zookeeper安装与配置 (1)下载并解压 去下载Index of /apache/zookeeper 在node01 /opt/bigdata/下 解压 tar /conf/zoo.cfg Mode: follower 3、kafka安装与配置 (1)下载并解压 wget http://mirror.bit.edu.cn/apache/kafka/1.1.0/ (4)启动kafka集群 kafka集群启动前要启动zookeeper集群,若zookeeper集群没启动,首先启动 在/opt/bigdata下 ,三个节点分别执行如下命令,启动kafka集群 . 4)、消费生产数据 kafka 0.9版本之前用zookeeper .
首先 Broker 是需要配置存储信息的,即 Broker 使用哪些磁盘。 而且更重要的是,在线上生产环境中一定要为log.dirs配置多个路径,具体格式是一个 CSV 格式,也就是用逗号分隔的多个路径,比如/home/kafka1,/home/kafka2,/home/kafka3 这是 Kafka 1.1 版本新引入的强大功能。要知道在以前,只要 Kafka Broker 使用的任何一块磁盘挂掉了,整个 Broker 进程都会关闭。 它是一个分布式协调框架,负责协调管理并保存 Kafka 集群的所有元数据信息,比如集群都有哪些 Broker 在运行、创建了哪些 Topic,每个 Topic 都有多少分区以及这些分区的 Leader Kafka 与 ZooK
#kafka数据的存放地址,多个地址的话用逗号分 log.dirs=/tmp/kafka-logs #broker server服务端口 port=9092 #这个参数会在日志segment没有达到log.segment.bytes
1 如何规划Kafka 集群部署“兵马未动,粮草先行”,与其盲目上马一套Kafka环境然后事后费力调整,不如一开始就思考好实际场景下业务所需的集群环境。 2 一些重要的集群参数配置 我们从多个维度来看看分别有哪些重要的集群参数: Broker端参数 (1)与存储信息相关的参数 log.dirs 必填,线上环境一定要配置多个路径,有条件最好挂载到不同的物理磁盘 PLAINTEXT://kafka1:9091 (4)关于Topic管理的参数 auto.create.topics.enable:是否允许自动创建topic,建议线上环境将其设置为false,即不允许自动创建 文件系统类型 根据官网的测试报告,XFS 的性能要强于 ext4,所以生产环境有条件的话最好还是使用 XFS。 3 总结 本文从Kafka集群众多的参数配置项选取了一些特别特别重要的参数配置做了介绍,相信了解这些参数配置之后,对于我们后续优化Kafka集群配置会大有裨益。
一、简介 在Kafka0.9版本之前,Kafka集群时没有安全机制的。Kafka Client应用可以通过连接Zookeeper地址,例如zk1:2181:zk2:2181,zk3:2181等。 来获取存储在Zookeeper中的Kafka元数据信息。拿到Kafka Broker地址后,连接到Kafka集群,就可以操作集群上的所有主题了。由于没有权限控制,集群核心的业务主题时存在风险的。 那么问题就来了,在kafka集群中,其它节点需要同步数据,需要相互访问。 它默认会使用ANONYMOUS的用户名连接集群。在这种情况下,启动kafka集群,必然失败!所以这个参数一定要配置才行! listeners=SASL_PLAINTEXT://:9092 这个参数,表示kafka监听的地址。此参数必须要配置,默认是注释掉的。 ) 会出现报错,则说明配置的security 已生效, 要想普通用户能读写消息,需要配置ACL 配置ACL kafka的ACL规则,是存储在zookeeper中的,只需要连接zookeeper即可!
下载kafka https://kafka.apache.org/downloads#2.3.1 解压 tar -zxvf kafka_2.12-2.3.1.tgz 配置server.xml cd /usr /local/kafka/kafka_2.12-2.3.1/config vi server.xml 本次设置三个节点,配置内容如下 192.168.0.1 broker.id=0 listeners= 配置myid文件 在kafka目录下新建zookeeper文件夹,用于放myid文件 cd /usr/local/kafka/kafka_2.12-2.3.1/ mkdir zookeeper touch 注意myid不能为0 192.168.0.1 1 192.168.0.2 2 192.168.0.3 3 配置zookeeper.properties文件 dataDir=/usr/local/kafka /meta.properties 腾讯云节点配置集群需将各个节点加到安全组里面 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/141907.html原文链接:https
而且更重要的是,在线上生产环境中一定要为log.dirs配置多个路径,具体格式是一个 CSV 格式,也就是用逗号分隔的多个路径,比如/home/kafka1,/home/kafka2,/home/kafka3 如果开着就会产生数据丢失的问题 auto.leader.rebalance.enable: 是否定期对kafka的topic分区进行leader重选举,如果是true 就会导致leader A在这段时间表现很好但是由于要 listeners:学名叫监听器,其实就是告诉外部连接者要通过什么协议访问指定主机名和端口开放的 Kafka 服务。 这里我给出统一的建议:最好全部使用主机名,即 Broker 端和 Client 端应用配置中全部填写主机名。 参考极客时间: kafka技术核心和实战 https://time.geekbang.org/column/intro/191
3.3 Producer Configs 下面是生产者的配置: NAME DESCRIPTION TYPE DEFAULT VALID VALUES IMPORTANCE key.serializer Serializer class for key that implements the org.apache.kafka.common.serialization.Serializerinterface Valid values are none, gzip, snappy, lz4, or zstd. This can be defined either in Kafka's JAAS config or in Kafka's config. string null medium sasl.login.callback.handler.class Implementing the org.apache.kafka.common.metrics.MetricsReporter interface allows plugging in classes
Apache Kafka可以部署在单个Web服务器上,也可以部署在分布式集群环境中。 本教程要求 安装Ubuntu 16.04服务器的云ECS平台; 配置静态IP地址192.168.0.103; 在服务器上设置Root密码。 依靠Zookeeper维护配置信息,提供分布式同步,命名和提供组服务。 _2.12-1.1.0 /opt/Kafka 通过运行以下脚本启动Kafka服务器: /opt/Kafka/bin/kafka-server-start.sh /opt/Kafka/config/server.properties localhost:9092 --topic Topic1 >>Hello Kafka >How R You >Ok > 接下来,运行Kafka consumer命令从Kafka集群读取数据并将消息显示到标准输出
目录介绍 - /bin 操作kafka的可执行脚本,还包含windows下脚本 - /config 配置文件所在目录 - /libs 依赖库目录 - /logs 日志数据目录,目录kafka 把server端日志分为5种类型,分为:server,request,state,log-cleaner,controller 3、配置 (1)统一修改配置文件 [root@node1 kafka_2.11 -0.11.0.1]# vi config/server.properties brokerID唯一标示,集群中不能有重复的ID # The id of the broker. 修改 zookeeper.connect zookeeper.connect=node1:2181,node2:2181,node3:2181 4、分发 (1)分发软件包 [root@node1 ~] =3 5、启动kafka (1)先将zookeeper集群启动 (2)再启动kafka 启动node1 [root@node1 kafka_2.11-0.11.0.1]# bin/kafka-server-start.sh
在进入具体的kafka应用设计之前我们先把kafka集群环境配置介绍一下。 2、kafka的配置集中在server.properties文件里的几个设置上: 1)broker.id=2 本kafka实例在多节点集群中的唯一编号为2 usr/local/var/lib/kafka-logs kafka日志文件路径 4)zookeeper.connect=130.90.27.123:2181,130.90.27.233 只要配置文件中zookeeper.connect指向同一个zookeeper集群,代表所有kafka节点都属于同一个kafka集群 3、zookeeper主要的功能是对kafka集群成员的控制管理。 图示中的系统如下: 1、elastic-services: 搜索引擎服务平台 2、mongodb-services: 数据库服务平台 3、mongo-cluster: 数据库集群节点连接 4、kafka-services
一、zookeeper集群搭建 略,请参考其他文档,这里不再赘述。 二、下载kafka 从kafka官网下载kafka_2.11-0.11.0.0.tgz,并解压。 tar -zxvf kafka_2.11-0.11.0.0 三、kafka配置修改 这里我们仅以两台kafka实例做集群。 可根据自己项目的情况进行配置。 其他属性请参照官网。 四、kafka集群启动 nohup ${kafka_home}/bin/kafka-server-start.sh ${kafka_home}/config/server.properties & 将两台机器的kafka启动,集群搭建完毕。
Kafka 通过Zookeeper 管理集群配置,选举leader,以及在Consumer Group 发生变化时进行rebalance。 看上面一张图,要想做kafka集群,有几个关键点 1. 所有kafka节点,必须连接到同一个Zookeeper(可以是单机,也可以是Zookeeper集群) 2. kafka节点配置文件中的broker.id必须唯一,如上图 3. kafka节点的数量,必须是奇数 先确保它的配置文件broker.id=3 先查看ip地址 ? 可以发现此时的Leader的broker.id为4,也就是第4个kafka节点。
通过已有的虚拟机克隆四台虚拟机 Zookeeper集群 参考zookeeper-3.4.10的安装配置 kafka安装包 下载地址:https://mirrors.aliyun.com/apache zookeeper.connect=hadoop01:2181,hadoop02:2181,hadoop03:2181 说明: 只修改列出的4个配置即可,其余保持默认 host.name这个配置在原来的文件中没有 ,需要自己添加,而且建议写成IP地址而不是主机名,这个配置在Kafka单节点或者伪分布式集群中不需要配置 broker.id在每个节点上是唯一的,我设置的hadoop01的broker.id=1,hadoop02 分发安装包 [hadoop@hadoop01 apps]$ scp -r kafka_2.11-0.10.2.1 hadoop03:`pwd` 4. Kafka集群搭建成功!
集群规划Kafka 是一个开源的分布式消息队列系统,主要用于处理和传输大量的数据流。通俗来说,它就像一个“邮局”或者“快递公司”,负责在不同的应用程序之间发送和接收信息。 # 重命名mv kafka_2.12-3.3.1/ kafka配置环境变量# 编辑配置文件vim /etc/profile# KAFKA_HOMEexport KAFKA_HOME=/opt/module /kafkaexport PATH=:$KAFKA_HOME/bin:$PATH# 加载环境变量使其生效source /etc/profile搭建# 进入到/opt/module/kafka目录,修改配置文件 ,路径不需要提前创建,kafka自动帮你创建,可以配置多个磁盘路径,路径与路径之间可以用","分隔log.dirs=/opt/module/kafka/datas#配置连接Zookeeper集群地址(在 每个节点单独配置)advertised.listeners=PLAINTEXT://hadoop104:9092一键启动脚本vim start-kafka.sh#!
172.17.6.15 kafka2 172.17.6.16 kafka3 二、部署zookeeper集群1.下载安装tar -zxf zookeeper-3.4.14.tar.gzmv 将配置复制到其他节点scp /usr/local/zookeeper kafka2:/usr/local/ scp /usr/local/zookeeper kafka3:/usr/local/ 4.在每个节点上创建数据目录和日志目录 systemctl start zookeeper systemctl enable zookeeper 三、部署kafka集群这里生产环境使用kafka_2.11-2.2.0 来进行部署1.下载安装 将配置复制到其它节点scp -r /usr/local/kafka kafka2:/usr/local/ scp -r /usr/local/kafka kafka3:/usr/local/ 4 :master 参数说明: KAFKA_CLUSTERS_0_NAME=kafka1 表示 第一个集群。
基于docker-compose的kafka集群搭建 使用docker-compose搭建kafka集群,解析一些参数含义及列出搭建过程的一些坑。 kafka的参数配置在镜像README中也有说明,简单来说就是先从kafka官方文档中找到要配置的参数,然后在docker-compose.yml文件中配置时只需要将配置项的名字全部换成大写 举个例子,修改broker.id,则需要在配置文件中设置KAFKA_BROKER_ID=XXX即可。 答案是有的,在Dockerfile其已经安装了docker 2.3. kafka_manager 用来管理kafka集群的,在容器启动后可以通过localhost:9000访问可视化界面。 注意创建时由于上面docker-compose.yml中已经设置将所有的kafka集群信息放在/kafka目录下,所以这里也要加上/kafka后缀 但这里有一个坑,就是在创建集群后会遇到如下错误 Yikes
下载Kafka 1.下载Kafka:http://mirror.bit.edu.cn/apache/kafka/2.3.0/kafka_2.12-2.3.0.tgz 2.解压后复制Kafka文件夹,分别命名为 kafka1、kafka2、kafka3 修改配置文件 修改config文件夹下的server.properties ,其中的brokerId是惟一的,集群中kafka服务器配置的brokerId不能相同 集群的服务器端口号, /kafka是在zookeeper挂载的文件夹,要自己创建zookeeper客户端命令 create /kafka Kafka操作 创建主题 kafka-topics.bat 1 –topic test 指令说明: –create 指定创建topic动作 –zookeeper 指定kafka连接zk的连接url,该值和server.properties文件中的配置项{ –topic test 结果信息字段含义: 1 Partition: 分区 2 Leader : 负责读写指定分区的节点 3 Replicas : 复制该分区log的节点列表 4 Isr :
_2.11-0.10.0.1.tar.gz 4、假设3台服务器分别为:kafka1、kafka2、kafka3 2、Zookeeper集群搭建 1、将安装包kafka_2.11 :mkdir zk_kfk_data 4、进入目录:cd /opt/kafka_2.11-0.10.0.1/ 5、修改zookeeper.properties文件 8、Kafka集群搭建 1、修改server.properties配置文件 命令:cd /opt/kafka_2.11-0.10.0.1/config 3、参数说明: broker.id 0 #broker.id的值三个节点要配置不同的值,分别配置为0,1,2 advertised.host.name kafka1.sd.cn ,kafka3.sd.cn:9092 –topic test 4、模拟客户端去接受消息 /opt/kafka_2.11-0.10.0.1/bin/kafka-console-consumer.sh
一、Kafka集群搭建 1、环境构建 安装kafka集群之前,确保zookeeper服务已经正常运行,这里3台zookeeper准备工作都已完成,三台主机分别为:192.168.3.220,192.168.3.221,192.168.3.222 /kafka/config vim server.properties 修改配置文件的以下属性 ## 强调这个ID在集群中必须是唯一否则会出现ID冲突问题 broker.id=0 ## 配置kafka ## 配置分区个数 num.partitions=1 ## 配置Zookeeper集群字符串 zookeeper.connect=192.168.3.220:2181,192.168.3.221:2181,192.168.3.222 :/usr/local/ 并修改上面配置文件的属性 broker.id和listeners就OK 3、启动kafka集群 /usr/local/kafka/bin/kafka-server-start.sh /kafka/config/server.properties 4、测试kafka集群 4.1、创建和查看消息主题 连接zookeeper,创建一个名为test-topic的topic sh kafka-topics.sh