安装jdk略,zookeeper略

创建消息持久化目录

/mnt/hadoop/kafka/kafkaLogs


下载kafka

wget http://www-eu.apache.org/dist/kafka/0.10.2.1/kafka_2.11-0.10.2.1.tgz

tar –zxvf kafka_2.11-0.10.2.1.tgz –C /mnt/Hadoop


修改配置

config/

vi server.properties

broker.id=0 一个节点一个号,顺序排列

delete.topic.enable=true  设置true,否则只是标记删除


auto.create.topics.enable=false  关闭自动创建topic

listeners=PLAINTEXT://0.0.0.0:9092


advertised.listeners=PLAINTEXT://ip:9092   监听地址,kafka-0.9以后,舍弃advertised.host.name

log.dirs=/mnt/hadoop/kafka/kafkaLogs  消息持久化目录

zookeeper.connect=ip:2181  调zk集群


scp –r /mnt/hadoop/kafka  root@ip:/mnt/ hadoop/

在其他节点上修改server.properties

broker.id=1   数字依次排序

listeners=PLAINTEXT://0.0.0.0:9093


advertised.listeners=PLAINTEXT://ip:9093

开启kafka  进程名为kafka,在每个节点下运行


nohup bin/kafka-server-start.sh  -daemon config/server.properties &


停止kafka

bin/kafka-server-stop.sh


kafka常用操作命令:

查看当前服务器中的所有topic


bin/kafka-topics.sh --list --zookeeper  bigdata1:2181


创建topic

./kafka-topics.sh --create --zookeeper bigdata1:2181 --replication-factor 1 --partitions 3 --topic first



删除topic


sh bin/kafka-topics.sh --delete --zookeeper bigdata1:2181 --topic test

需要server.properties中设置delete.topic.enable=true否则只是标记删除或者直接重启。



通过shell命令发送消息


kafka-console-producer.sh --broker-list bigdata1:9092 --topic itheima

通过shell消费消息



sh bin/kafka-console-consumer.sh --zookeeper bigdata1:2181 --from-beginning --topic test1


查看消费位置

sh kafka-run-class.sh kafka.tools.ConsumerOffsetChecker --zookeeper bigdata1:2181 --group testGroup



查看某个Topic的详情

sh kafka-topics.sh --topic test --describe --zookeeper bigdata1:2181


单节点下的多个broker:

创建消息持久化目录

kafkaLogs-1

kafkaLogs-2


在config下复制

cp server.properties server-1.properties

cp server.properties server-2.properties


server-1.properties:

listeners=PLAINTEXT://0.0.0.0:9093

advertised.listeners=PLAINTEXT://ip:9093

broker.id=0

log.dirs=/mnt/hadoop/kafka/kafkaLogs-1


server-2.properties:

listeners=PLAINTEXT://0.0.0.0:9094

advertised.listeners=PLAINTEXT://ip:9094

broker.id=1

log.dirs=/mnt/hadoop/kafka/kafkaLogs-2



JMX_PORT=9997  /mnt/hadoop/kafka/bin/kafka-server-start.sh  -daemon /mnt/hadoop/kafka/config/server-1.properties &

JMX_PORT=9998  /mnt/hadoop/kafka/bin/kafka-server-start.sh  -daemon /mnt/hadoop/kafka/config/server-2.properties &