安装教程
- 下载安装包
http://kafka.apache.org/downloads
- 解压tgz文件
tar -zxf kafka_2.11-2.4.0.tgz
- 进入config更改配置信息
cd kafka_2.11-2.4.0/config
- 先改zookeeper.properties 信息
vi zookeeper.properties
更改dataDir信息,就是配置zookeeper时的存放日志信息目录,单台机可以不配置
dataDir=./zk345/tmp # 如果该路径不存在,程序会自行创建
clientPort=2181
- 改server.properties 信息
vi server.properties
需要针对修改的参数如下:
#每个文件配置的 id的值不能一样,如果是集群的话
broker.id=0
#用于存储日志文件
log.dirs=./kafka-logs # 如果该路径不存在,程序会自行创建
#zookeeper的连接,自己本机ip和配置的端口号
zookeeper.connect=IP:2181
#开启远程监听,让第三方连接,改自己本机ip地址
listeners=PLAINTEXT://IP:9092
- 配置kafka环境变量
vi /etc/profile
添加这两句
export KAFKA_HOME=/home/workspace/kafka_2.11-2.4.0
export PATH=$PATH:$KAFKA_HOME/bin
- 激活配置
source /etc/profile
- 先启动zookeeper服务
sh bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
-daemon:表示以守护进程/后台运行的方式启动。
有可能报错
说明端口2181被占用,可以修改端口号,需要注意的是,有两处需要修改
zookeeper.properties中的clientPort=2182
server.properties中的zookeeper.connect=IP:2182
9. 再启动kafka
sh bin/kafka-server-start.sh -daemon config/server.properties
kafka基本操作命令
创建Kafka主题
bin/kafka-topics.sh --create -zookeeper IP:2182 --replication-factor 1 --partitions 1 --topic mytopic
获取主题列表
bin/kafka-topics.sh --zookeeper IP:2182 --list
mytopic
启动生产者以发送消息
bin/kafka-console-producer.sh --broker-list IP:9092 --topic mytopic
新开一个终端启动消费者以接收消息
kafka-console-consumer.sh --bootstrap-server IP:9092 --topic mytopic --from-beginning