kafka_2.11-0.11.0.1集群搭建
本文搭建一个三节点的Kafka集群。该集群有三个Zookeeper、三个Kafka Broker。
一、准备工作
解压kafka安装包,获得如下目录:
unzip kafka_2.11-0.11.0.1.zip kafka_2.11-0.11.0.1
Kafka目录结构:
cd kafka_2.11-0.11.0.1 tree -L 1
展示如下内容:
. ├── LICENSE ├── NOTICE ├── bin ├── config ├── libs ├── logs └── site-docs
二、搭建Zookeeper集群
将目录切换到
Kafka
的config
目录,要修改的主要是server.properties以及zookeeper.properties两个配置文件。server.properties kafka配置文件 zookeeper.properties zookeeper配置文件
对Kafka感兴趣的童鞋们可前往 https://www.cnblogs.com/jun1019/p/6256371.html 了解Kafka常用配置属性详解。
修改
zookeeper.properties
:initLimit=10 syncLimit=5 dataDir=/Users/apple/Desktop/zookeeper # zookeeper的快照存储地址 clientPort=2181 # zookeeper端口 maxClientCnxns=0 # 单个客户端与单台服务器之间的连接数的限制 server.1=IP1:2888:3888 # server.x中的x要与myid中的数字一致,2888用于follower与leader之间的数据同步与其他通信;3888用于leader选举时的通信。 server.2=IP2:2889:3889 server.3=IP3:2890:3890
Zookeeper配置详解可参考:http://blog.csdn.net/lengzijian/article/details/9226867
将目录切换到
dataDir
目录,并创建myid文件,内容分别是1、2、3。注意myid的内容要与server.x
中的x相一致。cd /Users/apple/Desktop/zookeeper vim myid
三台机器都配置好
zookeeper.properties
并创建myid
文件后,即可进行测试。依次在三台机器上执行如下命令,即可启动Zookeeper集群。cd kafka_2.11-0.11.0.1 # 切换到你的Kafka目录 nohup bin/zookeeper-server-start.sh config/zookeeper.properties &
观察启动日志,确认启动无误。
三、搭建Kafka集群
搭建完Zookeeper集群后,Kafka集群的搭建就完成了一大半。下面我们来搭建Kafka集群:
在Kafka的config目录下创建文件
server-cluster.properties
,在其中填写如下内容:broker.id=1 # kafka broker的id,三个节点不能相同 listeners=PLAINTEXT://:9094 # kafka所使用的端口 log.dir=/tmp/kafka-logs # kafka日志路径 zookeeper.connect=xxx,yyy,zzz # Zookeeper集群的地址列表,IP:PORT的形式,多个用,分隔
当然,这里
server-cluster.properties
名称不是强制的,你可以叫其他名字;不仅如此,也可直接修改server.properties
。依次在三台机器执行如下命令,启动Kafka
cd kafka_2.11-0.11.0.1 # 切换到你的Kafka目录 bin/kafka-server-start.sh config/server-cluster.properties &
观察启动日志,确认启动无误。
四、验证Kafka集群正常工作
创建一个Topic,其中的xxx、yyy、zzz是Zookeeper的地址,形式为IP:PORT
bin/kafka-topics.sh --create --zookeeper xxx,yyy,zzz --replication-factor 3 --partitions 1 --topic my-replicated-topic
我们现在已经搭建了一个Kafka集群,并创建了一个Topic,但我们如何知道每个broker在做什么呢?可使用
describe topics
命令:bin/kafka-topics.sh --describe --zookeeper xxx,yyy,zzz --topic my-replicated-topicTopic:my-replicated-topic PartitionCount:1 ReplicationFactor:3 Configs:Topic: my-replicated-topic Partition: 0 Leader: 1 Replicas: 1,3,2 Isr: 1,3,2
其中,第一行是对所有partition的摘要,每个附加行给出了每个partition的详情,这里只有一个partition,所以只有一行。
leader是负责给定partition所有读写的节点,每个节点将称为partition随机选择部分的leader。
replicas是复制此partition日志的节点列表,无论它们是否leader,即使它们处于活动状态。
isr是一组
in-sync
副本,这是replicas列表的子集,这些副本当前活动,并被引导到leader。笔者按:isr常被翻译成“副本同步队列”。
leader、replicas、isr可参考:https://www.cnblogs.com/mengyou0304/p/4836555.html
创建一个生产者:
bin/kafka-console-producer.sh --broker-list kafka集群地址列表 --topic my-replicated-topic
地址为IP:PORT的形式,多个用逗号分隔
另启一个窗口,创建消费者:
bin/kafka-console-consumer.sh --bootstrap-server kafka地址 --from-beginning --topic my-replicated-topic
kafka地址为IP:PORT的形式,为Kafka集群中的任意一个节点。
在生产者窗口输入任意文字,看在消费者窗口能否接收。如果能正常接收,说明Kafka集群搭建成功。
五、界面管理
参考笔者博客Kafka Manager管理Kafka集群:http://www.itmuch.com/work/kafka-manager/
六、参考文档
- Kafka官方文档:http://kafka.apache.org/quickstart
- Kafka 0.9集群搭建文档:http://blog.csdn.net/gongxinju/article/details/53415051
kafka_2.11-0.11.0.1集群搭建相关推荐
- Hadoop 3.1.2(HA)+Zookeeper3.4.13+Hbase1.4.9(HA)+Hive2.3.4+Spark2.4.0(HA)高可用集群搭建
目录 目录 1.前言 1.1.什么是 Hadoop? 1.1.1.什么是 YARN? 1.2.什么是 Zookeeper? 1.3.什么是 Hbase? 1.4.什么是 Hive 1.5.什么是 Sp ...
- Centos7.6+Hadoop 3.1.2(HA)+Zookeeper3.4.13+Hbase1.4.9(HA)+Hive2.3.4+Spark2.4.0(HA)高可用集群搭建
本文转自https://mshk.top/2019/03/centos-hadoop-zookeeper-hbase-hive-spark-high-availability/,因为原链接打不开,故在 ...
- CentOS7.X安装Redis-4.0.8以及Redis集群搭建
安装redis 安装前的准备 yum install \ vim \ wget \ make \ gcc \ gcc-c++ \ automake \ autoconf \ -y \ 下载解压并安装 ...
- kafka之四:Kafka集群搭建
1.软件环境 1.linux一台或多台,大于等于2 2.已经搭建好的zookeeper集群 3.软件版本kafka_2.11-0.9.0.1.tgz 2.创建目录并下载安装软件 #创建目录 cd /o ...
- 转-Kafka【第一篇】Kafka集群搭建
转自: https://www.cnblogs.com/luotianshuai/p/5206662.html Kafka[第一篇]Kafka集群搭建 Kafka初识 1.Kafka使用背景 在我们大 ...
- zookeeper 和 kafka 集群搭建
Kafka初识 1.Kafka使用背景 在我们大量使用分布式数据库.分布式计算集群的时候,是否会遇到这样的一些问题: 我们想分析下用户行为(pageviews),以便我们设计出更好的广告位 我想对用户 ...
- redis安装、集群搭建等
1 Redis介绍 1.1 什么是NoSql 为了解决高并发.高可扩展.高可用.大数据存储问题而产生的数据库解决方案,就是NoSql数据库. NoSQL,泛指非关系型的数据库,NoSQL即Not-On ...
- Hadoop-2.8.0集群搭建、hadoop源码编译和安装、host配置、ssh免密登录、hadoop配置文件中的参数配置参数总结、hadoop集群测试,安装过程中的常见错误
25. 集群搭建 25.1 HADOOP集群搭建 25.1.1集群简介 HADOOP集群具体来说包含两个集群:HDFS集群和YARN集群,两者逻辑上分离,但物理上常在一起 HDFS集群: 负责海量数据 ...
- CentOS7.0下Hadoop2.7.3的集群搭建
集群服务器规划 使用3台CentOS-6.8虚拟机进行集群搭建 服务 ip 主机名称 用户 HDFS YARN hadoop1 192.168.1.40 hadoop1 root NameNode, ...
- 【Flink实战系列】Flink 1.11.1 on yarn 集群搭建教程
前面一篇博客中已经搭建了flink Standalone的集群,需要的可以进去看一下,今天主要来说一下flink on yarn 集群的搭建以及怎么提交任务,之前搭建Flink on yarn的时候用 ...
最新文章
- linux软中断的实现
- python分代回收_python 垃圾回收——分代回收 和java有些区别 注意循环引用无法被回收...
- android 自定义actionbar,如何让android的actionbar浮动且透明
- 安装centos7失败认不到硬盘_CentOS7 用U盘安装卡住无法进入安装界面解决方案
- 人类如何感受到四维空间?
- ruby的optparse使用小记
- 《中国人工智能学会通讯》——11.64 基于成对约束的属性特征选择
- CentOS配置ssh无密码登录
- grpc 可以传递context嘛_Python中使用gRPC方法示例
- python3 数据结构_Python3数据结构
- 4.携程架构实践 --- 呼叫中心
- WinForm实现SQLServer存储图片
- Python 爬取小说点评网站,用大数据方法找小说
- 第1关:MapReduce综合应用案例 — 电信数据清洗
- 获得与回馈丨点评中国两大金融机构基于OpenStack的网络联合实践
- 通过代理上网,如何配置Outlook
- ssm实战(1)------数据库表结构
- CSP201609-3炉石传说
- python爬虫练习5:博客阅读量助手
- Android获取手机设备识别码(IMEI)和手机号码