zoukankan      html  css  js  c++  java
  • Kafka集群部署

    2Kafka集群部署

    2.1 环境准备

    2.1.1 集群规划

    hadoop01  hadoop02  hadoop03  ------多台分布式集群(这里举例三台)

      zk     zk       zk   ------每台机器上配置好ZooKeeper集群

     kafka     kafka     kafka    ------每台机器上配置好Kafka集群

    2.1.2 jar下载

    http://kafka.apache.org/downloads.html

     2.2 Kafka集群部署

    1解压安装包

    $ tar -zxvf kafka_2.11-0.11.0.0.tgz -C /opt/module/      (以自己下载的安装包以及安装路径为准)

    2修改解压后的文件名称

    $ mv kafka_2.11-0.11.0.0/ kafka

    3)在/opt/module/kafka目录下创建logs文件夹  (对应下文中配置文件中日志存放的路径)

    [ kafka]$ mkdir logs

    4修改配置文件

    [ kafka]$ cd config/

    [ config]$ vi server.properties

    输入以下内容:

    #broker全局唯一编号,不能重复

    broker.id=0

    #删除topic功能使能

    delete.topic.enable=true    (我在新版本中没找到)

    #处理网络请求线程数量

    num.network.threads=3

    #用来处理磁盘IO的现成数量

    num.io.threads=8

    #发送套接字的缓冲区大小

    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=hadoop01:2181,hadoop02:2181,hadoop03:2181

    5)配置环境变量            (根据自己的目录改环境配置)

    $ sudo vi /etc/profile

    #KAFKA_HOME

    export KAFKA_HOME=/opt/module/kafka

    export PATH=$PATH:$KAFKA_HOME/bin

    $ source /etc/profile

    6)分发安装包        (每台机器上做相同配置,我这里是自己配的xsync脚本)

    [ module]$ xsync kafka/

    注意:分发之后记得配置其他机器的环境变量

    7)分别在hadoop02hadoop03上修改配置文件/opt/module/kafka/config/server.propertiesbroker.id=1broker.id=2

    broker.id不得重复

    8启动集群

    依次在hadoop01hadoop02hadoop03节点上启动kafka

    [ kafka]$ bin/kafka-server-start.sh config/server.properties &

    [ kafka]$ bin/kafka-server-start.sh config/server.properties &

    [ kafka]$ bin/kafka-server-start.sh config/server.properties &

    9)关闭集群

    [kafka]$ bin/kafka-server-stop.sh stop

    [kafka]$ bin/kafka-server-stop.sh stop

    [ kafka]$ bin/kafka-server-stop.sh stop

    2.3 Kafka命令行操作

    1)查看当前服务器中的所有topic

    [ kafka]$ bin/kafka-topics.sh --zookeeper hadoop01:2181 --list

    2)创建topic

    [kafka]$ bin/kafka-topics.sh --zookeeper hadoop01:2181

    --create --replication-factor 3 --partitions 1 --topic first

    选项说明:

    --topic 定义topic

    --replication-factor  定义副本数

    --partitions  定义分区数

    3)删除topic

    [kafka]$ bin/kafka-topics.sh --zookeeper hadoop02:2181

    --delete --topic first

    需要server.properties中设置delete.topic.enable=true否则只是标记删除或者直接重启。(老版本)

    4)发送消息

    [ kafka]$ bin/kafka-console-producer.sh

    --broker-list hadoop01:9092 --topic first

    >hello world

    >atguigu  atguigu

    5)消费消息

    [kafka]$ bin/kafka-console-consumer.sh

    --zookeeper hadoop01:2181 --from-beginning --topic first

    --from-beginning会把first主题中以往所有的数据都读取出来。根据业务场景选择是否增加该配置。

    6)查看某个Topic的详情

    [ kafka]$ bin/kafka-topics.sh --zookeeper hadoop01:2181

    --describe --topic first (老版本)

    [kafka]$ bin/kafka-console-consumer.sh --bootstrap-server hadoop01:9092  --from-beginning --topic first (新版本)

  • 相关阅读:
    adb shell top
    数据清洗的方法
    Devices Tree加载流程
    Android驱动之设备树简介
    序列模式挖掘综述
    python 实现kmeans聚类
    numpy中sum(axis=0)和axis=1的计算原理
    win7 VMware下安装centos和Ubuntu共存
    python数据标准化
    python 用PIL Matplotlib处理图像的基本操作
  • 原文地址:https://www.cnblogs.com/Diyo/p/11257541.html
Copyright © 2011-2022 走看看