zoukankan      html  css  js  c++  java
  • KAFKA基础(二):Kafka 集群部署

    1 环境准备

    1.1 集群规划
    1.2 jar 包下载
    http://kafka.apache.org/downloads.html

    2 Kafka 集群部署

    1)解压安装包
    [atguigu@hadoop102 software]$ tar -zxvf kafka_2.11-0.11.0.0.tgz -C /opt/module/
    2)修改解压后的文件名称
    [atguigu@hadoop102 module]$ mv kafka_2.11-0.11.0.0/ kafka
    3)在/opt/module/kafka 目录下创建 logs 文件夹
    [atguigu@hadoop102 kafka]$ mkdir logs
    4)修改配置文件
    [atguigu@hadoop102 kafka]$ cd config/
    [atguigu@hadoop102 config]$ vi server.properties
    输入以下内容:
    #broker 的全局唯一编号,不能重复
    broker.id=0 
    #处理网络请求的线程数量
    num.network.threads=3
    #用来处理磁盘 IO 的现成数量
    num.io.threads=8
    #your.host.name 改变所在机器的ip
    advertised.listeners=PLAINTEXT://192.168.1.122:9092 #发送套接字的缓冲区大小 socket.send.buffer.bytes=102400 #接收套接字的缓冲区大小 socket.receive.buffer.bytes=102400 #请求套接字的缓冲区大小 socket.request.max.bytes=104857600
    #kafka 运行日志存放的路径 log.dirs
    =/opt/module/kafka/logs #topic 在当前 broker 上的分区个数 num.partitions=1 #用来恢复和清理 data 下数据的线程数量 num.recovery.threads.per.data.dir=1 #segment 文件保留的最长时间,超时将被删除 log.retention.hours=168 #配置连接 Zookeeper 集群地址 zookeeper.connect=hadoop102:2181,hadoop103:2181,hadoop104:2181
    #配置超时时间
    zookeeper.connection.timeout.ms=60000
    5)配置环境变量
    [atguigu@hadoop102 module]$ sudo vi /etc/profile
    #KAFKA_HOME
    export KAFKA_HOME=/opt/module/kafka
    export PATH=$PATH:$KAFKA_HOME/bin
    [atguigu@hadoop102 module]$ source /etc/profile
    6)分发安装包
    [atguigu@hadoop102 module]$ xsync kafka/
    注意:分发之后记得配置其他机器的环境变量
    7)分别在 hadoop103 和 hadoop104 上修改配置文件/opt/module/kafka/config/server.properties
    中的 broker.id=1、broker.id=2
    注:broker.id 不得重复
    8)启动集群
    依次在 hadoop102、hadoop103、hadoop104 节点上启动 kafka
    [atguigu@hadoop102 kafka]$ bin/kafka-server-start.sh -daemon config/server.properties
    [atguigu@hadoop103 kafka]$ bin/kafka-server-start.sh -daemon config/server.properties
    [atguigu@hadoop104 kafka]$ bin/kafka-server-start.sh -daemon config/server.properties
    9)关闭集群
    [atguigu@hadoop102 kafka]$ bin/kafka-server-stop.sh stop
    [atguigu@hadoop103 kafka]$ bin/kafka-server-stop.sh stop
    [atguigu@hadoop104 kafka]$ bin/kafka-server-stop.sh stop

    10kafka群起脚本

     

    #!/bin/bash
    if [ $# -lt 1 ]
    then 
      echo "Input Args Error....."
      exit
    fi
    for i in hadoop102 hadoop103 hadoop104
    do
    
    case $1 in
    start)
      echo "==================START $i KAFKA==================="
      ssh $i /opt/module/kafka_2.11-2.4.1/bin/kafka-server-start.sh -daemon /opt/module/kafka_2.11-2.4.1/config/server.properties
    ;;
    stop)
      echo "==================STOP $i KAFKA==================="
      ssh $i /opt/module/kafka_2.11-2.4.1/bin/kafka-server-stop.sh stop
    ;;
    
    *)
     echo "Input Args Error....."
     exit
    ;;  
    esac

     

    3 Kafka 命令行操作

    1)查看当前服务器中的所有 topic
     
    [atguigu@hadoop102 kafka]$ bin/kafka-topics.sh --zookeeper hadoop102:2181 --list
    2)创建 topic
    [atguigu@hadoop102 kafka]$ bin/kafka-topics.sh --zookeeper hadoop102:2181 --create --replication-factor 3 --partitions 1 --topic first
    选项说明:
    --topic 定义 topic 名
    --replication-factor 定义副本数
    --partitions 定义分区数
    3)删除 topic
    [atguigu@hadoop102 kafka]$ bin/kafka-topics.sh --zookeeper hadoop102:2181 --delete --topic first
    需要 server.properties 中设置 delete.topic.enable=true 否则只是标记删除或者直接重启。
     
    4)发送消息
    [atguigu@hadoop102 kafka]$ bin/kafka-console-producer.sh --broker-list hadoop102:9092 --topic first
    >hello world
    >atguigu atguigu
    5)消费消息
    [atguigu@hadoop103 kafka]$ bin/kafka-console-consumer.sh --topic first --bootstrap-server hadoop102:9092 --from-beginning
    --from-beginning:会把 first 主题中以往所有的数据都读取出来。根据业务场景选择是
    否增加该配置。
    6)查看某个 Topic 的详情
    [atguigu@hadoop102 kafka]$ bin/kafka-topics.sh --zookeeper hadoop102:2181 --describe --topic first

    7修改分区数

    [atguigu@hadoop102 kafka]$ bin/kafka-topics.sh --zookeeper hadoop102:2181 --alter –-
    topic first --partitions 6
     相关错误:

    Kafka linux 采坑 | 启动报错: Timed out waiting for connection while in state: CONNECTING

    https://blog.csdn.net/qq_41595282/article/details/96015811

     
     
     同时注意检查zookeeper是否正确启动
     
    扩展资料
     
     

    本文来自博客园,作者:秋华,转载请注明原文链接:https://www.cnblogs.com/qiu-hua/p/13388219.html

  • 相关阅读:
    C#基础:ref和out的区别
    .NET Petshop详解(五):petshop输出缓存设置
    静态方法和实例化方法的区别
    .Net Petshop详解(一):petshop概览和准备工作
    什么是MVC(三层架构)
    C# 反射入门知识
    C#类与对象
    linux用户权限的管理
    PHP pear安装
    shell神器curl用法笔记
  • 原文地址:https://www.cnblogs.com/qiu-hua/p/13388219.html
Copyright © 2011-2022 走看看