Fork me on GitHub

CentOS 7部署Kafka和Kafka集群

CentOS 7部署Kafka和Kafka集群

注意事项

需要启动多个shell脚本交互客户端进行验证,运行中的客户端不要停止。

准备工作:##

安装java并设置java环境变量,在`/etc/profile`中加入

export JAVA_HOME=/usr/java/jdk1.8.0_65
export PATH=$PATH:$JAVA_HOME/bin

安装kafka

  • 下载:wget http://mirrors.cnnic.cn/apache/kafka/0.10.0.1/kafka_2.10-0.10.0.1.tgz

  • 解压:tar -zxvf kafka_2.10-0.10.0.1.tgz

  • 移动到指定目录:mv kafka_2.10-0.10.0.1 /usr/local/kafka

功能验证

  • 启动zookeeper

/usr/local/kafka/bin/zookeeper-server-start.sh -daemon /usr/local/kafka/config/zookeeper.properties

  • 启动kafka服务

/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties

  • 创建topic

/usr/local/kafka/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

  • 产生消息

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

输入以下内容:

Hello world!
Hello Kafka!
  • 消费消息

/usr/local/kafka/bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning

如果能正常接收消息,则说明kafka配置成功

集群配置

单机多broker 集群配置

利用单节点部署多个broker。 不同的broker 设置不同的 id,监听端口及日志目录。 例如:

cp /usr/local/kafka/config/server.properties /usr/local/kafka/config/server-1.properties

编辑配置:

config/server-1.properties:
    broker.id=1
    port=9093
    log.dir=/tmp/kafka-logs-1

启动Kafka服务:

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

启动多个服务,按上文类似方式产生和消费消息。

多机多broker 集群配置

分别在多个节点按上述方式安装Kafka,配置启动多个Zookeeper 实例。 例如: 在10.4.253.22,10.4.253.23,10.4.253.24三台机器部署,Zookeeper配置如下:

initLimit=5
syncLimit=2
server.1=10.4.253.22:2888:3888
server.2=10.4.253.23:2888:3888
server.3=10.4.253.24:2888:3888

分别配置多个机器上的Kafka服务 设置不同的broke id,zookeeper.connect设置如下:

zookeeper.connect=10.4.253.22:2181,10.4.253.23:2181,10.4.253.24:2181

启动Zookeeper与Kafka服务,按上文方式产生和消费消息,验证集群功能。

参考文档:

posted @   秋楓  阅读(6590)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
点击右上角即可分享
微信分享提示