(1)、手动下载 下载地址:Apache Kafka
(2)、也可以用命令下载(直接下载到服务器哦!):
将安装包下载到/opt/monitor/kafka文件夹下面
下载命令:
wget http://mirrors.hust.edu.cn/apache/kafka/2.0.0/kafka_2.12-2.0.0.tgz
手动下载移动到/opt/monitor/kafka目录下也可以
二、解压kafka
三、修改server.properties文件tar -xzvf kafka_2.12-2.0.0.tgz(文件名可以更换哦!)
在目录/opt/monitor/kafka/kafka_2.12-2.7.0/config下
1、修改内容为:在config目录下输入命令:vim server.properties
server.properties修改 内容如下:可直接复制粘贴。
2、创建日志文件夹broker.id=0 port=9092 #端口号 host.name=localhost #单机可直接用localhost log.dirs=/opt/monitor/kafka/kafka_dat #日志存放路径可修改可不修改 zookeeper.connect=localhost:2181 #zookeeper地址和端口,单机配置部署,localhost:2181
mkdir + 目录名称四、修改zookeeper.properties文件 1、 进入/opt/monitor/kafka/kafka_2.12-2.7.0/config目录下输入命令:
2、修改内容为:vim zookeeper.properties
dataDir=/opt/monitor/kafka/kafka_data/zookeeper #zookeeper数据目录 (可以修改可以不修改) clientPort=2181 maxClientCnxns=100 tickTimes=2000 initLimit=10 syncLimit=5 admin.enableServer=false
由于我修改了默认的数据目录地址和日志目录需要在kafka下创建文件
在/opt/monitor/kafka/创建
mkdir kafka_data/zookeeper
五、启动
1、启动zookeeper
(一般我使用这种方式)
启动:在/opt/monitor/kafka/kafka_2.12-2.7.0路径下先启动zookeeper,默认自带的
2、启动Kafkabin/zookeeper-server-start.sh config/zookeeper.properties bin/zookeeper-server-start.sh -daemon config/zookeeper.properties #建议使用这种方式,不需要启动多个窗口
然后启动kafka服务在/opt/monitor/kafka/kafka_2.12-2.7.0路径下
bin/kafka-server-start.sh config/server.properties bin/kafka-server-start.sh -daemon config/server.properties #建议使用这种方式,不需要启动多个窗口
#!/bin/sh #启动zookeeper
/opt/monitor/kafka/kafka_2.12-2.7.0/bin/zookeeper-server-start.sh /opt/monitor/kafka/kafka_2.12-2.7.0/config/zookeeper.properties &
sleep 3 #等3秒后执行
#启动kafka
六、Kafka topic 1、创建topic/opt/monitor/kafka/kafka_2.12-2.7.0/bin/kafka-server-start.sh /opt/monitor/kafka/kafka_2.12-2.7.0/config/server.properties &
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic demo bin/kafka-topics.sh --create --zookeeper localhost:2181 --topic demo
其中demo为创建的topic名称。
如上图,创建了一个名为 demo 的主题,其中包含一个分区和一个副本因子。 创建成功之后会输出:Created topic "demo".
如上图,创建主题后,系统会在config / server.properties文件中的"/ tmp / kafka-logs /"中指定的创建主题的日志。
2 、查询topic列表3 、删除topicbin/kafka-topics.sh --list --zookeeper localhost:2181bin/kafka-topics.sh --zookeeper localhost:2181 --describe --topic demo
七、Kafka 生产/消费 1 、启动生产者bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic demo
进入/opt/monitor/kafka/kafka_2.12-2.7.0目录下执行命令
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic demo bin/kafka-console-producer.sh --broker-list 192.168.113.xxx:9092 --topic prometheusMonitor_event bin/kafka-console-producer.sh --broker-list 192.168.xxx.xxx:9092 --topic zabbixVm
从上面的语法,生产者命令行客户端需要两个主要参数 -
代理列表 - 我们要发送邮件的代理列表。 在这种情况下,我们只有一个代理。 Config / server.properties文件包含代理端口ID,因为我们知道我们的代理正在侦听端口9092,因此您可以直接指定它。主题名称:demo。
2 、启动消费者为了方便测试,另启一个sheel窗口 这样效果更明显。需要注意的是旧版本和新版本的命令是不一样的
进入/opt/monitor/kafka/kafka_2.12-2.7.0目录下执行命令
2.1、旧版本:
bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic demo --from-beginning
报错提示:zookeeper is not a recognized option
2.2、新版本
发现在启动的时候说使用 --zookeeper是一个过时的方法,最新的版本中命令如下:
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic demo --from-beginning bin/kafka-console-consumer.sh --bootstrap-server 192.168.xxx.xxx:9092 --topic 名称 --from-beginning
可以开启两个终端,一个发送消息,一个接受消息。效果如下:
3、 查看kafka生产最大位置偏移量进入/opt/monitor/kafka/kafka_2.12-2.7.0目录下执行命令
4、消费消息查看bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9092 --topic demo --time -1
进入/opt/monitor/kafka/kafka_2.12-2.7.0/bin目录下:
(1)、topic: redis_event ./kafka-console-consumer.sh --bootstrap-server 192.168.xxx.xxx:9092 --topic redis_event --from-beginning (2)、topic: zabbixVm ./kafka-console-consumer.sh --bootstrap-server 192.168.xxx.xxx:9092 --topic zabbixVm #查看最新的数据
八,监控
1个kafka集群只需要1个exporter,在集群上的任意1台服务器部署。



