首页 > 其他分享 >Kafka安装与使用入门

Kafka安装与使用入门

时间:2024-02-26 11:36:10浏览次数:26  
标签:入门 -- zookeeper server kafka 安装 properties Kafka

写在前面,本文重点介绍Kafka的安装与使用入门。Kafka是一款什么样的产品,具体是作什么用的,大致看这里:

Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。

 

 

正文开始:

1、下载Kafka

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

 

 2、安装

tar -zxf kafka_2.11-0.11.0.1.tgz -C /usr/myapp

因为下载的是二进制版本,所以只要解压到目标路径即可。

 

3、配置单节点

3.1 配置单节点的zookeeper

cd /usr/myapp/kafka_2.11 #进入kafka主目录
mkdir -p zk/data   #创建zookeeper数据存放目录
mkdir -p zk/logs    #创建zookeeperl存放日志目录
cd config       #进入配置文件所在目录
mv zookeeper.properties zookeeper.properties.bak #将原配置文件移走

cat > zookeeper.properties << EOF
tickTime=2000
dataDir=/usr/myapp/kafka_2.11/zk/data
dataLogDir=/usr/myapp/kafka_2.11/zk/logs
clientPort=2181
EOF

3.2 配置单节点的Kafka

cd /usr/myapp/kafka_2.11 #进入kafka主目录
mkdir logs    #创建logs目录用于存放日志
cd config       #进入配置文件所在目录
mv server.properties server.properties.bak #将原配置文件移走

cat > server.properties << EOF
broker.id=1
listeners=PLAINTEXT://192.168.220.128:9092
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/usr/myapp/kafka_2.11/logs
num.partitions=1
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connect=192.168.220.128:2181
zookeeper.connection.timeout.ms=6000
group.initial.rebalance.delay.ms=0
EOF

其中,broker.id可以修改为任意数值。

 

4、启动与停止

在运行之前,需要先安装好JAVA,并配置JAVA_HOME命令。

启动:

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

停止:

./zookeeper-server-stop.sh    #停止zookeeper
./kafka-server-stop.sh        #停止kafka,centos7上可能关不了用kill -9直接杀掉

先启动zookeeper,再启动kafka;

停止的顺序刚好相反,先停止Kafka,再停止zookeeper。

查看是否有zookeeper和kafka进程:

jps

 

5、配置集群

5.1 配置zookeeper

cd /usr/myapp/kafka_2.11/config     #进入配置文件路径

cat >> zookeeper.properties << EOF
initLimit=5
syncLimit=2
server.1=192.168.220.128:2888:3888
server.2=192.168.220.129:2888:3888
server.3=192.168.220.130:2888:3888
EOF

echo '1' > ../zk/data/myid          #配置zookeeper的myid文件

其中:

2181端口:对cline端提供服务

3888端口:选举leader使用

2888端口:集群内机器通讯使用(Leader监听此端口)

5.2 配置kafka

编缉server.properties文件,将所有的zookeeper集群地址追加到zookeeper.connect后,每个地址间用逗号(半角)隔开即可。

cd /usr/myapp/kafka_2.11 #进入kafka主目录
mkdir logs    #创建logs目录用于存放日志
cd config       #进入配置文件所在目录
mv server.properties server.properties.bak #将原配置文件移走

cat > server.properties << EOF
broker.id=1
listeners=PLAINTEXT://192.168.220.128:9092
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/usr/myapp/kafka_2.11/logs
num.partitions=1
num.recovery.threads.per.data.dir=1
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connect=192.168.220.128:2181,192.168.220.129:2181,192.168.220.130:2181
zookeeper.connection.timeout.ms=6000
group.initial.rebalance.delay.ms=0
EOF

集群为大于等于3个基数,如 3、5、7…,不宜太多,集群机器多了选举和数据同步耗时时长长,不稳定。

 

6、使用

创建topics:

./kafka-topics.sh --create --bootstrap-server 192.168.220.128:9092 --replication-factor 2 --partitions 1 --topic test_topics

查看已存在的topics:

./kafka-topics.sh --list --bootstrap-server 192.168.220.128:9092

在一台上创建生产者:

./kafka-console-producer.sh --bootstrap-server 192.168.220.128:9092 --topic test_topics

在另一台上创建消费者:

./kafka-console-consumer.sh --bootstrap-server 192.168.220.128:9092 --topic test_topics --from-beginning

 

7、可视化客户端

zookeeper可视化客户端PrettyZoo,下载地址:https://kkgithub.com/vran-dev/PrettyZoo/releases

Kafka可视化客户端offset explorer,下载地址:https://www.kafkatool.com/download.html

 

本文到此就告一段落了,如果希望大家可以用好Kafka完成自己的项目:)

标签:入门,--,zookeeper,server,kafka,安装,properties,Kafka
From: https://www.cnblogs.com/ddcoder/p/18033927

相关文章

  • jmeter下载安装过程
    下载jmeter下载地址:https://jmeter.apache.org/download_jmeter.cgi#binarieswindows下载zip包,linux下载tgz包  安装过程:解压缩zip文件 jmeter.bat文件双击打开;jmeter.sh为Linux系统的启动文件。 jmeter-server:当前机器作为远程负载机时需要启动。 环境变量配置:......
  • CentOS7安装Docker
    1.删除原有的Docker(如果有)sudoyumremovedocker\docker-client\docker-client-latest\docker-common\docker-latest\docker-latest-logrotate\......
  • JavaFlink系列之一:Maven程序搭建及Java入门案例多种写法
    JavaFlink系列之一:Maven程序搭建及Java入门案例多种写法 一、Flink项目依赖配置<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://maven.apache.org/POM/4.0.0"......
  • spring6入门开发案例步骤
    引入依赖创建类和方法编写配置文件4.测试Spring是如何创建对象的呢?原理是什么?//dom4j解析beans.xml文件,从中获取class属性值,类的全类名//通过反射机制调用无参数构造方法创建对象Classclazz=Class.forName("com.atguigu.spring6.bean.HelloWorld");//Objectobj......
  • Docker安装mariadb数据库与web管理工具phpmyadmin
    安装mariadb数据库获取指定版本的mariadb数据库docker镜像使用dockersearchmariadb搜索相关镜像;MacBook-Pro:~chenxiaolong$dockersearchmariadbNAMEDESCRIPTIONSTARSOFFICIALAUTOMATEDmar......
  • 安装IntelliJ IDEA Ultimate Version 2018.3.6
    参考博客:idea2018.3.6安装与破解教程1、下载安装文件ideaIU-2018.3.6.exe2、无脑下一步安装博主安装位置D:\IntelliJIDEA2018.3.6安装后,先不要运行IDEA3、下载jar文件JetbrainsIdesCrack-4.2-release.jar将下载后的jar包放入到IDEA安装目录的bin目录下,即D:\Inte......
  • C++U6-05 - 动态规划算法入门
    目标:动态规划     兔子数列的每一项都是前两项之和,公式为f[n]=f[n−1]+f[n−2]。#include<bits/stdc++.h>usingnamespacestd;intmain(){intf[105],n;f[1]=1;f[2]=1;cin>>n;for(inti=3;i<=n;i++){......
  • Docker安装MS SQL Server并使用Navicat远程连接
    MSSQLServer简介MicrosoftSQLServer(简称SQLServer)是由微软公司开发的关系数据库管理系统,它是一个功能强大、性能卓越的企业级数据库平台,用于存储和处理大型数据集、支持高效查询和分析等操作。SQLServer支持广泛的应用程序开发接口(API),包括T-SQL、ADO.NET、ODBC、OLEDB......
  • 微软“史诗级改进”!Win11安装更新后可不用重启电脑
    据国外媒体报道,微软正计划在Windows11更新中引入“热补丁”功能,这样用户在安装每月的累积更新时,安装完成之后就不再需要重启电脑。据了解,“热补丁”的工作原理是“修补运行进程的内存代码,而无需重启进程”。报道表示,微软打算在Windows11上使用“热补丁”功能来提供每月安全更......
  • 安装centos系统必做操作
    关闭SELinuxsed-i‘/^SELINUX=/cSELINUX=disabled’/etc/selinux/config在Linux系统中临时关闭SELinux(Security-EnhancedLinux)可以使用以下命令:sudosetenforce0这条命令将使SELinux立即进入宽容模式(Permissivemode),在这种模式下,SELinux规则仍然会被检查,但违规行为不会......