kafka_2.12-2.2.0 集群部署

文章目录

  • zk 搭建
  • kafka下载
  • 配置
  • 启动服务
  • 测试
    • 创建一个topic “my-test-topic”
    • 测试消息的发送与接收

zk 搭建

zk 集群需要优先搭建起来,这里使用 Hadoop 2.8.5 完全分布式HA高可用安装(一)–环境准备中搭建的ZK集群。

kafka下载

到kafka官网 下载最新的kafka_2.12-2.2.0.tgz

这里我们部署3台kafka,部署在node1,node2,node3这三台机器上。

配置

kafka_2.12-2.2.0.tgz上传到node1的/data/program/目录下,tar -xzvf kafka_2.12-2.2.0.tgz解压。进入/data/program/kafka_2.12-2.2.0/config,修改server.properties

由于我这里需要紧急配置使用kafka,这里只修改几个必要的选项。
broker.id 改为1。这个值是集群中唯一的一个整数,每台机器各不相同,这里node1设置为1, 其他机器后续再改。

# The id of the broker. This must be set to a unique integer for each broker.
broker.id=1

修改日志的路径。注意这里kafkaLogs需要手动创建!

log.dirs=/data/program/kafka_2.12-2.2.0/kafkaLogs

修改zk的配置

zookeeper.connect=node1:2181,node2:2181,node3:2181

其他的全部默认。

将node1的kafka_2.12-2.2.0传到node2和node3上,记得修改这两台机器server.properties中broker.id的值,node2设置为2,node3设置为3.

scp -r kafka_2.12-2.2.0 node3:/data/program/

启动服务

在3台机器上执行

./kafka-server-start.sh ../config/server.properties  &

或者

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

服务启动成功,jps可以看到Kafka服务。

测试

创建一个topic “my-test-topic”

[root@node1 bin]# ./kafka-topics.sh --create --zookeeper node1:2181 --replication-factor 2 --partitions 1 --topic my-test-topic
Created topic my-test-topic.

查看刚创建的topic

[root@node2 bin]# ./kafka-topics.sh --list --zookeeper node2:2181
my-test-topic

测试消息的发送与接收

node2和node3机器,执行./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic my-test-topic --from-beginning命令,启动消费者。有消息收到时会输出消息。

node1上发送几条消息:

[root@node1 bin]# ./kafka-console-producer.sh --broker-list node1:9092 --topic my-test-topic 
>hi
>lisi
>zhangsan
>

可以看到node2和node3上收到消息:

[root@node3 bin]# ./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic my-test-topic --from-beginning
hi
lisi
zhangsan

你可能感兴趣的:(kafka)