本文档适用于搭建学习环境
一.单独安装Zookeeper
#启动Zookeeper
bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
加-daemon参数,可以在后台启动Zookeeper,输出的信息在保存在执行目录的logs/zookeeper.out文件中。
二.安装单节点Kafka
1.安装配置
解压Kafka安装包
kafka的配置文件在config/server.properties
修改server.properties文件,具体如下:
#broker.id是kafka broker的编号,集群里每个broker的id需不同。我是从0开始。
#比如服务器A的broker.id=0 则服务器B的设置成broker.id=1
broker.id=0
#设置端口地址,每个节点服务器端口地址不能相同
port=9092
#listeners是监听地址,需要提供外网服务的话,要设置本地的IP地址
listeners=PLAINTEXT://192.168.85.10:9092
#PLAINTEXT表示协议,配置本机IP地址,对外公布
advertised.listeners=PLAINTEXT://your.host.name:9092
#log.dirs是日志目录,需要设置
log.dirs=/tmp/kafka-logs
#设置Zookeeper集群地址,我是在同一个服务器上搭建了kafka和Zookeeper,所以填的本地地址
zookeeper.connect=192.168.85.10:2181
#num.partitions 为新建Topic的默认Partition数量,partition数量提升,一定程度上可以提升并发性
num.partitions=3
#配置数据存放目录
log.dirs=/data/kafka-data
#数据保留的时间,默认为7天
log.retention.hours=168
2.Kafka命令
//启动kafka
bin/kafka-server-start.sh config/server.properties
//停止kafka
bin/kafka-server-stop.sh
//创建topic,--replication-factor指定副本个数,--partitions指定分区个数
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
//查看所有的topic信息
bin/kafka-topics.sh --list --zookeeper localhost:2181
//启动生产者
bin/kafka-console-producer.sh --broker-list your.host.name:9092 --topic test
//启动消费者
bin/kafka-console-consumer.sh --bootstrap-server your.host.name:9092 --topic test --from-beginning
//删除topic
bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic test
三.安装Kafka集群
1.分别在三台服务器配置
解压Kafka安装包
kafka的配置文件在config/server.properties
修改server.properties文件,具体如下:
#broker.id是kafka broker的编号,集群里每个broker的id需不同。我是从0开始。
#比如服务器A的broker.id=0 则服务器B的设置成broker.id=1
broker.id=0
#设置端口地址,每个节点服务器端口地址不能相同
port=9092
#listeners是监听地址,需要提供外网服务的话,要设置本地的IP地址
listeners=PLAINTEXT://192.168.85.10:9092
#PLAINTEXT表示协议,配置本机IP地址,对外公布
advertised.listeners=PLAINTEXT://192.168.85.10:9092
#log.dirs是日志目录,需要设置
log.dirs=/data/kafka/kafka-logs
#设置Zookeeper集群地址,我是在同一个服务器上搭建了kafka和Zookeeper,所以填的本地地址
zookeeper.connect=192.168.85.12:2181,192.168.85.10:2181,192.168.85.11:2181
#num.partitions 为新建Topic的默认Partition数量,partition数量提升,一定程度上可以提升并发性
num.partitions=3
#配置数据存放目录
log.dirs=/data/kafka-data
#数据保留的时间,默认为7天
log.retention.hours=168
2.命令
//启动kafka
bin/kafka-server-start.sh config/server.properties &
//停止kafka
bin/kafka-server-stop.sh
//创建topic,--replication-factor指定副本个数,--partitions指定分区个数
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
//查看所有的topic信息
bin/kafka-topics.sh --list --zookeeper localhost:2181
//启动生产者
bin/kafka-console-producer.sh --broker-list hadoop-master:9092 --topic test
//启动消费者
bin/kafka-console-consumer.sh --bootstrap-server hadoop-master:9092 --topic test --from-beginning
//删除topic
bin/kafka-topics.sh --delete --zookeeper localhost:2181 --topic test
3.验证集群是否安装成功
#启动zookeeper客户端
#zkCli.sh
#出现[0, 1, 2] 表示集群安装成功
[zk: localhost:2181(CONNECTED) 2] ls /brokers/ids
[0, 1, 2]