Kafka学习 之 第一个例子(一)

目录
1. kefka简介
2. 安装kafka
3. 部署kafka集群
4. 创建Topic并使用生产者消费者生产消费消息


1. Kafka 简介

Kafka 是一个高吞吐量的分布式发布订阅消息系统,解耦了消息生产者和消息消费者。与大数据框架 Spark 配合使用,可以实现数据的实时流处理,目前做大数据相关的项目,都会用到 Kafka 消息系统。

理解 Kafka 的整体架构,可以用现实生活中我们经常做的一件事——收发邮件来做类比。公司中同事之间的邮件交流经常发生,比如小王给小李发邮件,邮件会先被发送到邮件服务器(如新浪邮件服务器),小李可以立即收取邮件,也可以到第二天才收取邮件。

2. 安装 Kafka

安装环境:

  • Ubuntu Linux 操作系统
  • xfce 终端

打开 xfce 终端,依次执行如下命令:

#切换到 opt 目录
cd /opt 

#下载 Kafka 软件包到当前目录中
sudo wget http://labfile.oss.aliyuncs.com/courses/859/kafka_2.10-0.10.2.1.tgz  

这里写图片描述

接着解压并重命名安装包:

#解压 Kafka 软件包
sudo tar –zxvf  kafka_2.10-0.10.2.1.tgz 

#重命名 Kafka 软件包文件夹名称为 kafka
sudo mv kafka_2.10-0.10.2.1  kafka  

3. 部署Kafka集群

接着将kafka的配置文件复制三份,模拟kafka集群

#进入到kafka软件包的 config 目录
cd  /opt/kafka/config

#列出当前 config 文件下的文件,可以看到有个 server.properties 文件
ll 

#复制 server.properties 文件为 server-1.properties
sudo cp  server.properties server-1.properties sudo cp  

#复制 server.properties 文件为 server-2.properties
server.properties server-2.properties

在修改这三个配置文件之前,我们需要先启动 zookeeper ,因为 Kafka 集群使用 Zookeeper 软件进行元数据信息的同步。在生产环境中,安装 Kafka 之前,需要先安装 Zookeeper。基于实验的目的,本次实验我们不再单独安装 Zookeeper 软件,而是使用 Kafka 自带的 Zookeeper 软件,从功能上讲,没有区别。

启动 Zookeeper:

#将kafka目录的执行权限授予当前用户
sudo chmod 777 -R /opt/kafka

#切换到启动 Zookeeper 命令所在的目录
cd /opt/kafka/bin

#使用上级目录中的 config 目录中的 zookeeper.perperties 配置文件,运行当前目录下的 zookeeper-server-start.sh 命令,启动 Kafka 软件包自带的 Zookeeper
./zookeeper-server-start.sh  ../config/zookeeper.properties 

在新的命令行终端运行命令:

#查看当前运行的 java 进程,如果看到名称为 QuorumPeerMain 的进程,说明 Zookeeper 启动成功

jps

这里写图片描述

下面在新的命令行终端中编辑 Kafka 的三个配置文件(server.properties、 server-1.properties、server-2.properties),修改文件名和修改内容说明如下:

这里写图片描述

依次运行如下命令:

#切换到配置文件所在目录
cd  /opt/kafka/config 

#编辑 server-1.properties,编辑界面如下图所示。按上面的说明,修改相应参数,保存文件。
vi server-1.properties

# 同理,按上述表格中描述,编辑 server-2.properties 文件
vi server-2.properties

至此,参数修改完成。下一步,启动 Kafka 集群。上面我们看到的三个 Kafka配置文件(server.properties、 server-1.properties、 server-2.properties),每个配置文件对应 Kafka 集群中一个节点(称为 Broker)。

依次运行如下命令,启动 Kafka 集群:

#切换到启动kafka命令所在目录
cd /opt/kafka/bin

#使用配置文件 server.properties 启动第一个 Kafka Broker,注意:命令最后的 & 符号表示以后台进程启动,启动完成后,按回车键,回到命令行,启动另一个 Kafka Broker。
./kafka-server-start.sh  ../config/server.properties & 

#使用配置文件 server-1.properties 启动第二个 Kafka Broker 。启动完成后,按回车键,回到命令行,启动另一个 Kafka Broker 。
./kafka-server-start.sh  ../config/server-1.properties & 

#使用配置文件 server-2.properties 启动第三个 Kafka Broker。启动完成后,按回车键,回到命令行。
./kafka-server-start.sh  ../config/server-2.properties &

#查看当前运行的java进程。如下图,出现三个 kafka 进程,说明三个 Broker 的 Kafka 集群启动成功。
jps

这里写图片描述

4. 创建Topic并使用生产者消费者生产消费消息

  1. 在 /opt/kafka/bin 目录下运行命令创建一个名为 myFirstTopic 的 Topic,命令中的参数含义我们下一节中具体介绍
 ./kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic myFirstTopic
  1. 在 /opt/kafka/bin 目录下运行命令,查看 Topic 创建是否成功:
./kafka-topics.sh --zookeeper localhost:2181 -list

这里写图片描述

  1. 在 /opt/kafka/bin 目录下运行命令,启动消息生产者,用于向 Topic 发送消息:
./kafka-console-producer.sh --broker-list localhost:9092 --topic myFirstTopic
  1. 重新打开一个新的命令行终端,在 /opt/kafka/bin 目录下运行命令,启动消息消费者,用于从 Topic 中读取消息
./kafka-console-consumer.sh -–bootstrap-server  localhost:9092 --topic myFirstTopic
  1. 在消息生产者所在命令行终端中输入 hello kafka ,然后按回车键,消息发送到 Topic 。此时在消息消费者所在的命令行中,可以看到 hello kafka 消息已经收到了。

这里写图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值