IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 大数据分析学习第十四课 kafka 2.4.1单机版部署及使用 -> 正文阅读

[大数据]大数据分析学习第十四课 kafka 2.4.1单机版部署及使用

最近在学习Flink,不可避免的需要用到kafka消息中间件,下面介绍下单机部署流程

1.下载2.4.1版本

我的Flink版本是1.12,对应的kafka版本要使用2.4.1的 我们下载?kafka_2.11-2.4.1这个版本,2.11是scala版本

http://kafka.apache.org/downloads

2.上传解压tar包


tar -zxvf kafka_2.11-2.4.1.tgz -C .

3.配置环境变量


vi .bash_profile

JAVA_HOME=/root/software/jdk1.8.0_181
HADOOP_HOME=/root/software/hadoop-3.2.0
HIVE_HOME=/root/software/apache-hive-3.1.2-bin
SCALA_HOME=/root/software/scala-2.13.6
SPARK_HOME=/root/software/spark-3.1.2
export KAFKA_HOME=/root/software/kafka_2.11-2.4.1
export KE_HOME=/root/software/kafka-eagle-bin-2.0.6
PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin:$SCALA_HOME/bin:$SPARK_HOME/bin:$KE_HOME/bin:$KAFKA_HOME/bin
export JAVA_HOME
export HADOOP_HOME
export HIVE_HOME
export SCALA_HOME
export SPARK_HOME
export KAFKA_HOME
export KE_HOME
export PATH

export HDFS_DATANODE_USER=root
export HDFS_DATANODE_SECURE_USER=root
export HDFS_NAMENODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root

export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

生效配置?

source .bash_profile?

4.修改配置文件


vim $KAFKA_HOME/config/server.properties

主要配置3个选项,监听地址,日志地址和zk地址,其它可以保持默认配置

listeners=PLAINTEXT://master104:9092
log.dirs=/root/software/kafka_2.11-2.4.1/kafka-logs
zookeeper.connect=master104:2181

?zookeeper配置,我们新建一个配置文件zoo.cfg,自带的zookeeper.properties有问题

tickTime=2000
dataDir=/root/software/kafka_2.11-2.4.1/zookeeper/data
dataLogDir=/root/software/kafka_2.11-2.4.1/zookeeper/log
clientPort=2181

上面的2个路径需要提前建好并赋给写入权限

5.启动验证


1.启动自带的zookeeper:

我们在kafka目录下执行
bin/zookeeper-server-start.sh? config/zoo.cfg

打印如下内容

?如果后台运行那么执行

bin/zookeeper-server-start.sh -daemon config/zoo.cfg

这里的-daemon为可选参数,加上是后台启动,不加就是前台启动会打印信息到控制台。

检查启动,我们就检查下端口2181

?端口在监听证明启动成功

2.启动kafka:


bin/kafka-server-start.sh config/server.properties

如下图则启动成功

?我们查看9092和2181端口,可以看到已经监听和建立链接了

??如果后台运行那么执行

bin/kafka-server-start.sh -daemon config/server.properties

这里的-daemon为可选参数,加上是后台启动,不加就是前台启动会打印信息到控制台。

接下里我们可以建2个sh文件,方便一次执行就可以启动zookeeper和kafka

vi kafkastart.allsh

#!/bin/sh

#启动zookeeper

bin/zookeeper-server-start.sh -daemon config/zoo.cfg &

sleep 5 #等5秒后执行

#启动kafka
bin/kafka-server-start.sh -daemon config/server.properties &

?停止服务 vi kafkastopall.sh

#!/bin/sh

#关闭zookeeper
./bin/zookeeper-server-stop.sh config/zoo.cfg &
sleep 5 #等5秒后执行

#关闭kafka
./bin/kafka-server-stop.sh config/server.properties &

?创建好文件后记得赋予执行权限

chmod a+x kafkastartall.sh

chmod a+x kafkastopall.sh

3.验证启动:


创建topic:

./kafka-topics.sh --create --zookeeper master104:2181 --replication-factor 1 --partitions 3 --topic sstest

这里的--replication-factors是根据有几个broker节点才可以设置最多有几个备份,因为我是单机的,所以指定的是1。

列所有topic:

./bin/kafka-topics.sh --list --zookeeper master104:2181

启动producer:

./bin/kafka-console-producer.sh --broker-list master104:9092 --topic sstest

启动consumer:

我们新开一个终端执行

./bin/kafka-console-consumer.sh --bootstrap-server master104:9092 --zookeeper master104:2181 --topic sstest

我们会发现上面的命令报错

zookeeper is not a recognized option

大家莫慌,这个不是配置问题,是因为我们的版本比较新,上面的启动命令不支持新版本了

我们改用下面的命令

./bin/kafka-console-consumer.sh --bootstrap-server master104:9092 --topic sstest --from-beginning

出现下面界面则连接成功

?我们在生产终端输入几条数据

然后把终端切换到消费端

?可以看到数据已经被消费了

查看topic信息:

我们可以再开一个终端

./bin/kafka-topics.sh --describe --zookeeper master104:2181 --topic sstest

查看消费情况:

./bin/kafka-consumer-groups.sh --describe --all-groups --all-topics --bootstrap-server master104:9092

./bin/kafka-consumer-groups.sh --describe --all-topics --bootstrap-server master104:9092 --group console-consumer-64910

重置偏移reset-topic

kafka不重要的数据,出现堆积,重新消费需要很久,不如清理一下快

./bin/kafka-consumer-groups.sh --reset-offsets --to-earliest --bootstrap-server master104:9092 --all-topics --group console-consumer-64910 --execute

./bin/kafka-consumer-groups.sh --reset-offsets --to-earliest --bootstrap-server master104:9092 --all-topics --group console-consumer-64910 --execute

执行报下面错误

Error: Assignments can only be reset if the group 'logstash_kafka_group' is inactive, but the current state is Stable

是因为相同的 group 有其他的 topic 正在使用和消费,那么这个 group 是?active 状态。active 状态的 group 的任何 topic 的 offset 是不能够被 reset 的

解决办法是停止消费端,再执行重置

?重置后,我们再启动消费端

发现数据又消费了一遍?

常用命令

创建topic
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

展示topic
bin/kafka-topics.sh --list --zookeeper localhost:2181

描述topic
bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic

生产者:
bin/kafka-console-producer.sh --broker-list 130.51.23.95:9092 --topic my-replicated-topic

消费者:
bin/kafka-console-consumer.sh --zookeeper 130.51.23.95:2181 --topic test --from-beginnin

删除topic
bin/kafka-topics.sh --delete --zookeeper 130.51.23.95:2181 --topic topicname

删除topic中存储的内容
在config/server.properties中找到如下的位置log.dirs=路径,删除log.dirs指定的文件目录,然后重新启动就可以了

? ? ? ? 感谢能看到这里的朋友😉

? ? ? ? 本次的分享就到这里,猫头鹰数据致力于为大家分享技术干货😎

? ? ? ? 如果以上过程中出现了任何的纰漏错误,烦请大佬们指正😅

? ? ? ? 受益的朋友或对技术感兴趣的伙伴记得点赞关注支持一波🙏

? ? ? ? 也可以搜索关注我的微信公众号【猫头鹰数据分析】,留言交流🙏

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-05 17:25:10  更:2021-08-05 17:25:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 4:40:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码