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删除
学无止境...