一,安装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
下载 2.1.0版本并解压缩它。
1 2 |
|
Kafka使用ZooKeeper,因此如果您还没有ZooKeeper服务器,则需要先启动它。您可以使用与kafka一起打包的便捷脚本来获得快速且脏的单节点ZooKeeper实例。
1 2 3 |
|
现在启动Kafka服务器:
1 2 3 4 5 |
|
让我们创建一个名为“kafka1
”的主题,它只包含一个分区,只有一个副本:
1 2 3 |
|
如果我们运行list topic命令,我们现在可以看到该主题:
1 2 | [root@localhost bin]# ./kafka-topics.sh --list --zookeeper 192.168.32.129:2181 |
Kafka附带一个命令行客户端,它将从文件或标准输入中获取输入,并将其作为消息发送到Kafka集群。默认情况下,每行将作为单独的消息发送。
运行生产者,然后在控制台中键入一些消息以发送到服务器。
> .
/kafka-console-producer
.sh --broker-list localhost:9092 --topic
kafka1
Kafka还有一个命令行使用者,它会将消息转储到标准输出。
./kafka-console-consumer
.sh --bootstrap-server localhost:9092 --topic kafka1
--from-beginning
对于Kafka来说,单个代理只是一个大小为1的集群,因此除了启动一些代理实例之外没有太多变化。我们j将集群扩展到三个节点,在不同的机器上,也可以在本机上。
修改编辑其他机器上的config文件并设置以下属性:
1 2 3 4 五 6 7 8 9 |
|
该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