Linux下安装部署Kafka集群

一,安装3台虚拟Linux机

可参照 - https://blog.csdn.net/Ginny_2017/article/details/92799904

二,安装Kafka之前,需要安装Zookeeper, 也可以使用Kafka自带的ZK

独立安装ZK, 可参考:https://blog.csdn.net/Ginny_2017/article/details/92848982

第1步:下载代码

下载 2.1.0版本并解压缩它。

1

2

> tar -xzf kafka_2.11-2.1.0.tgz

> cd kafka_2.11-2.1.0

第2步:启动服务器

Kafka使用ZooKeeper,因此如果您还没有ZooKeeper服务器,则需要先启动它。您可以使用与kafka一起打包的便捷脚本来获得快速且脏的单节点ZooKeeper实例。

1

2

3

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

[2019-06-19 18:50:45] INFO Reading configuration from: config/zookeeper.properties (org.apache.zookeeper.server.quorum.QuorumPeerConfig)

...

现在启动Kafka服务器:

1

2

3

4

5

[root@localhost kafka_2.12-2.2.0]# bin/kafka-server-start.sh config/server.properties
[2019-06-19 19:21:27,341] INFO Registered kafka:type=kafka.Log4jController MBean (kafka.utils.Log4jControllerRegistration$)
[2019-06-19 19:21:28,611] INFO starting (kafka.server.KafkaServer)
[2019-06-19 19:21:28,612] INFO Connecting to zookeeper on 192.168.32.129:2181 (kafka.server.KafkaServer

...

第3步:创建主题

让我们创建一个名为“kafka1”的主题,它只包含一个分区,只有一个副本:

1

2

3

[root@localhost bin]./kafka-topics.sh --create --zookeeper 192.168.32.129:2181 --replication-factor 1 --partitions 2 --topic kafka1
Created topic kafka1.

如果我们运行list topic命令,我们现在可以看到该主题:

1

2

[root@localhost bin]# ./kafka-topics.sh --list --zookeeper 192.168.32.129:2181
kafka1

第4步:发送一些消息

Kafka附带一个命令行客户端,它将从文件或标准输入中获取输入,并将其作为消息发送到Kafka集群。默认情况下,每行将作为单独的消息发送。

运行生产者,然后在控制台中键入一些消息以发送到服务器。

> ./kafka-console-producer.sh --broker-list localhost:9092 --topic kafka1

第5步:启动消费者

Kafka还有一个命令行使用者,它会将消息转储到标准输出。

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

 

步骤6:设置多代理群集

对于Kafka来说,单个代理只是一个大小为1的集群,因此除了启动一些代理实例之外没有太多变化。我们j将集群扩展到三个节点,在不同的机器上,也可以在本机上。

修改编辑其他机器上的config文件并设置以下属性:

1

2

3

4

6

7

8

9

192.168.32.130: 

config/server.properties:

    broker.id=1

    listeners=PLAINTEXT://192.168.32.130:9093

    log.dirs=//home/logs/kafka-logs

 

192.168.32.131: 

config/server.properties:

    broker.id=2

    listeners=PLAINTEXT://192.168.32.131:9094

    log.dirs=/home/logs/kafka-logs

 

192.168.32.128: 

config/server.properties:

     broker.id=0

     listeners=PLAINTEXT://192.168.32.128:9092

broker.id属性是群集中每个节点的唯一且永久的名称。我们必须覆盖端口和日志目录,因为我们在同一台机器上运行这些,并且我们希望让所有代理尝试在同一端口上注册或覆盖彼此的数据。

步骤7:查看集群状态

1. 保证3台虚拟机上的kafka虚拟机都已启动

2. 在安装zookeeper的机器上查看节点

    <1> cd /usr/local/zookeeper/bin

     <2> ./zkCli.sh -server 127.0.0.1:2181

     <3> 查看所有的节点:ls /

      <4> 查看当前节点中的所有brokers: ls /brokers/ids

      <5> 查看当前的leader状态: get /controller 

  集群搭建就成功了, 接下来就可以连接进行简单的代码测试了,稍后有更新。

参照: http://kafka.apache.org/21/documentation.html#brokerconfigs

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值