kafka集群部署

虽然kafka集群部署的文章网络的到处都是,但是还是想把自己亲自操作的过程记录一下,同时也可以记录一下遇到的问题,避免以后部署的时候再遇到。

一、安装

1、下载,地址:

https://www.apache.org/dyn/closer.cgi?path=/kafka/2.3.0/kafka_2.12-2.3.0.tgz

2、解压

1 tar xzvf kafka_2.12.3.0.tgz
2 cd kafka_2.12.3.0

二、启动服务

kafka依赖zookeeper,如果本身没有已经启动的zookeeper集群的话,kafka的安装包中已经内置了一个脚本来启动一个单节点的zookeeper实例,我的机器没有zookeeper,所以需要先启动一个zookeeper实例,启动命令:

 bin/zookeeper-server-start.sh -daemon config/zookeeper.properties 

然后启动kafka,启动命令:

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

执行过命令后发现启动失败了,看日志发现没有Java命令,才想起来自己的电脑没有安装Java,于是安装下Java,centos的系统,安装命令:

 yum install java-1.8.0-openjdk 

三、验证服务

执行常见命令验证服务启动是否正常。

1、创建topic

 bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 1 --partitions 1 --topic test 

2、查看topic

 bin/kafka-topics.sh --list --bootstrap-server localhost:9092 

3、生产消息

 bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test 

4、消费消息

 bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning 

四、部署集群

上一步中配置的一个单节点的kafka,这在开发测试阶段当然没有问题,但是在正式环境中,还是应该部署集群模式来保证整个服务的高可用。

拷贝server.propertise生成两个新的配置文件

1 cp config/server.properties config/server-1.properties
2 cp config/server.properties config/server-2.properties

并修改其中的如下几行:

1 config/server-1.properties:
2     broker.id=1
3     listeners=PLAINTEXT://:9093
4     log.dirs=/tmp/kafka-logs-1
5  
6 config/server-2.properties:
7     broker.id=2
8     listeners=PLAINTEXT://:9094
9     log.dirs=/tmp/kafka-logs-2

启动server1和server2:

1 bin/kafka-server-start.sh config/server-1.properties &
2 bin/kafka-server-start.sh config/server-2.properties &

测试集群,这里我们再创建一个副本个数为3的topic:

 bin/kafka-topics.sh --create --bootstrap-server localhost:9092 --replication-factor 3 --partitions 1 --topic my-replicated-topic 

查看topic的信息:

 bin/kafka-topics.sh --describe --bootstrap-server localhost:9092 --topic my-replicated-topic 

 

posted @ 2019-11-10 00:21  冷冰若水  阅读(322)  评论(0编辑  收藏  举报