ARM服务器部署Kafka集群

安装前必备的条件是:

(1)安装jdk(提供环境);

(2)安装zookeeper(注册kafka信息);

需要这方面信息的可以查看我之前写的文档;

一.下载安装包

Kafka官网下载地址

Apache Kafka

根据自己需要下载相应的版本

目前最新的版本是3.6.1。

二.解压安装包

服务器上传下载好的kafka(kafka_2.12-2.5.0.tgz)

tar -zxvf kafka_2.12-2.5.0.tgz

三.修改配置

三台服务器节点搭建几乎一致,但是需要重点关注【server.properties】的配置细节

修改server.properties配置文件,修改配置文件前养成一个好习惯,先备份再修改;

cp  server.properties server.properties_bac

vim server.properties

主要修改以下四个地方:

#节点id(每台服务器id是唯一标识,会注册到zookeeper)

broker.id=0

#配置本机IP和端口

listeners=PLAINTEXT://ip:9092

#配置kafka日志记录位置

log.dirs=/data1/software/kafka_2.12-2.5.0/kafka-logs

#配置kafka连接zookeeper的地址,如果部署的是zookeeper集群,需要使用逗号分开,根据自己的需要灵活修改。

zookeeper.connect=ip:2181

四.配置broker1,2节点

远程拷贝kafka到其他需要部署的kafka服务器的指定目录,命令如下:

scp -r kafka_2.12-2.5.0 root@ip:/data1/software

拷贝结束后,只需要修改server.properties配置即可,主要修改的地方如下:

#节点id

broker.id=1

#配置本机IP和端口

listeners=PLAINTEXT://ip:9093

#配置kafka日志记录位置

log.dirs=/data1/software/kafka_2.12-2.5.0/kafka-logs

#配置kafka连接zookeeper的地址,如果部署的是zookeeper集群,需要使用逗号分开,根据自己的需要灵活修改。

zookeeper.connect=ip:2181

#节点id

broker.id=2

#配置本机IP和端口

listeners=PLAINTEXT://ip:9093

#配置kafka日志记录位置

log.dirs=/data1/software/kafka_2.12-2.5.0/kafka-logs

#配置kafka连接zookeeper的地址,如果部署的是zookeeper集群,需要使用逗号分开,根据自己的需要灵活修改。

zookeeper.connect=ip:2181

五.启动kafka集群

到kafka启动bin目录下:

cd /data1/software/kafka_2.12-2.5/bin

进行后台启动

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

查看kafka启动进程

三个节点进行同样的操作。

六.检查集群是否整个注册到zookeeper上

登录zookeeper服务器,使用如下命令连接客户端

zkCli.sh

使用如下命令查看kafka的brokers信息

 ls /brokers/ids

  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kubernetes 可以很容易地部署 Kafka 集群。下面是一个大致的步骤: 1. 创建一个 Kafka 镜像并将其上传到 Docker Hub 上。Kafka 可以从 Apache Kafka 官网下载并编译。你可以使用 Dockerfile 将其打包成 Docker 镜像。 2. 在 Kubernetes 上安装 ZooKeeper 集群Kafka 需要 ZooKeeper 来管理其 Brokers。 3. 创建一个 Kafka StatefulSet,它会自动创建多个 Kafka 实例。 4. 在 Kubernetes 上创建一个 Kafka Service,它会将流量路由到 StatefulSet 中的 Kafka 实例上。 下面是一个 YAML 文件示例,用于创建一个 Kafka StatefulSet 和 Service: ```yaml apiVersion: apps/v1 kind: StatefulSet metadata: name: kafka spec: serviceName: kafka replicas: 3 selector: matchLabels: app: kafka template: metadata: labels: app: kafka spec: containers: - name: kafka image: your-kafka-image env: - name: KAFKA_ZOOKEEPER_CONNECT value: "zookeeper:2181" - name: KAFKA_ADVERTISED_LISTENERS value: "PLAINTEXT://$(hostname -f):9092" ports: - containerPort: 9092 volumeClaimTemplates: - metadata: name: data spec: accessModes: [ "ReadWriteOnce" ] resources: requests: storage: 1Gi --- apiVersion: v1 kind: Service metadata: name: kafka spec: type: NodePort selector: app: kafka ports: - name: kafka port: 9092 targetPort: 9092 ``` 这个 YAML 文件会创建一个名为 kafka 的 StatefulSet。它会自动创建 3 个 Kafka 实例,并且使用一个名为 data 的 PVC 来存储数据。它还会创建一个名为 kafka 的 Service,它会将流量路由到 Kafka 实例上,这个 Service 的类型是 NodePort,意味着它会将 Kafka 的端口映射到 Kubernetes 集群中的任何节点上。 你可以使用 `kubectl apply -f kafka.yaml` 命令来应用这个 YAML 文件并创建 Kafka 集群

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值