前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Kafka集群搭建

Kafka集群搭建

作者头像
CoderJed
发布2018-09-13 10:36:28
1.4K0
发布2018-09-13 10:36:28
举报
文章被收录于专栏:Jed的技术阶梯Jed的技术阶梯

环境准备


1. kafka安装包上传到服务器并解压

代码语言:javascript
复制
[hadoop@hadoop01 ~]tar -zxvf /opt/soft/kafka_2.11-0.10.2.1.tgz -C /opt/apps/

2. 进入kafka的config目录下,修改server.properties文件

代码语言:javascript
复制
[hadoop@hadoop01 ~]$ cd /opt/apps/kafka_2.11-0.10.2.1/config/
[hadoop@hadoop01 config]$ vim server.properties

broker.id=1
host.name=192.168.42.101
log.dirs=/opt/data/kafka
zookeeper.connect=hadoop01:2181,hadoop02:2181,hadoop03:2181

说明:

  • 只修改列出的4个配置即可,其余保持默认
  • host.name这个配置在原来的文件中没有,需要自己添加,而且建议写成IP地址而不是主机名,这个配置在Kafka单节点或者伪分布式集群中不需要配置
  • broker.id在每个节点上是唯一的,我设置的hadoop01的broker.id=1,hadoop02的broker.id=2,hadoop03的broker.id=3
  • log.dirs指定的kafka中的数据的存放位置,默认的tmp目录会定期清空,所以需要修改,而且指定的目录需要在启动kafka集群之前创建好
  • zookeeper.connect如果不指定,将使用kafka自带的zookeeper

3. 分发安装包

代码语言:javascript
复制
[hadoop@hadoop01 apps]$ scp -r kafka_2.11-0.10.2.1 hadoop03:`pwd`

4. 分别修改hadoop02和hadoop03的broker.id和host.name

5. 在每个节点下创建log.dirs指定的目录

6. 启动zookeeper服务

代码语言:javascript
复制
[hadoop@hadoop01 ~]$ zkServer.sh start
[hadoop@hadoop02 ~]$ zkServer.sh start
[hadoop@hadoop03 ~]$ zkServer.sh start

7. 在3个节点上都启动kafka

代码语言:javascript
复制
[hadoop@hadoop01 kafka_2.11-0.10.2.1]$ bin/kafka-server-start.sh -daemon config/server.properties
[hadoop@hadoop02 kafka_2.11-0.10.2.1]$ bin/kafka-server-start.sh -daemon config/server.properties
[hadoop@hadoop03 kafka_2.11-0.10.2.1]$ bin/kafka-server-start.sh -daemon config/server.properties

# -daemon选项的意思是后台启动服务

8. 验证kafka服务是否启动

9. 测试kafka集群

(1) 在任意节点上创建"test01"这个topic

代码语言:javascript
复制
[hadoop@hadoop01 kafka_2.11-0.10.2.1]$ bin/kafka-topics.sh \
--create \
--zookeeper hadoop01:2181,hadoop02:2181,hadoop03:2181 \
--replication-factor 1 \
--partitions 1 \
--topic test01

(2) 在hadoop01上开启kafka-console-producer,往test01这个topic中写数据

代码语言:javascript
复制
[hadoop@hadoop01 kafka_2.11-0.10.2.1]$ bin/kafka-console-producer.sh 
--broker-list hadoop01:9092,hadoop02:9092,hadoop03:9092 \
--topic test01

(3) 在另一台节点上开启kafka-console-consumer把hadoop01节点接受到的数据打印出来

代码语言:javascript
复制
[hadoop@hadoop02 kafka_2.11-0.10.2.1]$ bin/kafka-console-consumer.sh \
--zookeeper hadoop01:2181,hadoop02:2181,hadoop03:2181 \
--topic test01 \
--from-beginning

Kafka集群搭建成功!

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.04.09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. kafka安装包上传到服务器并解压
  • 2. 进入kafka的config目录下,修改server.properties文件
  • 3. 分发安装包
  • 4. 分别修改hadoop02和hadoop03的broker.id和host.name
  • 5. 在每个节点下创建log.dirs指定的目录
  • 6. 启动zookeeper服务
  • 7. 在3个节点上都启动kafka
  • 8. 验证kafka服务是否启动
  • 9. 测试kafka集群
    • (1) 在任意节点上创建"test01"这个topic
      • (2) 在hadoop01上开启kafka-console-producer,往test01这个topic中写数据
        • (3) 在另一台节点上开启kafka-console-consumer把hadoop01节点接受到的数据打印出来
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档