kafka、kafka-eagle 使用入门教程

标签:

本文出自jvm123.com-java技术分享站:http://jvm123.com/2021/06/kafka-kafka-eagle.html

%title插图%num

如上图,kafka在解压后,会有如上目录,其中bin以及bin/windows是存放kafka命令的目录,config是各个配置文件的目录。以下是在windows环境下使用kafka的过程:

启动 zookeeper

在kafka启动前,首先需要一个可用的zookeeper,如果没有,kafka也有内置的zookeeper,在bin目录中,并使用config目录中的配置中文件zookeeper.properties,可以使用以下命令启动:

bin\windows\zookeeper-server-start.bat config\zookeeper.properties

配置文件中的数据目录和端口如下:

# the directory where the snapshot is stored.
dataDir=/tmp/zookeeper
# the port at which the clients will connect
clientPort=2181

启动zookeeper后,可以使用ZooInspector或其他zookeeper可视化工具验证一下:

%title插图%num

在ZooInspector的build目录下执行以下命令即可启动,并连接zookeeper localhost:2181 即可看到zookeeper的目录和数据,如下:

java -jar zookeeper-dev-ZooInspector.jar
%title插图%num

启动kafka服务,并测试kafka的topic和消息

在kafka目录下执行以下命令,可以启动kafka服务:

bin\windows\kafka-server-start.bat config\server.properties

在启动之前,可以关注并修改配置文件config/server.properties中的以下部分:

# The id of the broker. This must be set to a unique integer for each broker.
# id 集群启动服务时,每个服务的id都需要互不相同
broker.id=0

# 服务监听地址:这里字符串包括了协议、主机和端口,可以配置为PLAINTEXT://jvm123.com:9092形式
# 也可以不设置,将会默认使用java.net.InetAddress.getCanonicalHostName()作为主机以及默认端口和协议
listeners=PLAINTEXT://locahost:9092

# A comma separated list of directories under which to store log files

# kafka数据存储的目录
log.dirs=/tmp/kafka-logs

# zookeeper的地址,也可以使用“127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002”多个
zookeeper.connect=localhost:2181

现在,kafka就可以启动成功了。并且可以使用bin目录下的命令进行测试:

# 创建topic:名称为test,副本数为1,分片为2
bin\windows\kafka-topics.bat --create --zookeeper localhost:2181 --replication-factor 1 --partitions 2 --topic test

# 查看已有的topic
bin\windows\kafka-topics.bat --list --zookeeper localhost:2181

# 发送消息到名为test的topic
bin\windows\kafka-console-producer.bat --broker-list localhost:9092 --topic test

# (从头)消费test topic的消息
bin\windows\kafka-console-consumer.bat --bootstrap-server localhost:9092 --topic test --from-beginning
%title插图%num
kafka发送消息
%title插图%num
kafka消费消息

上图中发送消息和消费的顺序不一致,这是因为topic test有两个分片,两条消息存储在了不同的分片上,所以无法保证分片之间的消息顺序。

使用kafka-eagle管理和监控kafka服务

%title插图%num

下载解压kafka-eagle后,需要先设置环境变量%KE_HOME%

环境变量: KE_HOME D:\kafka\kafka-eagle-web-2.0.5

ke.bat 中会获取%KE_HOME%变量,需要设置环境变量,在linux中可以使用export命令设置。

然后可使用以下命令启动:

bin\ke.bat

其默认的配置文件是位于conf目录下的system-config.properties,需要修改以下内容:

######################################
# multi zookeeper&kafka cluster list
######################################
#kafka.eagle.zk.cluster.alias=cluster1,cluster2
#cluster1.zk.list=tdn1:2181,tdn2:2181,tdn3:2181
#cluster2.zk.list=xdn10:2181,xdn11:2181,xdn12:2181

# 集群信息
kafka.eagle.zk.cluster.alias=cluster1
cluster1.zk.list=localhost:2181

######################################
# kafka eagle webui port
######################################
# web管理界面的端口
kafka.eagle.webui.port=8048

######################################
# kafka jdbc driver address
######################################

# jdbc连接信息,也可使用mysql等,使用sqlite时,必须创建目录,否则会报错
kafka.eagle.driver=org.sqlite.JDBC
kafka.eagle.url=jdbc:sqlite:/hadoop/kafka-eagle/db/ke.db
kafka.eagle.username=root
kafka.eagle.password=smartloli

启动后需要访问 http://localhost:8048/ke/ 才可以访问,并使用admin 和 密码 123456登录即可:

%title插图%num
%title插图%num
%title插图%num

发表评论