1 概述
1.1 kafka 简介
Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。
1.2 KeyarchOS简介
浪潮信息KOS是浪潮信息基于Linux Kernel、OpenAnolis等开源技术自主研发的一款服务器操作系统,支持x86、ARM等主流架构处理器,性能和稳定性居于行业领先地位,具备成熟的 CentOS 迁移和替换能力,可满足云计算、大数据、分布式存储、人工智能、边缘计算等应用场景需求。详细介绍见官网链接https://www.ieisystem.com/kos/product-kos-xq.thtml?id=12126。
2 安装环境
2.1 操作系统环境
版本信息:KeyarchOS 5.8。
硬件平台:X86_64。
2.2 kafka版本
kafka 2.2.1。
3 安装配置kafka
3.1 安装配置jdk1.8
- 查询JDK可用版本:yum search java | grep -i --color JDK
- 安装JDK:yum install -y java-1.8.0-openjdk.x86_64
- 检测安装版本:java –version
3.2 安装配置zookeeper
- 下载zookeer的tar包: wget http://archive.apache.org/dist/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz
- 解压:tar -xvzf zookeeper-3.4.14.tar.gz -C /usr/soft
- 将zookeeper解压到了/usr/soft目录下,此时在/usr/soft目录中会有一个zookeeper-3.4.14文件夹,进入该目录下的conf文件夹中。
- zoo_sample.cfg是一个配置文件的样本,需要将这个文件复制并重命名为zoo.cfg: cp zoo_sample.cfg zoo.cfg
- 修改配置文件:vi zoo.cfg
- 配置环境变量, 使用vim打开etc目录下的profile文件:vim /etc/profile
在末尾配置环境变量,这里需要写入的是:
export ZOOKEEPER_HOME=/usr/soft/zookeeper-3.4.14
export PATH=$PATH:$ZOOKEEPER_HOME/bin
写入信息并保存后,需要使配置文件生效,所用的命令为:source /etc/profile - 启动zookeeper, 由于配置了环境变量,可以在系统中的任意目录执行启动zookeeper的命令,其执行的实际上是zookeeper的bin文件夹中的zkServerl.sh的命令:zkServer.sh start
Zookeeper启动成功:
3.3 安装配置Kafka
- 下载kafka2.2.1:
wget https://archive.apache.org/dist/kafka/2.2.1/kafka_2.12-2.2.1.tgz - 解压:tar zxvf kafka_2.12-2.2.1.tgz:
- 重命名文件夹mv kafka_2.12-2.2.1 kafka
- 启动:bin/kafka-server-start.sh config/server.properties
3.4 查看Kafka版本
执行命令:bin/kafka-topics.sh –version
4 Kafka基本使用
4.1 创建topic
创建topic:执行命令:
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
4.2 查看topic
查看topic:执行命令:bin/kafka-topics.sh --list --zookeeper localhost:2181
4.3 使用自带的脚本来进行测试
- 使用kafka-console-producer.sh 发送消息:
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
- 使用kafka-console-consumer.sh消费消息:
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning