117.info
人生若只如初见

kafka在centos上如何配置

在CentOS上配置Kafka涉及多个步骤,包括安装必要的软件、配置环境、启动服务以及进行性能优化等。以下是一个详细的指南:

1. 安装Java环境

Kafka需要Java运行环境,因此首先需要安装JDK。

sudo yum install java-1.8.0-openjdk-devel java -version 

2. 下载和解压Kafka

从Apache Kafka官网下载适合的版本,然后解压到指定目录。

wget https://downloads.apache.org/kafka/3.5.2/kafka_2.12-3.5.2.tgz tar -xzvf kafka_2.12-3.5.2.tgz sudo mv kafka_2.12-3.5.2 /opt/kafka 

3. 配置Zookeeper

Kafka依赖于Zookeeper,因此需要先配置和启动Zookeeper。

编辑Zookeeper配置文件 /opt/kafka/config/zoo.cfg

tickTime=2000 dataDir=/tmp/zookeeper clientPort=2181 

启动Zookeeper

/opt/kafka/bin/zookeeper-server-start.sh /opt/kafka/config/zoo.cfg 

4. 配置Kafka

进入Kafka目录并编辑 config/server.properties 文件。

关键配置项

  • broker.id: 每个节点的唯一标识。
  • listeners: 监听协议及地址。
  • log.dirs: Kafka日志存储目录。
  • zookeeper.connect: Zookeeper地址。

示例配置

broker.id=1 listeners=PLAINTEXT://localhost:9092 security.inter.broker.protocol=SASL_PLAINTEXT sasl.enabled.mechanisms=PLAIN sasl.mechanism.inter.broker.protocol=PLAIN log.dirs=/tmp/kafka-logs zookeeper.connect=localhost:2181 

5. 启动Kafka服务

使用以下命令启动Kafka服务:

/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties 

6. 设置开机自启

创建Kafka服务文件 /etc/systemd/system/kafka.service

[Unit] Description=Apache Kafka server After=network.target zookeeper.service [Service] Type=simple User=kafka Group=kafka ExecStart=/opt/kafka/bin/kafka-server-start.sh /opt/kafka/config/server.properties ExecStop=/opt/kafka/bin/kafka-server-stop.sh Restart=on-failure [Install] WantedBy=multi-user.target 

启用并启动服务:

sudo systemctl daemon-reload sudo systemctl enable kafka sudo systemctl start kafka 

7. 防火墙配置

如果需要从外部访问Kafka,需要开放相关端口:

sudo firewall-cmd --zone=public --add-port=9092/tcp --permanent sudo firewall-cmd --reload 

8. 验证配置

使用以下命令创建一个主题并测试:

创建主题

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

发送消息

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

消费消息

/opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning 

9. 监控和日志管理

对于生产环境,建议配置监控和日志管理工具,如Kafka Manager或Prometheus结合Grafana,以监控Kafka集群的健康状况和性能指标。

10. 性能优化

  • TCP网络优化

    sudo sysctl -w net.core.rmem_default=262144 sudo sysctl -w net.core.rmem_max=2097152 sudo sysctl -w net.core.wmem_default=262144 sudo sysctl -w net.core.wmem_max=2097152 
  • 进程级资源限制优化

    sudo vi /etc/security/limits.conf 

    添加或修改以下行:

    * soft nofile 655360 * hard nofile 655360 * soft nproc 8096 * hard nproc 8096 

通过以上步骤,您可以在CentOS上成功安装和配置Kafka,并确保其稳定运行。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fefa6AzsNBQFSDVY.html

推荐文章

  • centos pgadmin日志查看指南

    在CentOS系统中,查看pgAdmin日志可以通过以下几种方法:
    使用pgAdmin图形界面 打开pgAdmin: 确保你已经安装并启动了pgAdmin。 连接到服务器: 在pgAdmin的...

  • CentOS更新升级方法

    在CentOS系统中进行更新升级的步骤如下:
    检查当前系统版本
    首先,打开终端并使用 root 用户或具有 sudo 权限的用户登录。使用命令 cat /etc/redhat-r...

  • centos上appimage如何共享给他人

    要在CentOS上共享AppImage文件,您可以按照以下步骤操作: 下载AppImage文件: 访问AppImage的官方网站或可信的来源,如AppImageHub。
    搜索并选择您想要共享...

  • centos上jellyfin的性能调优技巧

    在CentOS上优化Jellyfin的性能可以从多个方面入手,以下是一些建议:
    调整内存限制 通过修改Jellyfin的systemd服务文件,可以增加或减少分配给Jellyfin的内...

  • 如何提升Linux服务器PHP-FPM稳定性

    提升Linux服务器上PHP-FPM的稳定性是一个多方面的任务,涉及到配置优化、代码优化、使用缓存和监控等。以下是一些具体的措施:
    配置优化 调整进程数量:根据...

  • C++程序在Ubuntu上如何进行异常处理

    在C++中,异常处理是通过使用try、catch和throw关键字来实现的。当程序遇到错误或异常情况时,可以使用这些关键字来捕获和处理异常。
    以下是一个简单的示例...

  • 如何备份CentOS的DHCP配置

    备份CentOS的DHCP配置可以通过以下步骤完成:
    方法一:使用dhcpd.conf文件备份 登录到CentOS服务器:
    使用SSH或其他远程登录工具连接到你的CentOS服务...

  • Debian提取工具推荐及使用指南

    在Debian系统中,提取工具主要用于从软件包中提取文件或安装软件包。以下是一些常用的提取工具及其使用指南:
    推荐工具 dpkg 功能:dpkg是Debian的包管理工...