Kafka(二)单机环境搭建&Topic 管理

Kafka 环境搭建&Topic 管理

一. 环境准备

1.安装JDK1.8+ 配置好JAVA_HOME

2.配置主机名和IP映射

3.安装防火墙&防火墙开机自启动

4.安装zookeeper

5.安装 启动 关闭 Kafka

详细步骤

1.安装JDK 略

2.修改域名 修改host配置

###修改域名
[root@localhost ~]# cat /etc/sysconfig/network
HOSTNAME=CentOS
###修改映射  添加一行
[root@localhost ~]#  vi /etc/hosts
192.168.141.100 CentOS
### 测试连接
[root@localhost ~]# ping CentOS
PING CentOS (192.168.141.130) 56(84) bytes of data.
64 bytes from CentOS (192.168.141.130): icmp_seq=1 ttl=64 time=0.037 ms
64 bytes from CentOS (192.168.141.130): icmp_seq=2 ttl=64 time=0.044 ms

3.关闭防火墙

4.安装zookeeper

##解压
[root@localhost ~]# tar -xvf zookeeper-3.4.6.tar.gz
##修改配置文件
[root@localhost zookeeper-3.4.6]# cd conf
[root@localhost conf]# cp zoo_sample.cfg  zoo.cfg 
##修改配置文件 zookeeper的数据位置
[root@localhost conf]# vim zoo.cfg 
=======
# example sakes.
dataDir=/package/zkdata
=======
##创建位置
[root@localhost conf]# mkdir -p /package/zkdata
##开启zk   
[root@localhost zookeeper-3.4.6]# ./bin/zkServer.sh 
JMX enabled by default
Using config: /package/zookeeper-3.4.6/bin/../conf/zoo.cfg
##Usage  命令示范 ./bin/zkServer.sh  状态命令start|start-foreground|stop|restart|status|upgrade|print-cmd
##  使用配置文件  Using config 
Usage: ./bin/zkServer.sh {start|start-foreground|stop|restart|status|upgrade|print-cmd}
##开启zk2 
[root@localhost zookeeper-3.4.6]# ./bin/zkServer.sh start conf/zoo.cfg 
JMX enabled by default
Using config: conf/zoo.cfg
Starting zookeeper ... STARTED  ##开启成功
##查看状态
[root@localhost zookeeper-3.4.6]# ./bin/zkServer.sh status conf/zoo.cfg 
JMX enabled by default
Using config: conf/zoo.cfg
Mode: standalone  ##开启成功

5.安装 启动 关闭 Kafka

##解压
[root@localhost ~]# tar -xvf kafka_2.11-2.2.0.tgz
##简单配置参数
[root@localhost kafka]# cd config/
[root@localhost config]# ll -ah
总用量 72K
drwxr-xr-x. 2 root root 4.0K 310 2019 .
drwxr-xr-x. 6 root root   89 310 2019 ..
-rw-r--r--. 1 root root  906 310 2019 connect-console-sink.properties
-rw-r--r--. 1 root root  909 310 2019 connect-console-source.properties
-rw-r--r--. 1 root root 5.2K 310 2019 connect-distributed.properties
-rw-r--r--. 1 root root  883 310 2019 connect-file-sink.properties
-rw-r--r--. 1 root root  881 310 2019 connect-file-source.properties
-rw-r--r--. 1 root root 1.1K 310 2019 connect-log4j.properties
-rw-r--r--. 1 root root 2.3K 310 2019 connect-standalone.properties
-rw-r--r--. 1 root root 1.2K 310 2019 consumer.properties
-rw-r--r--. 1 root root 4.7K 310 2019 log4j.properties
-rw-r--r--. 1 root root 1.9K 310 2019 producer.properties
-rw-r--r--. 1 root root 6.7K 310 2019 server.properties   ##配置
-rw-r--r--. 1 root root 1.1K 310 2019 tools-log4j.properties
-rw-r--r--. 1 root root 1.2K 310 2019 trogdor.conf
-rw-r--r--. 1 root root 1023 310 2019 zookeeper.properties
[root@localhost config]# vi server.properties 
##修改监听的主机域名(不能用IP)
#   EXAMPLE:
#     listeners = PLAINTEXT://your.host.name:9092
listeners=PLAINTEXT://CentOs:9092

############################# Log Basics   日志文件#############################
# A comma separated list of directories under which to store log files
log.dirs=/package/kfkdata
############################# Zookeeper  Zookeeper 的域名 #############################
# Zookeeper connection string (see zookeeper docs for details).
# This is a comma separated host:port pairs, each corresponding to a zk
# server. e.g. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002".
# You can also append an optional chroot string to the urls to specify the
# root directory for all kafka znodes.
zookeeper.connect=CentOS:2181

###开启kafka   后台运行
[root@localhost kafka]# ./bin/kafka-server-start.sh  -daemon config/server.properties 
[root@localhost kafka]# jps
2833 Jps
2100 QuorumPeerMain
2763 Kafka
###关闭kafka   
[root@localhost kafka]# ./bin/kafka-server-stop.sh

##查看帮助
[root@localhost bin]# ./kafka-topics.sh --help
##创建topic01  replication-factor 1 副本因子只能是1 因为是单机环境
[root@localhost bin]# ./kafka-topics.sh --bootstrap-server CentOS:9092 --create --topic topic01 --partitions 3 --replication-factor 1


到此kafka 的服务已经开启

二.验证单机环境:

上面创建的时候已经是创建了一个topico1 并且使用了3个分区 下面来验证单机环境的服务情况

1.一个消费组 多个消费者

###创建一个生产者
[root@localhost bin]# ./kafka-console-producer.sh   --broker-list CentOS:9092  --topic topic01
>
等待输入

### 另一个窗口开始以消费组  成员开始消费
[root@localhost bin]# ./kafka-console-consumer.sh --bootstrap-server CentOS:9092 --topic topic01 --group group1
~窗口处于阻塞 等待状态

### 再起另一个窗口开始以消费组  成员开始消费
[root@localhost bin]# ./kafka-console-consumer.sh --bootstrap-server CentOS:9092 --topic topic01 --group group1
~窗口处于阻塞 等待状态

### 再起另一个窗口开始以消费组  成员开始消费
[root@localhost bin]# ./kafka-console-consumer.sh --bootstrap-server CentOS:9092 --topic topic01 --group group1
~窗口处于阻塞 等待状态

开启一个生产者 三个消费者

2.负载均衡

轮训消费

在这里插入图片描述

关闭两个

在这里插入图片描述

数据都发到了一个消费者

3.多消费组

添加一个消费组 group2

在这里插入图片描述

数据以广播的形式传输到两个消费者

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值