Centos7单机安装kafka,进行生产者消费者测试

at 4年前  ca Linux  pv 1821  by touch  

一、kafka介绍

Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx日志、访问日志,消息服务等等,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。

主要应用场景是:日志收集系统和消息系统。

Kafka主要设计目标如下:

  • 以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间的访问性能。

  • 高吞吐率。即使在非常廉价的商用机器上也能做到单机支持每秒100K条消息的传输。

  • 支持Kafka Server间的消息分区,及分布式消费,同时保证每个partition内的消息顺序传输。

  • 同时支持离线数据处理和实时数据处理。

  • 支持在线水平扩展

二、kafka架构图

Centos7单机安装kafka,进行生产者消费者测试 Linux 第1张

Centos7单机安装kafka,进行生产者消费者测试 Linux 第2张

三、kafka安装与测试

1、配置JDK环境
Kafka 使用Zookeeper 来保存相关配置信息,Kafka及Zookeeper 依赖Java 运行环境,从oracle网站下载JDK 安装包,解压安装

tar zxvf jdk-8u171-linux-x64.tar.gz2 mv jdk1.8.0_171 /usr/local/java/

设置Java 环境变量:

#java 
export JAVA_HOME=/usr/local/java/jdk1.8.0_1713 
export PATH=$PATH:$JAVA_HOME/bin4 
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

2、安装kafka

下载地址:http://kafka.apache.org/downloads

cd /opt 
wget http://mirror.bit.edu.cn/apache/kafka/2.3.0/kafka_2.11-2.3.0.tgz3 
tar zxvf kafka_2.11-2.3.0.tgz4 
mv kafka_2.11-2.3.0 /usr/local/apps/ 
cd /usr/local/apps/
ln -s kafka_2.11-2.3.0 kafka

设置kafka 安全IP

zookeeper.properties 文件增加以下配置

clientPortAddress=内网IP


3、启动测试

(1)启动Zookeeper服务

cd /usr/local/apps/kafka
#执行脚本
bin/zookeeper-server-start.sh -daemon config/zookeeper.properties 
#查看进程 
jps

Centos7单机安装kafka,进行生产者消费者测试 Linux 第3张

(2)启动单机Kafka服务

调整kafka配置参数

broker.id=0
listeners=PLAINTEXT://IP:9092
host.name=IP
advertised.listeners=PLAINTEXT://IP:9092 #此项必须加,监听服务状态
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
log.retention.bytes=536870912 #日志大小 512M
log.segment.bytes=536870912 #日志大小 512M
zookeeper.connect=127.0.0.1:2181
group.initial.rebalance.delay.ms=3


#执行脚本
bin/kafka-server-start.sh config/server.properties > /dev/null 2>&1 &
#查看进程
jps


Centos7单机安装kafka,进行生产者消费者测试 Linux 第4张

(3)创建topic进行测试

#执行脚本
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test


(4)查看topic列表

#执行脚本
bin/kafka-topics.sh --list --zookeeper localhost:21813 输出:test


Centos7单机安装kafka,进行生产者消费者测试 Linux 第5张

(5)生产者消息测试

#执行脚本(使用kafka-console-producer.sh 发送消息)
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test


Centos7单机安装kafka,进行生产者消费者测试 Linux 第6张

(6)消费者消息测试

#执行脚本(使用kafka-console-consumer.sh 接收消息并在终端打印)
bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning

Centos7单机安装kafka,进行生产者消费者测试 Linux 第7张

 4、单机多broker集群配置

 单机部署多个broker,不同的broker,设置不同的id、监听端口、日志目录

cp config/server.properties config/server-1.properties 
vim server-1.properties   
#修改:   
broker.id=1
port=9093
log.dir=/tmp/kafka-logs-1   
#启动Kafka服务
bin/kafka-server-start.sh config/server-1.properties &


 参考:https://www.cnblogs.com/frankdeng/p/9310684.html 


版权声明

本文仅代表作者观点,不代表码农殇立场。
本文系作者授权码农殇发表,未经许可,不得转载。

 

扫一扫在手机阅读、分享本文

已有0条评论
您是本站第12570名访客 今日有0篇新文章 当前在线 5 人