二、Kafka环境搭建 & Topic管理

Kafka单机安装

  • 安装JDK1.8+,配置JAVA_HOME (CentOS 6.10 64bit)
  • 配置主机名和IP映射
  • 关闭防火墙&防火墙开机自启动
  • 安装&启动Zookeeper
  • 安装&启动|关闭Kafka

1.下载zookeeper安装资源:
https://zookeeper.apache.org/releases.html
在这里插入图片描述

2.下载kafaka安装资源:
http://kafka.apache.org/downloads
在这里插入图片描述

3.上传资源到虚拟机:
在这里插入图片描述

4.安装jdk:rpm -ivh jdk-8u191-linux-x64.rpm
在这里插入图片描述

5.查看系统中安装的jdk:rpm -qa|grep jdk
在这里插入图片描述

6.配置java环境变量:
在这里插入图片描述

在这里插入图片描述

7.设置主机名,并重启:vi /etc/hostname
在这里插入图片描述

8.配置主机名和IP映射:vi /etc/hosts
在这里插入图片描述

在这里插入图片描述

9.测试是否设置成功:ping CentOS
在这里插入图片描述

10.禁用防火墙:
systemctl stop firewalld.service
systemctl disable firewalld.service
systemctl status firewalld.service
在这里插入图片描述

11.解压zookeeper安装包:tar -zxf zookeeper-3.4.6.tar.gz
在这里插入图片描述

12.设置zookeeper的配置文件,修改启动数据目录:
在这里插入图片描述

在这里插入图片描述

13.启动zookeeper并查看状态:
./bin/zkServer.sh start zoo.cfg
./bin/zkServer.sh status zoo.cfg
在这里插入图片描述

在这里插入图片描述

14.解压kafka安装包:tar -zxf kafka_2.11-2.2.0.tgz
在这里插入图片描述

15.配置kafka的server.properties文件:
#主机数
broker.id=0
#监听主机端口:
listeners = PLAINTEXT://CentOS:9092
#分区数
num.partitions=1
#日志保存时间
log.retention.hours=168
#连接zookeeper主机地址:
zookeeper.connect=CentOS:2181
在这里插入图片描述

16.启动kafka:./bin/kafka-server-start.sh -daemon config/server.properties

  • -daemon 后台运行

在这里插入图片描述

17.关闭kafka:
./bin/kafka-server-stop.sh
在这里插入图片描述

18.创建一个topic:
./bin/kafka-topics.sh --bootstrap-server CentOS:9092 --create --topic topic01 --partitions 3 --replication-factor 1

  • –bootstrap-server CentOS:9092:连接zookeeper
  • –create:创建
  • –topic topic01:topic名为topic01
  • –partitions 3:指定分区
  • –replication-factor 1:指定副本因子为1(不能大于broker数)

19.创建消费者:
./bin/kafka-console-consumer.sh --bootstrap-server CentOS:9092 --topic topic01 --group group1

  • –topic topic01:指定消费的topic
  • –group group1:指定消费组

20.创建生产者:
./bin/kafka-console-producer.sh --broker-list CentOS:9092 --topic topic01
在这里插入图片描述

21.创建三个消费者为同一个组,轮询消费三个分区的消息:
在这里插入图片描述

Kafka集群搭建

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

1.克隆虚拟机,配置网卡:

  • vi /etc/hostname:修改主机名
    在这里插入图片描述

  • vi /etc/resolv.conf:nat 转发模式的DNS和网关一致
    在这里插入图片描述

  • vi /etc/sysconfig/network
    在这里插入图片描述

  • ifconfig ens33:查看真实mac
    在这里插入图片描述

  • vi /etc/sysconfig/network-scripts/ifcfg-ens33:修改mac为真实mac
    在这里插入图片描述

-vi /etc/sysconfig/network-scripts/ifcfg-lo:
在这里插入图片描述

  • systemctl restart network.service
  • systemctl status network.service
    在这里插入图片描述

由于集群的虚拟机是从单机克隆的,环境安装的操作请参考单机搭建。

2.配置主机名和ip的关系:vi /etc/hosts
在这里插入图片描述

在这里插入图片描述

3.将主机与ip配置文件hosts复制到B、C主机:scp /etc/hosts CentOSC:/etc/
在这里插入图片描述

4.配置时钟一致:

  • yum install ntp -y:安装时钟服务
    在这里插入图片描述

  • ntpdate ntp1.aliyun.com:设置阿里云时钟同步服务器
    在这里插入图片描述

  • clock -w:同步时钟
    在这里插入图片描述

5.修改zookeeper配置配置:vi conf/zoo.cfg
在这里插入图片描述

需要创建zookeeper数据存储目录,因为单机克隆,所以这里不创建。

6.同步配置到B、C服务器:
scp /usr/kafka/zookeeper-3.4.6/conf/zoo.cfg CentOSC:/usr/kafka/zookeeper-3.4.6/conf/

在这里插入图片描述

7.设置zookeeper服务的id,与zoo.cfg中对应:
echo 2 > /root/zkdata/myid
在这里插入图片描述

8.启动zookeeper服务:/usr/kafka/zookeeper-3.4.6/bin/zkServer.sh start zoo.cfg
在这里插入图片描述

9.修改kafka的配置文件:vi server.properties
broker.id=1:不同服务器之间唯一
listeners = PLAINTEXT://CentOSA:9092:服务器自己的主机名
log.dirs=/usr/kafka-logs
zookeeper.connect=CentOSA:2181,CentOSB:2181,CentOSC:2181

10.启动kafka:./bin/kafka-server-start.sh -daemon config/server.properties
在这里插入图片描述

11.创建一个topic:
./bin/kafka-topics.sh --bootstrap-server CentOSA:9092,CentOSB:9092,CentOSC:9092 --create --topic topic02 --partitions 3 --replication-factor 2
名称:topic02 ,分区数:3,副本因子:2

12.查看日志目录:ls /usr/kafka-logs/
在这里插入图片描述

13.查看topic02的详细信息:
./bin/kafka-topics.sh --bootstrap-server CentOSA:9092,CentOSB:9092,CentOSC:9092 --describe --topic topic02
在这里插入图片描述

14.修改kafka分区数:
./bin/kafka-topics.sh --bootstrap-server CentOSA:9092,CentOSB:9092,CentOSC:9092 --alter --topic topic02 --partitions 4

在这里插入图片描述

修改分区数只能从低到高,不能从高到底。

15.删除topic:
./bin/kafka-topics.sh --bootstrap-server CentOSA:9092,CentOSB:9092,CentOSC:9092 --delete --topic topic02

在这里插入图片描述

16.查看topic列表:
./bin/kafka-topics.sh --bootstrap-server CentOSA:9092,CentOSB:9092,CentOSC:9092 --list
在这里插入图片描述

17.创建生产者:
./bin/kafka-console-producer.sh --broker-list CentOSA:9092,CentOSB:9092,CentOSC:9092 --topic topic01
在这里插入图片描述

18.创建消费者:
./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=,

  • –property print.key=true :打印key值,默认不打印
  • –property print.value=true :设置打印value值
  • –property key.separator=, :设置key和value之间的分割符

在这里插入图片描述

19.查看消费者组信息:
./bin/kafka-consumer-groups.sh --bootstrap-server CentOSA:9092,CentOSB:9092,CentOSC:9092 --list
在这里插入图片描述

20.查看组信息:
./bin/kafka-consumer-groups.sh --bootstrap-server CentOSA:9092,CentOSB:9092,CentOSC:9092 --describe --group g1
在这里插入图片描述


版权声明:本文为d749800796原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。