kafka单机部署,使用内置zk

一、官网下载kafka

http://kafka.apache.org/downloads.html

二、把下载的tar包上传到Linux,并解压到指定位置

tar -zxvf kafka_2.12-2.3.0.tgz  -C /usr/java

三、启动Zookeeper(kafka依赖Zookeeper)

进入kafka/bin目录下,执行zookeeper-server-start.sh

//修改zookeeper数据存放位置
vi zookeeper.properties
dataDir=/home/tool/zookeeper
//后台启动zookeeper
./zookeeper-server-start.sh ../config/zookeeper.properties 1>/dev/null 2>&1 &

四、启动kafka

//修改kafka 日志存放位置
vi server.properties
log.dirs=/home/tool/kafka-logs

//后台启动kafka
./kafka-server-start.sh ../config/server.properties 1>/dev/null 2>&1 &

五、下载安装kafka-eagle

http://download.kafka-eagle.org/

5.1、设置全局变量,设置JDK的全局变量JAVA_HOME和本应用的KE_HOME

--使用root权限编辑环境变量
sudo vi /etc/profile
 
--打开后加上
export KE_HOME=/home/tool/kafka-eagle
export JAVA_HOME=/home/tool/jdk/jdk1.8.0_202
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$PATH:/usr/local/go/bin:$PATH:$KE_HOME/bin

--修改生效
source /etc/profile

5.2、进入kafka-eagle的conf目录下修改配置文件,配置基础配置

#修改配置文件
vim system-config.properties

#改成zookeeper的IP
cluster1.zk.list=192.168.xx.xx:2181

#改成kafka-eagle目录下的db
kafka.eagle.url=jdbc:sqlite:/home/tool/kafka-eagle/db/ke.db
 

配置文件详情介绍


#配置文件详情介绍
 
#kafkazookeeper节点配置属性多个可以添加一个,cluster1 
kafka.eagle.zk.cluster.alias=cluster1
cluster1.zk.list=192.168.xx.xxx:2181
######################################
# zk 线程数量
######################################
kafka.zk.limit.size=25
 
######################################
# kafka eagle 的端口
######################################
kafka.eagle.webui.port=8048
 
######################################
# kafka offset storage
######################################
cluster1.kafka.eagle.offset.storage=kafka
 
######################################
# enable kafka 开启图表
# 及开始sql查询
######################################
kafka.eagle.metrics.charts=true
 
kafka.eagle.sql.fix.error=true
######################################
# 提醒的email
######################################
kafka.eagle.mail.enable=true
kafka.eagle.mail.sa=alert_sa
kafka.eagle.mail.username=alert_sa@163.com
kafka.eagle.mail.password=mqslimczkdqabbbh
kafka.eagle.mail.server.host=smtp.163.com
kafka.eagle.mail.server.port=25
 
######################################
# 删除kafka topic 的token
######################################
kafka.eagle.topic.token=keadmin
 
######################################
# kafka sasl authenticate
######################################
kafka.eagle.sasl.enable=false
kafka.eagle.sasl.protocol=SASL_PLAINTEXT
kafka.eagle.sasl.mechanism=PLAIN
 
######################################
# kafka jdbc 地址注意可以自己安装数据mysql也可以自带的
######################################
kafka.eagle.driver=org.sqlite.JDBC
kafka.eagle.url=jdbc:sqlite:/kafka/kafka-eagle-bin-1.2.4/kafka-eagle-web-1.2.4/db/ke.db
kafka.eagle.username=root
kafka.eagle.password=smartloli

5.3、文件配置完毕后开始启动 ,启动要进入bin目录下

#首次执行需要赋值权限
chmod +x bin/ke.sh

#运行
ke.sh start

命令                   说明
ke.sh start         启动Kafka Eagle系统
ke.sh stop          停止Kafka Eagle系统
ke.sh restart        重启Kafka Eagle系统
ke.sh status         查看Kafka Eagle系统运行状态
ke.sh stats         统计Kafka Eagle系统占用Linux资源情况
ke.sh find [ClassName]  查看Kafka Eagle系统中的类是否存在

5.4、访问网址:http://192.168.56.101:8048/ke/

登录默认用户名:admin   密码:123456

 

六、基本操作

# 创建Topic
./bin/kafka-topics.sh --create --zookeeper localhost:2181  --replication-factor 2 --partitions 3 --topic test

参数说明:
--create:创建一个topic
--zookeeper: 指定zookeeper集群的主机列表,多个server可使用逗号分隔,这里因为kafka和zk是在同一个server,所以直接连接了本机的2181端口
--replication-factor:指定创建这个topic的副本数
--partitions:指定该topic的分区数
--topic:指定topic的名称


#查看topic列表
./bin/kafka-topics.sh --list --zookeeper localhost:2181

#查询topic的详细描述
./bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test

参数说明:
--describe:查看topic的详细信息
输出说明:
leader:当前负责读写的leader broker
replicas:当前分区所有的副本对应的broker列表
isr:处于活动状态的broker

#增加topic的partition数量
./bin/kafka-topics.sh --zookeeper localhost:2181 --alter --partitions 6 --topic test

#发送数据(生产者)
./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
>输入需要生产的消息

#接收数据(消费者)
./bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning
## --from-beginning表示从头开始读,如果不加的话,从启动consumer开始接收数据

#删除topic
./bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic test
 注意:如果kafaka启动时加载的配置文件中server.properties没有配置delete.topic.enable=true,那么此
时的删除并不是真正的删除,而是把topic标记为:marked for deletion
– 此时你若想真正删除它,可以登录zookeeper客户端,进入终端后,删除相应节点
zkCli.sh 登录进去之后
ls /brokers/topics  查看topic
rmr /brokers/topics/test 把对应的topic删除

 

posted @ 2021-03-17 19:04  夜空中的萤火虫  阅读(988)  评论(0编辑  收藏  举报