Kafka+Zookeeper集群搭建及注意事项

1 篇文章 0 订阅

Kafka集群的搭建

说明:只配置主要的配置,其他都是默认

  • 基于最新版本kafka:kafka_2.12-2.3.0.tgz
  • Zookeeper版本: zookeeper-3.4.10.tar.gz
  • JDK(1.8+): jdk-8u152-linux-x64.tar.gz
IPHostName
192.168.174.140Kafka-01
192.168.174.141Kafka-02
192.168.174.142Kafka-03

网上有一些博客,就是把Zookeeper和Kafka的默认配置也写出来,然后端口也写错等等,导致大家参考的时候,不小心直接拷贝这些配置到配置文件中候,同一个参数配置了两次,产生一些莫名的错误,我不信只有我一个人中枪,所以虽然网上这类博客很多,但是我还是打算写一篇

先创建两个日志文件夹:

Zookeeper的zoo.cfg基本就是这三行,主机名在/etc/hostname 文件中配置,完事要重启

server.1=Kafka-01:2888:3888

server.2=Kafka-02:2888:3888

server.3=Kafka-03:2888:3888

采用上面的方式,那么Zookeeper的配置文件是一模一样的

或者,两者任选一种

第一台机

server.1=0.0.0.0:2888:3888

server.2=Kafka-02:2888:3888

server.3=Kafka-03:2888:3888

第二台机

server.1=Kafka-01:2888:3888

server.2=0.0.0.0:2888:3888

server.3=Kafka-03:2888:3888

第三台机

server.1=Kafka-01:2888:3888

server.2=Kafka-02:2888:3888

server.3=0.0.0.0:2888:3888

然后有个myid文件三台机器,根据配置dataDir=/tmp/zookeeper

放在这个目录即可,里面的值分别1/2/3

然后是Kafka的配置,server.properties配置文件,主要配置如下:

第一台机器:

broker.id=0

listeners=PLAINTEXT://Kafka-01:9092
port=9092

advertised.listeners=PLAINTEXT://Kafka-01:9092

zookeeper.connect=Kafka-01:2181,Kafka-02:2181,Kafka-03:2181

第二台机器

broker.id=1

listeners=PLAINTEXT://Kafka-02:9092
port=9092

advertised.listeners=PLAINTEXT://Kafka-02:9092

zookeeper.connect=Kafka-01:2181,Kafka-02:2181,Kafka-03:2181

第三台机器

broker.id=2

listeners=PLAINTEXT://Kafka-03:9092
port=9092

advertised.listeners=PLAINTEXT://Kafka-03:9092

zookeeper.connect=Kafka-01:2181,Kafka-02:2181,Kafka-03:2181

先启动Zookeeper集群,三台分别启动:

./zkServer.sh start

然后启动Kafka集群,三台分别启动:

./kafka-server-start.sh

然后测试Kafka生产消费的,网上博客坑的是,端口写错,消费的时候应该是是用9092端口,却写的是Zookeeper的2181, 消息收不到,也不报错,这种情况,如果不好使,就去官网看例子

  • 创建一个名为test的topic:以前的–zookeeper参数在比较新的版本中已经替换为了–bootstrap-server

bin/kafka-topics.sh --create --bootstrap-server Kafka-01:9092,Kafka-02:9092,Kafka-03:9092 --replication-factor 1 --partitions 1 --topic test

  • 创建消费者

    bin/kafka-console-producer.sh --broker-list Kafka-01:9092,Kafka-02:9092,Kafka-03:9092 --topic test

  • 创建消费者就是这里最坑,网上博客基本都写的2181端口

    bin/kafka-console-consumer.sh --bootstrap-server Kafka-01:9092,Kafka-02:9092,Kafka-03:9092 --topic test --from-beginning

    注:如果在Linux上使用的是主机名,在Windows上使用Java代码的时候需要配置Windows 的hosts文件,否则Kafka工程启动会报错

按照上面的步骤基本没有问题,如果有问题请留言,相互学习,进步

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值