1. 基本环境
Cenos7.6
Zookeeper 3.4.6
2. 安装部署
- 本次部署的最简单的测试版本,开发测试使用,集群模式,请移步到: kafka集群安装.
- 集群部署和单机部署区别:就修改参数而已
2.1 下载安装包
下载地址: kafka_2.11-2.2.0.tgz
下载 名字为 kafka_2.11-2.2.0.tgz 的安装包
2.2 上传文件并解压
tar -zxvf kafka_2.12-2.2.0.tgz -C ~/home/
# 解压,-C是指定解压目录,~/home/是当前用户根目录下面的home 文件夹
tar -zxvf kafka_2.12-2.2.0.tgz -C ~/home/
2.3 修改配置
本次修改的是server.properties
配置
vim /home/kafka_2.11-2.2.0/config/server.properties
修改如下配置:
其他配合为默认项,需要调优可以好好看看,一般使用不用管它。
#用于区分broker,必须唯一,每台机器只需要一个整数broker.id
#机器1
broker.id=0
#PLAINTEXT表示协议,配置本机IP地址
#例子:listeners = PLAINTEXT://192.168.86.128:9092
listeners=PLAINTEXT://your.host.name:9092
#PLAINTEXT表示协议,配置本机IP地址(node1或者192.168.22.11),对外公布
#例子:advertised.listeners = PLAINTEXT://192.168.86.128:9092
advertised.listeners=PLAINTEXT://your.host.name:9092
#配置zookeeper的地址,zookeeper集群地址以逗号隔开
#例子:zookeeper.connect=node1:2181
zookeeper.connect=机器A的ip:2181,机器B的ip:2181,机器C的ip:2181
#配置数据存放目录,启动时会自动创建
log.dirs=/home/kafka_2.11-2.2.0/data
#数据保留的时间,默认为7天
log.retention.hours=168
2.4 配置环境变量
目的是让我们在任何地方都可以调用Kafka中的命令,不用再麻烦些绝对路径(可选项)
vim /etc/profile
在最后添加下面两行
export KAFKA_HOME=/home/kafka_2.11-2.2.0
export PATH=$KAFKA_HOME/bin:$PATH
加载环境变量 source /etc/profile
2.5 启动kafka
# 后台启动
nohup kafka-server-start.sh /home/kafka_2.11-2.2.0/config/server.properties &
使用 jps
命令查看是否开启 ,如果有kafka这启动正常。
也可以查看具体日志:
tail -f 100 /home/kafka_2.11-2.2.0/logs/server.log
如果日志为如下样子这启动正常:
[2020-03-23 07:24:24,497] INFO [GroupMetadataManager brokerId=0] Finished loading offsets and group metadata from __consumer_offsets-42 in 0 milliseconds. (kafka.coordinator.group.GroupMetadataManager)
[2020-03-23 07:24:24,497] INFO [GroupMetadataManager brokerId=0] Finished loading offsets and group metadata from __consumer_offsets-45 in 0 milliseconds. (kafka.coordinator.group.GroupMetadataManager)
[2020-03-23 07:24:24,497] INFO [GroupMetadataManager brokerId=0] Finished loading offsets and group metadata from __consumer_offsets-48 in 0 milliseconds. (kafka.coordinator.group.GroupMetadataManager)
如果报错则看报错具体问题,修改配置既可。
3. kafka常见命令
#启动kafka
bin/kafka-server-start.sh config/server.properties
#停止kafka
bin/kafka-server-stop.sh
#创建topic, --replication-factor指定副本个数 注意:分区必须有的
bin/kafka-topics.sh --create --zookeeper node1:2181 --partitions 3 --replication-factor 1 --topic test
#查看所有的topic信息
bin/kafka-topics.sh --list --zookeeper node1:2181
#启动生产者
bin/kafka-console-producer.sh --broker-list node1:9092 --topic test
#启动消费者, 注意 消费者没有--zookeeper-list 选项
bin/kafka-console-consumer.sh --bootstrap-server node1:9092 --topic test --from-beginning
#删除topic
bin/kafka-topics.sh --delete --zookeeper node1:2181 --topic test
示例:
启动生产者启动消费者
完美!!