ary.风吹我已散 2025-03-24 22:08 采纳率: 0%
浏览 6

kafka搭建,大数据

大家好,如今在使用虚拟机搭建搭建环境,到了kafka这一步。
给大家看一下我们的教程里面的部分

3.6 安装Kafka
3.6.1 安装
// cluster1 上
kafka_2.10-0.8.2.1 解压到/usr/local
//添加环境变量

export KAFKA_HOME=/usr/local/kafka_2.10-0.8.2.1 
export PATH=$KAFKA_HOME/bin:$PATH

// 修改配置文件

vi /usr/local/kafka_2.10-0.8.2.1/config/server.properties

// 修改下面3项
// 第一项:这个值要唯一,不同的机器不能相同,cluster1就写1,cluster2就写2,cluster3就写3

broker.id=1 

// 第二项:修改日志路径

log.dirs=/home/hadoop_files/hadoop_logs/kafka 

// 第三项:此处要写zookeeper集群的ip+端口号,逗号隔开

zookeeper.connect=cluster1:2181,cluster2:2181,cluster3:2181 

// 第四项:此处要写对应机器的ip地址!

advertised.host.name=192.168.56.121 

//修改完环境变量,更新配置文件

source /etc/profile 

// 保存退出后创建logs文件夹

 mkdir -p /home/hadoop_files/hadoop_logs/kafka 

// 修改权限

chown -R hadoop:hadoop /home/hadoop_files 
 chown -R hadoop:hadoop /usr/local/kafka_2.10-0.8.2.1 

// 复制文件夹

scp -r /usr/local/kafka_2.10-0.8.2.1 cluster2:/usr/local/ 
 scp -r /usr/local/kafka_2.10-0.8.2.1 cluster3:/usr/local/ 

// cluster2 上

 vi /usr/local/kafka_2.10-0.8.2.1/config/server.properties 
broker.id=2 

// cluster3 上

 vi /usr/local/kafka_2.10-0.8.2.1/config/server.properties 
broker.id=3 

// 使用 hadoop 用户启动kafka集群
先启动zookeeper集群,然后在kafka集群中的每个节点使用

$ kafka-server-start.sh /usr/local/kafka_2.10-0.8.2.1/config/server.properties & 

启动完成后按回车即可
_我在输入jps之后,三个虚拟机都能很正常的显示QuorumPeerMain这一个进程,看看status也是两个follower和一个leader,zookeeper应该是正常启动了。前面各个步骤的环境变量也是检查了很多次,没有问题。但是就是输入kafka-server-start.sh /usr/local/kafka_2.10-0.8.2.1/config/server.properties & 的时候,三个虚拟机都显示shutting down。_

img

__**看到一个类似的教程分享,也是出现了shutting down,ta的解决办法是把连接zookeeper的超时时间参数(zookeeper.connection.timeout.ms)的值从18000ms修改为60000ms,即60秒。重新启动Kafka,进程启动成功。
我的zoo.cfg文件里有类似的东西:
客户端心跳时间(毫秒)

tickTime=2000 

允许心跳间隔的最大时间

initLimit=10 

同步时限

syncLimit=5 

我把这三个都修改成了60(第一个60000ms,后两个60),但是问题还是没有解决。

  • 写回答

2条回答 默认 最新

  • 紫雾凌寒 新星创作者: 人工智能技术领域 2025-03-24 22:10
    关注

    让 “紫雾凌寒” 来帮你回答,本回答结合 DeepSeek

    如果还有问题,请评论或点击头像私信,如果有帮助到您, 请关注、采纳、点赞

    1. 关键点分析
      - 要在虚拟机环境下完成Kafka的搭建。
      - 教程中提到要将kafka_2.10 - 0.8.2.1解压到cluster1
    2. 解决方案
      - 下载Kafka安装包
      • 首先需要从Kafka官方网站(https://kafka.apache.org/downloads)下载合适版本的Kafka安装包,比如教程中提到的kafka_2.10 - 0.8.2.1版本。下载完成后,确保安装包在虚拟机中有可访问的路径,例如可以放在某个共享目录下或者虚拟机的某个指定目录中。
      • 解压到指定目录
      • 假设你已经在cluster1节点的某个目录下,比如/opt目录下,要解压kafka_2.10 - 0.8.2.1
      • 在终端中进入到包含安装包的目录,然后执行解压命令:
        bash tar -xzf kafka_2.10 - 0.8.2.1.tgz -C /opt
      • 解压完成后,/opt目录下会出现kafka_2.10 - 0.8.2.1文件夹,这就是Kafka的安装目录。
      • 配置Kafka
      • 修改配置文件
      • 进入Kafka安装目录下的config文件夹,例如/opt/kafka_2.10 - 0.8.2.1/config
      • 编辑server.properties文件。
      • 常见需要修改的配置项:
        • broker.id:每个Kafka broker的唯一标识符,例如设置为0
        • listeners:指定Kafka对外暴露的监听地址和端口,例如PLAINTEXT://your_host_ip:9092,这里your_host_ip需要替换为虚拟机的实际IP地址。
        • log.dirs:指定Kafka存储日志的目录,例如/var/lib/kafka-logs,需要确保该目录存在且有相应权限。
      • 示例配置修改(简单示例)
        bash vi /opt/kafka_2.10 - 0.8.2.1/config/server.properties # 修改 broker.id broker.id=0 # 修改 listeners listeners=PLAINTEXT://192.168.1.100:9092 # 修改 log.dirs log.dirs=/var/lib/kafka-logs
      • 启动Kafka
      • 进入Kafka的bin目录,例如/opt/kafka_2.10 - 0.8.2.1/bin
      • 启动Zookeeper(因为Kafka依赖Zookeeper):
        bash zookeeper-server-start.sh ../config/zookeeper.properties &
      • 启动Kafka broker:
        bash kafka-server-start.sh ../config/server.properties &
    3. 不同方案优缺点
      - 方案一:使用官方安装包和命令行解压配置
      • 优点
      • 简单直接,遵循官方文档流程,容易理解和掌握。
      • 可以根据具体需求灵活调整配置参数。
      • 缺点
      • 对于不熟悉命令行操作的人来说,可能会有一定难度。
      • 配置过程中容易出现拼写错误等导致配置失败的情况。
      • 方案二:使用自动化部署工具(如Ansible、Puppet等)
      • 优点
      • 可以实现批量部署,提高部署效率。
      • 能够保证配置的一致性,减少人为错误。
      • 缺点
      • 需要额外学习自动化部署工具的使用,增加了学习成本。
      • 对于复杂的环境和个性化需求,可能需要花费更多时间进行定制化配置。
    4. 总结
      - 搭建Kafka主要步骤包括下载安装包、解压到指定目录、配置相关参数以及启动服务。在搭建过程中,要注意各配置项的正确设置,特别是网络相关和存储相关的配置。同时,要确保依赖的Zookeeper服务正常运行。不同的搭建方案各有优缺点,可以根据实际情况选择合适的方式。

    希望以上解答对您有所帮助。如果您有任何疑问,欢迎在评论区提出。

    评论

报告相同问题?

问题事件

  • 创建了问题 3月24日