KAFKA集群搭建(自带zookeeper)
1. KAFKA下载地址:http://kafka.apache.org/downloads
KAFKA-快速上手-官方网站:http://kafka.apache.org/quickstart
2. 下载完成后解压,修改config目录下的配置文件:server.properties 、zookeeper.properties
1)修改server.properties:
------------------------------------------------- Server Basics -------------------------------------------------
设置broker.id,确保每个broker的id是唯一的,可以默认master节点的为0,其他依次为1、2...
------------------------------------------------- Socket Server Settings -------------------------------------------------
设置listeners,listeners = PLAINTEXT://172.16.106.153:9092
------------------------------------------------- Log Basics -------------------------------------------------
设置num.partitions,分区数量与broker数量一致
------------------------------------------------- Zookeeper -------------------------------------------------
设置zookeeper集群地址,zookeeper.connect = xxx.xxx.xxx.xxx:2181,xxx.xxx.xxx.xxx2181 (最重要的)
2)修改zookeeper.properties:
设置连接参数,在最后添加配置
tickTime=2000
initLimit=8
syncLimit=3
设置broker.id的服务器地址,server.X和IP要与broker.id所在的服务器地址一致
server.0=xxx.xxx.xxx.xxx:2888:3888
server.1=xxx.xxx.xxx.xxx:2889:3889
3)添加zookeeper数据目录的ID文件,在zookeeper数据目录(默认dataDir=/tmp/zookeeper)添加myid文件,写入broker.id的值。到/tmp/zookeeper目录下执行:
第一台机器:echo 0 > myid
第二台机器:echo 1 > myid
3. 启动kafka
启动时,先启动zookeeper,再启动kafka;关闭反之,先关闭kafka,再关闭zookeeper
启动zookeeper: bin/zookeeper-server-start.sh config/zookeeper.properties &
启动kafka: bin/kafka-server-start.sh config/server.properties &
4. 测试kafka集群是否部署成功
1)第一台机器上创建一个TOPIC
bin/kafka-topics.sh --create --zookeeper xxx.xxx.xxx.xxx:2181 --replication-factor 1 --partitions 1 --topic test
2)查看TOPIC列表,确认是否创建成功
bin/kafka-topics.sh --list --zookeeper xxx.xxx.xxx.xxx:2181
3)创建生成者
bin/kafka-console-producer.sh --broker-list xxx.xxx.xxx.xxx:9092 --topic test
4)在所有服务器上创建消费者
bin/kafka-console-consumer.sh --bootstrap-server xxx.xxx.xxx.xxx:9092 --from-beginning --topic test
5)在第一台机器上输入消息,回车发送,CTRL+C终止,查看其他机器的消费者是否能接受到消息
###那些年踩过的坑.....
1. WARN: Connection to node 1 could not be established. Broker may not be available.
创建消费者时出的错,重启zookeeper和kafka
2. ERROR org.apache.kafka.common.errors.InvalidReplicationFactorException: replication factor: 1 larger than available brokers: 0
kafka未启动,先停止kafka和zookeeper,确保进程关闭,然后再重新启动。
bin/kafka-server-stop.sh
bin/zookeeper-server-stop.sh
bin/zookeeper-server-start.sh config/zookeeper.properties &
bin/kafka-server-start.sh config/server.properties &
3. WARN Error while fetching metadata with correlation id 0
启动生产者进程报错,没有绑定Kafka启动监听的host信息
vim config/server.properties
listeners=PLAINTEXT://localhost:9092 ,若此处配置的IP,则在执行命令时使用IP:bin/kafka-console-consumer.sh --bootstrap-server xxx.xxx.xxx.xxx:9092 --from-beginning --topic test
4. UnknowHostException:主机名:主机名
linux无法解析域名导致,可以将主机名对应的ip写入到hosts文件中保存,或者直接删除 /etc/Hostname 文件
vim /tec/hosts
IP 主机名 (如:172.10.1.1 name)
KAFKA集群搭建(自带zookeeper)的更多相关文章
- Zookeeper + Kafka 集群搭建
第一步:准备 1. 操作系统 CentOS-7-x86_64-Everything-1511 2. 安装包 kafka_2.12-0.10.2.0.tgz zookeeper-3.4.9.tar.gz ...
- zookeeper与Kafka集群搭建及python代码测试
Kafka初识 1.Kafka使用背景 在我们大量使用分布式数据库.分布式计算集群的时候,是否会遇到这样的一些问题: 我们想分析下用户行为(pageviews),以便我们设计出更好的广告位 我想对用户 ...
- zookeeper及kafka集群搭建
zookeeper及kafka集群搭建 1.有关zookeeper的介绍可参考:http://www.cnblogs.com/wuxl360/p/5817471.html 2.zookeeper安装 ...
- CentOS 7 Zookeeper 和 Kafka 集群搭建
环境 CentOS 7.4 Zookeeper-3.6.1 Kafka_2.13-2.4.1 Kafka-manager-2.0.0.2 本次安装的软件全部在 /home/javateam 目录下. ...
- zookeeper集群及kafka集群搭建
1.zookeeper集群搭建 1.1 上传安装包 官网推荐至少3个节点,我们这里也用三个节点192.169.2.18 192.169.1.82 192.169.1.95 准备好安装包,zooke ...
- Kafka【第一篇】Kafka集群搭建
Kafka初识 1.Kafka使用背景 在我们大量使用分布式数据库.分布式计算集群的时候,是否会遇到这样的一些问题: 我们想分析下用户行为(pageviews),以便我们设计出更好的广告位 我想对用户 ...
- 消息队列kafka集群搭建
linux系统kafka集群搭建(3个节点192.168.204.128.192.168.204.129.192.168.204.130) 本篇文章kafka集群采用外部zookeeper,没采 ...
- [Golang] kafka集群搭建和golang版生产者和消费者
一.kafka集群搭建 至于kafka是什么我都不多做介绍了,网上写的已经非常详尽了. 1. 下载zookeeper https://zookeeper.apache.org/releases.ht ...
- 【转】kafka集群搭建
转:http://www.cnblogs.com/luotianshuai/p/5206662.html Kafka初识 1.Kafka使用背景 在我们大量使用分布式数据库.分布式计算集群的时候,是否 ...
随机推荐
- sql server 建表,主键与外键约束
主键: 能唯一区分表中每一行 外键:为某表的一列,是另一个表的主键,外键定义了两表之间的联系 商品类别表 use eshopgocreate table category( name varchar( ...
- 从零开始入门 K8s | 应用编排与管理(酒祝)
一.需求来源 背景问题 首先来看一下背景问题.如下图所示:如果我们直接管理集群中所有的 Pod,应用 A.B.C 的 Pod,其实是散乱地分布在集群中. 现在有以下的问题: 首先,如何保证集群内可用 ...
- TensorFlow2.0(二):数学运算
1 基本运算:加(+).减(-).点乘(*).除(/).地板除法(//).取余(%) 基本运算中所有实例都以下面的张量a.b为例进行: >>> a = tf.random.unifo ...
- 使用JSP+Servlet+Jdbc+Echatrs实现对豆瓣电影Top250的展示
使用JSP+Servlet+Jdbc+Echatrs实现对豆瓣电影Top250的展示 写在前面: 有的小伙伴,会吐槽啦,你这个标题有点长的啊.哈哈 ,好像是的!不过,这个也是本次案例中使用到的关键技术 ...
- Dubbo源码解析(一)服务发现
一.Dubbo源码模块 官网地址 源码地址 1.1 源码模块组织 Dubbo工程是一个Maven多Module的项目,以包结构来组织各个模块. 核心模块及其关系,如图所示: 1.2 模块说明 dubb ...
- Redis数据库之数据基本管理操作
了解并掌握各种数据类型的命令操作方式,以及各种数据类型值的操作方式.同时,熟练记忆列表.哈希.集合和有序集合等数据类型的常用操作命令.能根据指令格式完成相应的指令操作. ①string数据类型的练习 ...
- 阿里云安装RocketMQ
说明: 我的阿里云是centos 6.9 jdk 1.8.0_192-b12(安装教程参照:https://www.cnblogs.com/kingsonfu/p/9801556.html) mave ...
- Android开发——Kotlin开发APP使用笔记
之前一直使用java来开发Android项目,学了新的kotlin语言,前来试一试,并说一下kotlin对Android的一些功能增强 创建项目 我使用的是Android Studio3.0+,所以默 ...
- Vue.js实战学习笔记(中)
1.递归组件给组件设置name属性,组件就可以在它的模板内调用自己,但必须给一个条件来限制递归数量.<div id="app"> <child-component ...
- 如何编译和调试Python内核源码?
目录 写在前面 获取源代码 源代码的组织 windows下编译CPython 调试CPython 小结 参考 博客:blog.shinelee.me | 博客园 | CSDN 写在前面 如果对Pyth ...