第1章概述
1.1编写目的
暂无
1.2业务背景
暂无
第2章组件介绍
2.1组件介绍与架构说明
kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。kafka是整个中台的流数据处理的重要组成部分。
2.2逻辑部署拓扑
kafka从逻辑上分为broker、producer及consume,一台 kafka 服务器就是一个 broker。一个集群由多个broker 组成,通过zookeeper注册服务信息,broker里分producer生产者和consume消费者。生产者生产消息并发送给服务器指定的topic,消费者向订阅topic从服务器拉取消息进行消费。
2.3物理部署拓扑
在node1、node2、node3上安装
2.4依赖环境
硬件:Phytium ARM CPU,银河麒麟v10 内核版本4.19.90-17 arm64 桌面版
JDK依赖:JDK1.8
组件依赖:无
2.5界面效果
2.5.1安装完成后的运行效果
安装完成后运行消费者和生产者的效果
2.5.2运行日志
运行日志在/opt/abd_env_soft/kafka/logs目录下,可使用cat命令进行查看
第3章部署步骤
3.1环境准备
本说明将在3台服务器中(node1、node2、node3)安装kafka,组成集群。
3.1.1安装包准备
将kafka_2.13-3.0.0.tgz文件上传至node1服务器的/opt/abd_env_soft目录,解压并重命名为kafkfa
解压
tar -zxvf kafka_2.13-3.0.0.tgz
重命名
mv kafka_2.13-3.0.0/ kafka
3.2安装配置
3.2.1配置server.properties文件
进入/kafka/config目录,修改server.properties文件常用参数如下,同时在/opt/abd_env_soft/kafka目录下创建log目录。
broker的全局唯一编号,多个节点不能重复
broker.id=1
kafka 运行日志存放的路径
log.dirs=/opt/abd_env_soft/kafka/log
kafka绑定的地址(此处为node1,需要访问者能解析node1,不然请填写ip地址)
listeners=PLAINTEXT://node1:9092
配置连接 Zookeeper 集群地址
zookeeper.connect=node1:2181,node2:2181,node3:2181
修改/opt/abd_env_soft/kafka/bin/kafka-run-class.sh文件第281行,将下图中画框的jvm参数删除
修改后如下图:
3.2.2将安装文件拷贝至其他节点
将node1上的配置好的安装程序拷贝至node2和node3
scp -r /opt/abd_env_soft/kafka/ node2:/opt/abd_env_soft/
scp -r /opt/abd_env_soft/kafka/ node3:/opt/abd_env_soft/
在node2和node3上修改配置文件
在node2和node3上分别修改server.propertie文件,分别将broker.id和listeners进行修改,node2改为:
node3改为:
3.3启动kafka集群
分别在3台节点上执行命令:
nohup sh /opt/abd_env_soft/kafka/bin/kafka-server-start.sh /opt/abd_env_soft/kafka/config/server.properties >> /opt/abd_env_soft/kafka/run.log 2>&1 &
注:关闭命令:sh /opt/abd_env_soft/kafka/bin/kafka-server-stop.sh
3.4验证是否启动成功
分别在3台节点上查看jps进程和netstat网络监听
使用zookeeper的命令行登录进行查看kafka集群的信息
/opt/abd_env_soft/apache-zookeeper/bin/zkCli.sh -server node1:2181
功能测试:
创建topic
sh /opt/abd_env_soft/kafka/bin/kafka-topics.sh --create --bootstrap-server node1:9092 --replication-factor 3 --partitions 1 --topic demo
列出topic
sh /opt/abd_env_soft/kafka/bin/kafka-topics.sh --bootstrap-server node1:9092 --list
生产消息
sh /opt/abd_env_soft/kafka/bin/kafka-console-producer.sh --broker-list node1:9092,node2:9092,node3:9092 --topic demo
消费消息
sh /opt/abd_env_soft/kafka/bin/kafka-console-consumer.sh --bootstrap-server node1:9092 --topic demo --from-beginning
查看topic详情
sh /opt/abd_env_soft/kafka/bin/kafka-topics.sh --bootstrap-server node1:9092 --describe --topic demo
3.5新增节点时的配置步骤
(1)在新节点上配置hostname、host及免密登录,并安装jdk
(2)将node1上的kafka安装文件拷贝至新节点,按照1.3章节内容修改server.properties的配置
(3)在新节点上启动kafka
1第4章常见操作
4.1启动命令
在每台节点执行命令进行启动:
/opt/abd_env_soft/kafka/bin/kafka-server-start.sh opt/abd_env_soft/kafka/config/server.properties
4.2关闭命令
使用ps -ef |grep airflow找出进程,再通过kill命令关闭
/opt/abd_env_soft/kafka/bin/kafka-server-stop.sh
4.3日志查看命令
运行日志在/opt/abd_env_soft/kafka/logs目录下,可使用cat命令进行查看
4.4健康检查方法
通过jps命令查看进行情况,或参考3.4章内容