1. 准备三台机器,系统CentOs6

2. 安装好JDK和zookeeper

参考: zookeeper配置记录

3. 解压安装包到指定目录

tar -zxvf kafka_2.12-2.1.0.tgz -C /javatools

4. 创建一个文件夹,用来存放日志(集群所有机器都要有)

mkdir -p /kafkadata

5. 配置kafka config目录下的server.properties文件

每一个broker在集群中的唯一表示,要求是正数。当该服务器的IP地址发生改变时,broker.id没有变化,则不会影响consumers的消息情况,这里可将三台机器分别配成0,1,2
broker.id=0

监听址址;修改为kafka要监听的地址,每台机器写自己的ip
listeners=PLAINTEXT://192.168.89.134:9092

打广告的地址,若是设置的话,会提供给producers, consumers,其他broker连接,具体如何使用还未深究,三台机器写自己的ip
advertised.listeners=PLAINTEXT://192.168.89.134:9092

kafka数据的存放地址,多个地址的话用逗号分割 /tmp/kafka-logs-1,/tmp/kafka-logs-2
log.dirs=/kafkadata

zookeeper集群的地址,可以是多个,多个之间用逗号分割 hostname1:port1,hostname2:port2,hostname3:port3(三台机器一致)
zookeeper.connect=192.168.89.134:2181,192.168.89.135:2181,192.168.89.136:2181

6. 使用scp命令将文件传到另外两台机器

scp -r /javatools/kafka_2.12-2.1.0 root@slave1: /javatools
scp -r /javatools/kafka_2.12-2.1.0 root@slave2: /javatools

传完后记得修改其他机器配置文件中的broker.id和部分ip地址

7. 先启动zookeeper,在启动kafka

三台机器都启动
/javatools/zookeeper-3.4.12/bin/zkServer.sh start

/javatools/kafka_2.12-2.1.0/bin/kafka-server-start.sh -daemon /javatools/kafka_2.12-2.1.0/config/server.properties
使用jps命令查看所有机器是否启动成功

8. 创建topic和生成者消费者来验证是否搭建成功

在kafka的bin目录下:

在一台机器上创建topic
./kafka-topics.sh --create --zookeeper 192.168.89.134:2181 --replication-factor 2 --partitions 1 --topic test_topics

查看topic
/javatools/kafka_2.12-2.1.0/bin/kafka-topics.sh --list --zookeeper localhost:2181

在另一台机器上创建生产者
./kafka-console-producer.sh -broker-list slave1:9092 -topic test_topics

在第三台机器上创建消费者(新版本不支持--zookeeper命令)
./kafka-console-consumer.sh --bootstrap-server slave2:9092 --topic test_topics --from-beginning

此时,在生产者的命令行中输入消息,消息会出现在消费者的命令行中


9. 一般通过bin目录下的脚步来关闭,无法有效关闭时,可使用kill -9 或关闭zookeeper服务

posted on 2019-01-23 17:25  被杜撰的风  阅读(179)  评论(0编辑  收藏  举报