重庆综合网站建设配件,wordpress 企业门户,成都网站开发定制,怎样做免费抽皮肤的网站本文内容来自尚硅谷B站公开教学视频#xff0c;仅做个人总结、学习、复习使用#xff0c;任何对此文章的引用#xff0c;应当说明源出处为尚硅谷#xff0c;不得用于商业用途。 如有侵权、联系速删 视频教程链接#xff1a;【尚硅谷】Kafka3.x教程#xff08;从入门到调优… 本文内容来自尚硅谷B站公开教学视频仅做个人总结、学习、复习使用任何对此文章的引用应当说明源出处为尚硅谷不得用于商业用途。 如有侵权、联系速删 视频教程链接【尚硅谷】Kafka3.x教程从入门到调优深入全面 文章目录 1 安装部署1.1 集群规划1.2 集群部署 2 命令行操作2.1 主题2.2 生产者2.3 消费者2.4 消费者组 1 安装部署
1.1 集群规划
这里采用的是三节点的kafka集群名称为hadoop102、hadoop103、hadoop104
1.2 集群部署
官方下载地址http://kafka.apache.org/downloads.html
解压安装包tar -zxvf kafka_2.12-3.0.0.tgz -C /opt/module/修改解压后的文件名称 mv kafka_2.12-3.0.0/ kafka进入到/opt/module/kafka 目录修改配置文件 cd config/vim server.properties按需修改以下内容#broker 的全局唯一编号不能重复只能是数字(一般修改这个)。
broker.id0
#处理网络请求的线程数量
num.network.threads3
#用来处理磁盘 IO 的线程数量
num.io.threads8
#发送套接字的缓冲区大小
socket.send.buffer.bytes102400
#接收套接字的缓冲区大小
socket.receive.buffer.bytes102400
#请求套接字的缓冲区大小
socket.request.max.bytes104857600
#kafka 运行日志(数据)存放的路径路径不需要提前创建kafka 自动帮你创建可以配置多个磁盘路径路径与路径之间可以用分隔。(一般修改这个)
log.dirs/opt/module/kafka/datas
#topic 在当前 broker 上的分区个数
num.partitions1
#用来恢复和清理 data 下数据的线程数量
num.recovery.threads.per.data.dir1
# 每个 topic 创建时的副本数默认时 1 个副本
offsets.topic.replication.factor1
#segment 文件保留的最长时间超时将被删除
log.retention.hours168
#每个 segment 文件的大小默认最大 1G
log.segment.bytes1073741824
# 检查过期数据的时间默认 5 分钟检查一次是否数据过期
log.retention.check.interval.ms300000
#配置连接 Zookeeper 集群地址在 zk 根目录下创建/kafka方便管理(一般修改这个)
zookeeper.connecthadoop102:2181,hadoop103:2181,hadoop104:2181/kafka另外两个节点也装安装包分别在 hadoop103 和 hadoop104 上修改配置文件/opt/module/kafka/config/server.properties中的 broker.id1、broker.id2 注broker.id 不得重复整个集群中唯一。配置环境变量 在/etc/profile.d/my_env.sh 文件中增加 kafka 环境变量配置sudo vim /etc/profile.d/my_env.sh增加如下内容#KAFKA_HOME
export KAFKA_HOME/opt/module/kafka
export PATH$PATH:$KAFKA_HOME/bin刷新一下环境变量。source /etc/profile其他节点一样的操作。 在另外两个节点 source刷新source /etc/profile启动集群 先启动 Zookeeper 集群然后启动 Kafka。zk.sh start
kafka-server-start.sh -daemon config/server.properties关闭集群bin/kafka-server-stop.sh注意停止 Kafka 集群时一定要等 Kafka 所有节点进程全部停止后再停止 Zookeeper集群。因为 Zookeeper 集群当中记录着 Kafka 集群相关信息Zookeeper 集群一旦先停止Kafka 集群就没有办法再获取停止进程的信息只能手动杀死 Kafka 进程了。
2 命令行操作
2.1 主题
1 查看操作主题命令参数
bin/kafka-topics.sh 参数参数描述–bootstrap-server String: server toconnect to连接的 Kafka Broker 主机名称和端口号。–topic String: topic操作的 topic 名称。–create创建主题。–delete删除主题。–alter修改主题。–list查看所有主题。–describe查看主题详细描述。–partitions Integer: # of partitions设置分区数。–replication-factorInteger: replication factor设置分区副本。–config String: namevalue更新系统默认的配置。
操作时要先连接所以后面的命令行都有--bootstrap-server hadoop102:9092 2 查看当前服务器中的所有 topic
bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --list3 创建一个topic这里我起名为first
bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --create --partitions 1 --replication-factor 3 --topic first选项说明 --topic定义topic名 --replication-factor定义副本数 --partitions 定义分区数 4 查看 first 主题的详情
bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --describe --topic first5 修改分区数注意分区数只能增加不能减少
bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --alter --topic first --partitions 36 再次查看 first 主题修改后的详情 bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --describe --topic first7 删除 topic bin/kafka-topics.sh --bootstrap-server hadoop102:9092 --delete --topic first2.2 生产者
1 查看生产者
bin/kafka-console-producer.sh参数描述–bootstrap-server String: server toconnect to连接的 Kafka Broker 主机名称和端口号。–topic String: topic操作的 topic 名称。
2 发送消息
bin/kafka-console-producer.sh --bootstrap-server hadoop102:9092 --topic first
hello world
atguigu atguigu2.3 消费者
1 查看消费者
bin/kafka-console-consumer.sh参数描述–bootstrap-server String: server toconnect to连接的 Kafka Broker 主机名称和端口号。–topic String: topic操作的 topic 名称。–from-beginning从头开始消费。–group String: consumer group id指定消费者组名称。
2 消费消息
消费指定主题的数据bin/kafka-console-consumer.sh --bootstrap-server hadoop102:9092 --topic first把主题中所有的数据都读取出来包括历史数据。bin/kafka-console-consumer.sh --bootstrap-server hadoop102:9092 --from-beginning --topic first2.4 消费者组
1 查看消费者组
bin/kafka-consumer-groups.sh参数描述–bootstrap-server String: server toconnect to连接的 Kafka Broker 主机名称和端口号。–describe列出消费者组详情信息。–list列出所有消费者。–group String: consumer group id指定消费者组名称。
如果我们要查询testGroup消费者组的详细信息执行如下命令
bin/kafka-consumer-groups.sh --bootstrap-server hadoop102:9092 --describe --group testGroup其中列出的参数含义为
参数描述GROUP消费者组名TOPIC主题名称PARTITION该主题消息的分区ID列表CURRENT-OFFSET最后被消费的消息的偏移量LOG-END-OFFSET该主题最后一条消息的偏移量LAG消息积压量CONSUMER-ID该组消费者IDHOST该组消费者主机IP/brokerIDCLIENT-ID该组消费者客户端ID