使用自带Zookeeper搭建kafka集群
来源:互联网 发布:最心酸的一句话知乎 编辑:程序博客网 时间:2024/06/05 19:53
简要说明
新版本的kafka自带有zookeeper,其实自带的zookeeper完全够用,本篇文章以记录使用自带zookeeper搭建kafka集群。
1、关于kafka
kafka官网:http://kafka.apache.org/
kafka下载页面:http://kafka.apache.org/downloads
kafka配置快速入门:http://kafka.apache.org/quickstart
2、修改kafka配置文件
kafka安装目录下的config文件夹为其配置文件,我们需要修改的有 server.properties和zookeeper.properties。
2.1、修改日志目录
首先修改kafka的日志目录和zookeeper数据目录,因为这两项默认放在tmp目录,而tmp目录中内容会随重启而丢失:
server.properties:
log.dirs=/tmp/kafka-logs
修改为
log.dirs=/usr/local/kafka/logs
zookeeper.properties
dataDir=/tmp/zookeeper
修改为
dataDir=/usr/local/zookeeper/data
2.2、配置kafka
kafka集群为便于推选leader,一般由奇数台服务组件集群,这里以三台为例,分别已xxx.xxx.xxx.xxA、xxx.xxx.xxx.xxB和xxx.xxx.xxx.xxC代表服务的ip。
(服务器IP可使用ifconfig命令查看)
修改server.properties:
1、设置broker.id,保证每个broker唯一,第一台可以不修改默认为0,后面两台需要修改,如改为1和2
2、设置num.partitions,分区数量一般与broker保持一致
3、设置advertised.listeners和listeners,如listeners=PLAINTEXT://xxx.xxx.xxx.xx:9092
4、设置zookeeper.connect,配置三台服务zookeeper连接地址,如zookeeper.connect=xxx.xxx.xxx.xxA:2181,xxx.xxx.xxx.xxB:2181,xxx.xxx.xxx.xxC:2181
修改zookeeper.properties:
1、设置连接参数,添加如下配置
tickTime=2000
initLimit=10
syncLimit=5
initLimit=10
syncLimit=5
2、设置broker Id的服务地址
server.0=xxx.xxx.xxx.xxA:2888:3888
server.1=xxx.xxx.xxx.xxB:2888:3888
server.2=xxx.xxx.xxx.xxC:2888:3888
server.1=xxx.xxx.xxx.xxB:2888:3888
server.2=xxx.xxx.xxx.xxC:2888:3888
zookeeper数据目录添加id配置
在各台服务的zookeeper数据目录添加myid文件,写入服务broker.id属性值,如这里的目录是/usr/local/zookeeper/data
第一台broker.id为0的服务到该目录下执行:echo 0 > myid
3、启动kafka
kafka启动时先启动zookeeper,再启动kafka;关闭时相反,先关闭kafka,再关闭zookeeper
启动zookeeper:
bin/zookeeper-server-start.sh config/zookeeper.properties &
启动kafka:
bin/kafka-server-start.sh config/server.properties &
bin/zookeeper-server-start.sh config/zookeeper.properties &
启动kafka:
bin/kafka-server-start.sh config/server.properties &
4、测试kafka集群
4.1、在第一台服务上创建test主题
bin/kafka-topics.sh --create --topic test --zookeeper xxx.xxx.xxx.xxA:2181 --replication-factor 3 --partition 3
4.2、展示主题,确认主题创建成功
bin/kafka-topics.sh --list --zookeeperxxx.xxx.xxx.xxA:2181
4.3、创建生产者
bin/kafka-console-producer.sh --broker-listxxx.xxx.xxx.xxA:9092 --topic test
4.4、创建消费者,再另外两台服务上分别创建消费者
bin/kafka-console-consumer.sh --zookeeper xxx.xxx.xxx.xxB:2181 --topic test --from-beginning
bin/kafka-console-consumer.sh --zookeeper xxx.xxx.xxx.xxC:2181 --topic test --from-beginning
bin/kafka-console-consumer.sh --zookeeper xxx.xxx.xxx.xxC:2181 --topic test --from-beginning
4.5、测试消息发布与消费
在IP为xxx.xxx.xxx.xxA的服务生产中输入消息回车发送,确认在服务B和C中的消费者是否接收到
5、其他
如配置完成后需要修改端口或其他配置,但是没有生效,启动报错,可以尝试清楚kafka(/usr/local/kafka/logs)和zookeeper(/usr/local/zookeeper/data)缓存目录的内容然后重新启动。
阅读全文
0 0
- 使用自带Zookeeper搭建kafka集群
- Kafka集群搭建(使用kafka自带的zookeeper)
- Kafka(自带的zookeeper)集群搭建详细步骤
- Zookeeper+Kafka集群搭建
- kafka+zookeeper集群搭建
- zookeeper+kafka集群搭建
- Zookeeper + Kafka 集群搭建
- Zookeeper 集群+kafka集群+kafka manager搭建
- kafka集群搭建(使用外部zookeeper集群环境方式)
- Zookeeper与Kafka集群搭建
- Zookeeper与Kafka集群搭建
- Zookeeper与Kafka集群搭建
- Zookeeper与Kafka集群搭建
- Zookeeper与Kafka集群搭建
- Zookeeper与Kafka集群搭建
- Zookeeper+kafka集群环境搭建
- zookeeper和kafka集群搭建
- zookeeper 和 kafka 集群搭建
- numpy.array学习笔记
- 数据结构实验之二叉树三:统计叶子数
- SDL的几个宽高概念讲解(文中有福利)
- 基于proxychains4进行终端加速 wget,curl等
- Ubuntu下QT的安装
- 使用自带Zookeeper搭建kafka集群
- mysql数据类型及长度全解
- python中的element elements
- netty源码分析(十八)Netty底层架构系统总结与应用实践
- UML类图与类的关系详解
- Mybatis 动态SQL语句foreach
- Android ViewHolder 生成工具(帮助生成findviewbyid)
- 数据结构--链栈的实现
- android查看大包时的keystore文件