kafka 集群--3个broker 3个zookeeper创建实战
准备工作:
1. 准备3台机器,IP地址分别为:192.168.0.10,192.168.0.11,192.168.0.12
2. 下载kafka稳定版本,我的版本为:kafka_2.9.2-0.8.1.1.tgz
3. 分别解压放入到想安装的目录下,我的目录为:/home/www 解压命令为:
tar -xzf kafka_2.9.2-0.8.1.1.tgz
搭建zookeeper集群
1. 进入解压后的目录/home/www/kafka_2.9.2-0.8.1.1
2. 进入config目录下,修改zookeeper.properties文件
tickTime=
dataDir=/data/zookeeper/
clientPort=
initLimit=
syncLimit=
server.=192.168.0.10::
server.=192.168.0.11::
server.=192.168.0.12::
在dataDir目录/data/zookeeper/下写一个myid文件,命令如下:
echo >myid
注意:这个id是zookeeper的主机标示,每个主机id不同第二台是2 第三台是3。
逐次启动3台机器的zookeeper 构成一个集群:
> bin/zookeeper-server-start.sh config/zookeeper.properties &
注意:使用& 会打印出启动日志,但如果使用secure ssh直接退出,有可能会让zookeeper退出,建议使用命令检查一下:
> netstat -apn | grep 2181
我启动的顺序是
192.168.0.10
192.168.0.11
192.168.0.12
由于ZooKeeper集群启动的时候,每个结点都试图去连接集群中的其它结点,先启动的肯定连不上后面还没启动的,所以打印出来的部分的异常是可以忽略的。集群在选出一个Leader后,最后稳定了。其他结点可能也出现类似问题,属于正常。
至此,zookeeper集群搭建完成
搭建kafka broker集群
进入config目录,修改server.properties
broker.id=
port=
host.name=192.168.0.10zookeeper.connect=192.168.0.10:,192.168.0.11:,192.168.0.12:2181
log.dirs=/home/www/kafka-logs
不同集群broker.id 和host.name 不一样,根据实际情况配置。
修改生产者配置
broker.list=192.168.0.10:,192.168.0.11:,192.168.0.12:
producer.type=async
修改消费者配置:
zookeeper.connect=192.168.0.10:,192.168.0.11:,192.168.0.12:
启动每台服务器的kafka:
> bin/kafka-server-start.sh config/server.properties &
测试集群
创建一个topic
> bin/kafka-topics.sh --create --zookeeper 192.168.0.10:2181 --replication-factor 3 --partitions 1 --topic test-replicated-topic
查看创建的topic
> bin/kafka-topics.sh --describe --zookeeper 192.168.0.10:2181 --topic my-replicated-topic
Topic:test-replicated-topic PartitionCount:1 ReplicationFactor:3 Configs:
Topic: test-replicated-topic Partition: 0 Leader: 1 Replicas: 1,2,0 Isr: 1,2,0
查看集群情况:
>bin/kafka-topics.sh --describe --zookeeper 192.168.0.11:2181 --topic test-replicated-topic
>bin/kafka-topics.sh --describe --zookeeper 192.168.0.10:2181 --topic test-replicated-topic
发现都能看到test-replicated-topic。
注意:使用一台机器,创建3个zookeeper不同端口,3个kafka 不同端口没有成功,和zookeeper集群的端口有关吧,以后会研究一下。
参考资料:
http://kafka.apache.org/documentation.html#quickstart
http://www.jonzobrist.com/2012/04/17/install-apache-kafka-and-zookeeper-on-ubuntu-10-04/
http://www.open-open.com/lib/view/open1387889827593.html
完结。
kafka 集群--3个broker 3个zookeeper创建实战的更多相关文章
- docker下部署kafka集群(多个broker+多个zookeeper)
网上关于kafka集群的搭建,基本是单个broker和单个zookeeper,测试研究的意义不大.于是折腾了下,终于把正宗的Kafka集群搭建出来了,在折腾中遇到了很多坑,后续有时间再专门整理份搭建问 ...
- 假如Kafka集群中一个broker宕机无法恢复,应该如何处理?
假如Kafka集群中一个broker宕机无法恢复, 应该如何处理? 今天面试时遇到这个问题, 网上资料说添加新的broker, 是不会自动同步旧数据的. 笨办法 环境介绍 三个broker的集群, z ...
- kafka1:Kafka集群部署步骤
参考: kafka 集群--3个broker 3个zookeeper创建实战 细细品味Kafka_Kafka简介及安装_V1.3http://www.docin.com/p-1291437890.ht ...
- Kafka【第一篇】Kafka集群搭建
Kafka初识 1.Kafka使用背景 在我们大量使用分布式数据库.分布式计算集群的时候,是否会遇到这样的一些问题: 我们想分析下用户行为(pageviews),以便我们设计出更好的广告位 我想对用户 ...
- kafka集群和zookeeper集群的部署,kafka的java代码示例
来自:http://doc.okbase.net/QING____/archive/19447.html 也可参考: http://blog.csdn.net/21aspnet/article/det ...
- window环境搭建zookeeper,kafka集群
为了演示集群的效果,这里准备一台虚拟机(window 7),在虚拟机中搭建了单IP多节点的zookeeper集群(多IP节点的也是同理的),并且在本机(win 7)和虚拟机中都安装了kafka. 前期 ...
- 《Apache kafka实战》读书笔记-管理Kafka集群安全之ACL篇
<Apache kafka实战>读书笔记-管理Kafka集群安全之ACL篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 想必大家能看到这篇博客的小伙伴,估计你对kaf ...
- RedHat6.5安装kafka集群
版本号: Redhat6.5 JDK1.8 zookeeper-3.4.6 kafka_2.11-0.8.2.1 1.软件环境 1.3台RedHat机器,master.slave1. ...
- centos7搭建kafka集群-第二篇
好了,本篇开始部署kafka集群 Zookeeper集群搭建 注:Kafka集群是把状态保存在Zookeeper中的,首先要搭建Zookeeper集群(也可以用kafka自带的ZK,但不推荐) 1.软 ...
随机推荐
- [Android UI] Service里面启动Activity和Alertdialog
启动Activity源码:(记得要加上Intent.FLAG_ACTIVITY_NEW_TASK) Intent intent = new Intent(); intent.setFlags(Inte ...
- Hadoop之Storm基础
1.离线计算是什么 离线计算:批量获取数据,批量传输数据,周期性批量计算数据,数据展示 代表技术:sqoop批量导入数据,hdfs批量存储数据,mapreduce批量计算数据,hive批量计算数据,* ...
- Python测试Kafka集群(pykafka)
生产者代码: # -* coding:utf8 *- from pykafka import KafkaClient host = 'IP:9092, IP:9092, IP:9092' client ...
- 利用forever在Linux上实现Node.js项目自启动
在一台计算机上手动跑Node项目简单,node xx.js就搞定了,想让Node项目后台执行,尽管不能直接用node命令搞定,可是在安装了forever这个包以后.还是非常轻松的.只是要是在远程ser ...
- Android平台Camera实时滤镜实现方法探讨(十)--代码地址以及简单介绍(20160118更新)
简单做了个相机和图片编辑模块,时间原因非常多功能还没有做.尚有BUG,见谅,将在以后抽时间改动 代码地址 PS:请点个Star^-^ --------------------------------- ...
- 微信小程序页面跳转
一:跳转的数据传递 例如:wxml中写了一个函数跳转: [html] view plain copy <view class="itemWeight" catchtap=&q ...
- TP视图命名规则之一
TP视图命名规则之一 如果觉得目录结构太深,可以通过设置 TMPL_FILE_DEPR 参数来配置简化模板的目录层次,例如设置: 'TMPL_FILE_DEPR'=>'_' 默认的模板文件就 ...
- EXTJS4自学手册——图形行为(rotate,scale)
一.旋转图像: { xtype: 'button', text: '旋转的字', handler: function (btn) { Ext.create('Ext.window.Window', { ...
- Qt笔记——元对象系统
Qt元对象系统提供了对象间的通信机制:信号和槽.以及执行类形信息和动态属性系统的支持.是标注C++的一个扩展,它使得Qt可以更好的实现GUI图形用户界面编程.Qt的元对象系统不支持C++模板.虽然模板 ...
- java之生成jar包
Java编写的application程序是否能够最终形成一个类似于exe一样的可执行文件,难道就只能用命令行运行?------------------------------------------- ...