第二章 Kafka-环境搭建(单机、集群、topic管理)

目录

基础环境要求

单机:

集群:

Topic管理:

Zookeeper单机安装

Kafka单机配置

Kafka集群配置

Topic管理


基础环境要求

单机:

  • JDK1.8+,配置JAVA_HOME
  • 操作系统Centos 6.10 64bit
  • 配置主机名和IP映射
  • 关闭防火墙&防火墙开机自动启动
  • 安装&启动Zookeeper
  • 安装&启动/关闭Kafka

集群:

  • 安装JDK,配置JAVA_HOME
  • 操作系统Centos 6.10 64bit
  • 配置主机名和IP映射
  • 关闭防火墙&防火墙开机自动启动
  • 同步时钟ntpdate cn.pool.ntp.org | ntp[1-7].aliyun.com
  • 安装&启动Zookeeper
  • 安装&启动/关闭Kafka

Topic管理:

  • 创建:

    ./bin/kafka-topics.sh

    --bootstrap-server CentOSA:9092,CentOSB:9092,CentOSC:9092

    --create

    --topic topic02

    --partitions 3

    --replication-factor 3

  • 查看:

    ./bin/kafka-topics.sh

    --bootstrap-server CentOSA:9092,CentOSB:9092,CentOSC:9092

    --list

  • 详情:

    ./bin/kafka-topics.sh

    --bootstrap-server CentOSA:9092,CentOSB:9092,CentOS:9092

    --describe

    --topic topic01

  • 修改:

    ./bin/kafka-topics.sh

    --bootstrap-server CentOSA:9092,CentOSB:9092,CentOS:9092

    --alter

    --topic topic03

    --partitions 2

  • 删除:

    ./bin/kafka-topics.sh

    --bootstrap-server CentOSA:9092,CentOSB:9092,CentOS:9092

    --delete

    --topic topic03

  • 订阅:

    ./bin/kafka-console-consumer.sh

    --bootstrap-server CentOSA:9092,CentOSB:9092,CentOS:9092

    --topic topic01

    --group g1

    --property print.key=true

    --property print.value=true

    --property key.separator=,

  • 生产:

    ./bin/kafka-console-producer.sh

    --broker-list CentOSA:9092,CentOSB:9092,CentOS:9092

    --topic topic01

  • 消费组:

    ./bin/kafka-consumer-groups.sh

    -- bootstrap-server CentOSA:9092,CentOSB:9092,CentOS:9092

    --list

    g1

    ./bin/kafka-consumer-groups.sh

    --bootstrap-server CentOSA:9092,CentOSB:9092,CentOS:9092

    --describi

    -- group g1

关闭防火墙:[root@CentOS /]# service iptables stop

开机永久关闭:[root@CentOS /]# chkconfig iptables off

Zookeeper单机安装

  1. 减压安装包
  2. 复制zoo_sample.cfg为zoo.cfg:[root@CentOS zookeeper-3.4.6]# cp conf/zoo_sample.cfg conf/zoo.cfg
  3. 修改zoo.cfg:

    创建/root/zkdata目录:[root@CentOS zookeeper-3.4.6]# mkdir /root/zkdata                          

  4. 启动zookeeper:[root@CentOS zookeeper-3.4.6]# ./bin/zkServer.sh start ./conf/zoo.cfg  

  5.  查看状态:[root@CentOS zookeeper-3.4.6]# ./bin/zkServer.sh status ./conf/zoo.cfg

    JMX enabled by default
    Using config: ./conf/zoo.cfg
    Mode: standalone

    可以用jps命令查看

  6. [root@CentOS zookeeper-3.4.6]# jps
    3156 QuorumPeerMain
    3173 Jps

Kafka单机配置

1. 修改server.properties

2. kafka的启动(后台启动)

[root@CentOS kafka_2.11-2.2.0]# ./bin/kafka-server-start.sh -daemon config/server.properties

3. kafka的关闭 

[root@CentOS kafka_2.11-2.2.0]# ./bin/kafka-server-stop.sh

 4. 创建Topic

 [root@CentOS kafka_2.11-2.2.0]# ./bin/kafka-topics.sh --bootstrap-server CentOS:9092 --create --topic topic01 --partitions 3 --replication-factor 1

 5. 订阅Topic,等待消息

 [root@CentOS kafka_2.11-2.2.0]# ./bin/kafka-console-consumer.sh --bootstrap-server CentOS:9092 --topic topic01 --group group1

 6. 向Topic发布消息

 [root@CentOS kafka_2.11-2.2.0]# ./bin/kafka-console-producer.sh --broker-list CentOS:9092 --topic topic01

 7. 效果展示

 订阅者:

        

  发布者:

         

Kafka集群配置(集群的启动方式和单机一样)

1. 安装JDK(同单机)

2. 配置hosts文件 -ssh免密认证

3 . 关闭防火墙

4. 服务器时钟同步

        [root@centosa ~]# ntpdate ntp1.aliyun.com

        [root@centosa ~]# clock -w

5. zookeeper配置    

6. 配置zkdata对应关系(CentOSA、CentOSB、CentOSC对应你自己的三台虚拟机)

CentOSA:[root@centosa ~]# echo 1 > /root/zkdata/myid

CentOSB:[root@centosa ~]# echo 2 > /root/zkdata/myid

CentOSC:[root@centosa ~]# echo 3 > /root/zkdata/myid

7. 配置Kafka

server.properties

 

Topic管理

1、创建topic

[root@centosa kafka_2.11-2.2.0]# ./bin/kafka-topics.sh --bootstrap-server CentOSA:9092,CentOSB:9092,CentOSC:9092 --create --topic topic01 --partitions 3 --replication-factor 2

2、查询topic列表

[root@centosa kafka_2.11-2.2.0]# ./bin/kafka-topics.sh --bootstrap-server CentOSA:9092,CentOSB:9092,CentOSC:9092 --list

4、查看topic详情

[root@centosa kafka_2.11-2.2.0]# ./bin/kafka-topics.sh --bootstrap-server CentOSA:9092,CentOSB:9092,CentOSC:9092 --describe --topic topic01

5、修改分区-只能增不能减

[root@centosa kafka_2.11-2.2.0]# ./bin/kafka-topics.sh --bootstrap-server CentOSA:9092,CentOSB:9092,CentOSC:9092 --alter --topic topic02 --partitions 3

6、删除topic

[root@centosa kafka_2.11-2.2.0]# ./bin/kafka-topics.sh --bootstrap-server CentOSA:9092,CentOSB:9092,CentOSC:9092 --delete --topic topic02

7、订阅topic(启动一个消费者)

[root@centosa kafka_2.11-2.2.0]# ./bin/kafka-console-consumer.sh --bootstrap-server CentOSA:9092,CentOSB:9092,CentOSC:9092 --topic topic01 --group g1 --property print.key=true --property print.value=true --property key.separator=,

8、发布者

[root@centosb kafka_2.11-2.2.0]# ./bin/kafka-console-producer.sh --broker-list CentOSA:9092,CentOSB:9092,CentOSC:9092 --topic topic01

9、消费组

查看:[root@centosc kafka_2.11-2.2.0]# ./bin/kafka-consumer-groups.sh --bootstrap-server CentOSA:9092,CentOSB:9092,CentOSC:9092 --list

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风过水无痕·

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值