1、 伪分布式
(1) 下载Kafka安装包
http://kafka.apache.org
(2) 上传Linux并解压
tar -zxvf kafka_2.11-1.0.0.tgz
(3) 修改server.properties文件
1) 配置Kafka存储位置,要配置为非/tmp目录
log.dirs=非/tmp目录
(4) 修改zookeeper.properties文件
1) Kafka内置了一个zookeeper,在伪分布式模式下,可以使用这个内置zk作为集群协调工具,但是这个内置的zookeeper只有一个节点,不能用在生产环境下。如果使用这个内置的zk,需要在zookeeper.properties文件中修改zk存储路径,改为非/tmp目录
dataDir=非/tmp目录
(5) 启动Kafka
1) 启动zookeeper:
bin/zookeeper-server-start.sh config/zookeeper.properties &
2) 启动kafka:
bin/kafka-server-start.sh config/server.properties
2、 完全分布式
(1) 下载Kafka安装包
http://kafka.apache.org
(2) 上传Linux并解压
tar -zxvf kafka_2.11-1.0.0.tgz
(3) 修改server.properties文件
1) 配置当前broker的编号,要求唯一
broker.id=0 #当前server编号
2) 配置当前broker使用的端口
port=9092 #使用的端口
3) 配置Kafka存储位置,要配置为非/tmp目录
log.dirs=非/tmp目录
4) 配置zookeeper集群的地址
zookeeper.connect=hadoop01:2181,hadoop02:2181,hadoop03:2181
(4) 将配置完成的kafka复制到其它broker中,并修正相关配置
scp -r kafka_2.11-1.0.0 hadoopxx:/home/software/
(5) 启动kafka
1) 启动zk集群
zkServer.sh start#在每个zk服务器中都要执行
2) 启动kafka集群
bin/kafka-server-start.sh config/server.properties #在每个broker中都要执行
3、 Kafka的使用
(1) 创建主题
bin/kafka-topics.sh --create --zookeeper hadoop01:2181,hadoop02:2181,hadoop03:2181 --partitions 1 --replication-factor 1 --topic test
(2) 查看所有主题
bin/kafka-topics.sh --list --zookeeper hadoop01:2181
(3) 查看主题信息
bin/kafka-topics.sh --describe --zookeeper hadoop01:2181 --topic test
(4) 启动命令行kafka生产者
bin/kafka-console-producer.sh --broker-list hadoop01:9092 --topic test
(5) 启动命令行kafka消费者
bin/kafka-console-consumer.sh --zookeeper hadoop01:2181 --topic test --from-beginning
(6) 实验:高可靠性验证
bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic
kill -9 xxxx
bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic