文件解压 tar -zxvf kafka_2.12-2.1.0.tgz
环境变量配置
KAFKA_HOME/bin:$KAFKA_HOME/sbin
各节点参数配置/.../config/server.properties
broker.id=1 #各节点与zookeeper myid 一致
zookeeper.connect=hadoopM:2181,hadoopS1:2181,hadoopS2:2181
log.dirs=/.../logs/kafka/ #手动创建log目录
#listeners 申明此kafka服务器需要监听的端口号,如果是在本机上跑虚拟机运行可以不用配置本项,默认会使用localhost的地址
#如果是在远程服务器上运行则必须配置,例如:
listeners=PLAINTEXT:// 192.168.180.128:9092 #并确保服务器的9092端口能够访问
#如果想外部电脑上的程序也能访问此kafka,就必须指定ip地址,不然java中会报key为null的错误
#listeners每个节点加上本机ip
#末尾加上
delete.topic.enable=true #开启删除topic的功能·
host.name=xxx
配置/.../config/producer.properties、consumer.properties
Bootstrap.servers=hadoopM:2181,hadoopS1:2181,hadoopS2:2181
启动
每个节点都要启动
/.../bin/kafka-server-start.sh -daemon /config/server.properties
-daemon 不占用终端界面
使用
启动后,在任意节点创建topic
./kafka-topics.sh --create --zookeeper hadoopM:2181 --replication-factor 2 --partitions 1 --topic test
在集群任意节点查看已创建的topic
image.png
查看topic
./bin/kafka-topics.sh --list --zookeeper localhost:2181
查看topic细节
./bin/kafka-topics.sh --zookeeper hadoopM:2181 --describe --topic test
删除topic
./bin/kafka-topics --delete --zookeeper xxxx:2181 --topic topicName
命令行生产者
./bin/kafka-console-producer.sh --broker-list hadoopS1:9092 --topic **
命令行消费者
./bin/kafka-consule-consumer.sh --bootstrap-server hadoopS1:9092 --topic ** --from-beginning
问题:
./bin/kafka-server-stop.sh 无法关闭kafka
须将 kafka-server-stop.sh 中的
PIDS=$(ps ax | grep -i 'kafka\.Kafka' | grep java | grep -v grep | awk '{print $1}')
修改为
PIDS=$(jps -lm | grep -i 'kafka.Kafka' | awk '{print $1}')
网友评论