http://kafka.apache.org/downloads.html
http://download.kafka-eagle.org/
https://github.com/smartloli/kafka-eagle/releases
# 安装jdk
https://abc.htmltoo.com/thread-46002.htm
# 安装zookeeper
https://abc.htmltoo.com/thread-45115.htm
# 安装kafka
cd /opt/
wget https://downloads.apache.org/kafka/2.7.0/kafka_2.13-2.7.0.tgz
wget http://up.htmltoo.com/soft/src/common/kafka_2.13-3.2.1.tgz
tar zxvf kafka_2.13-2.7.0.tgz && rm -rf kafka_2.13-2.7.0.tgz
mv kafka_2.13-2.7.0 kafka
cd kafka
vim config/server.properties
zookeeper.connect=localhost:2181
# 运行
#./gradlew jar -PscalaVersion=2.12.10
#bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
nohup bin/kafka-server-start.sh -daemon config/server.properties & # > test.log 2>&1 &
-注意:不要关了这个窗口,启用Kafka前请确保ZooKeeper实例已经准备好并开始运行
bin/kafka-server-stop.sh config/server.properties
# 查看端口
netstat -tunlp|egrep "(2181|9092)"
#基础命令
1.查看帮助
bin/kafka-topics.sh --help
2.创建Topic
bin/kafka-topics.sh --zookeeper localhost:2181 --create --topic demo --partitions 10 --replication-factor 1
-–zookeeper指定zookeeper的地址和端口,–partitions指定partition的数量,–replication-factor指定数据副本的数量。也就是说,如果有100条数据,会被切分成10份,每一份有三个副本,存放在不同的partition里。
3.查看所有topic列表
bin/kafka-topics.sh --zookeeper localhost:2181 --list
4.查看指定topic明细
bin/kafka-topics.sh --zookeeper localhost:2181 --describe --topic demo
5.增加partion数量,从10个partition增加到20个;
但是减少partition是不允许的。如果执行配置的partition变少,会抛出一个错误,显示partition数量只能增加
bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic demo --partitions 20
6.删除之前,需要先将server.properties文件中的配置delete.topic.enable=true更改一下,否则执行删除命令不会生效。
bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic demo
7.Producer-生产数据
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic demo
8.Consumer-消费数据
bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic demo
如果加上from-beginning指定从第一条数据开始消费
bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic demo --from-beginning
# 安装kafka-eagle
cd /opt
wget https://github.com/smartloli/kafka-eagle-bin/archive/v2.0.3.tar.gz
tar zxf v2.0.3.tar.gz
cd kafka-eagle-bin-2.0.3
tar zxf kafka-eagle-web-2.0.3-bin.tar.gz && rm -rf kafka-eagle-web-2.0.3-bin.tar.gz
mv kafka-eagle-web-2.0.3 ../kafka-eagle
#加入系统变量
vim /etc/profile
export KE_HOME=/opt/kafka-eagle/
export PATH=$PATH:$KE_HOME/bin
source /etc/profile
chmod -R 777 /opt/kafka-eagle
vim /opt/kafka-eagle/conf/system-config.properties
#如果只有一个集群的话,就写一个cluster1就行了
kafka.eagle.zk.cluster.alias=cluster1
#这里填上刚才上准备工作中的zookeeper.connect地址
cluster1.zk.list=localhost:2181
#如果多个集群,继续写,如果没有注释掉
#cluster2.zk.list=192.168.18.21:2181,192.168.18.22:2181,192.168.18.23:2181/kafka
...
kafka.eagle.url=jdbc:sqlite:/opt/kafka-eagle/db/ke.db #这个地址,按照安装目录进行配置
kafka.eagle.username=admin
kafka.eagle.password=123456
...
# 运行
cd /opt/kafka-eagle/bin
./ke.sh [start|status|stop|restart|stats]
./ke.sh start
http://ip:8048/ke Account:admin ,Password:123456
# web界面: https://github.com/quantifind/KafkaOffsetMonitor/releases
mkdir /opt/KafkaOffsetMonitor/
cd /opt/KafkaOffsetMonitor/
wget https://github.com/quantifind/KafkaOffsetMonitor/releases/download/v0.2.1/KafkaOffsetMonitor-assembly-0.2.1.jar
vim kafkaOffsetMoniter.sh
nohup java -cp KafkaOffsetMonitor-assembly-0.2.1.jar \
com.quantifind.kafka.offsetapp.OffsetGetterWeb \
#--zk zk1:2181,zk2:2181,zk3:2181 \
--zk 127.0.0.1:2181 \
--port 8088 \
--refresh 10.seconds \
--retain 1.days &
sh kafkaOffsetMoniter.sh
---常用参数说明
–zk - Zookeeper hosts
–port - 启动webUI的端口号
–refresh - 页面数据刷新时间
–retain - 历史数据存放的时间(存放在SQLlite中)
---运行界面, topics信息
参数说明
Topic - Topic名称
Partition - 分区编号
Offset - 该partition消费的消息
logSize - 该partition所有的消息
Lag - 未被消费的消息数量
Owner - 消费者
Created - partition创建时间
Last Seen - 最后一次消费时间
# 使用kafka-topics.sh 创建单分区单副本的topic test:
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
zookeeper:zookeeper host 和ip
replication-factor:副本数
partitions :分区数
topic :消息订阅名称
# 查看topic:
bin/kafka-topics.sh --list --zookeeper localhost:2181
test
# 使用kafka-console-producer.sh 发送消息:
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
Hello world!
# 使用kafka-console-consumer.sh 接收消息并在终端打印:
bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning
Hello world!
docker run -d -p 3030:3030 -p 9092:9092 -e ADV_HOST=192.168.1.200 lensesio/fast-data-dev:latest
# kafka-ui
下载地址: https://gitee.com/freakchicken/kafka-ui-lite/releases
启动命令:java -jar kafkaUI.jar 一键启动
如果是多网卡机器,启动需要指定ip
java -Dhost=192.168.33.201 -jar kafkaUI.jar
浏览器访问 http://localhost:8889