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 (新版本)

  • 相关阅读:
    Kubernetes1.91(K8s)安装部署过程(一)--证书安装
    开源仓库Harbor搭建及配置过程
    有关centos7 图形化root用户登录
    linux服务器查看tcp链接shell
    django表格form无法保存评论排查步骤
    Redis 4.x 安装及 发布/订阅实践和数据持久化设置
    django博客项目-设置django为中文语言
    windows 环境下如何使用virtualenv python环境管理工具
    【转载】python中利用smtplib发送邮件的3中方式 普通/ssl/tls
    php安装phpize工具
  • 原文地址:https://www.cnblogs.com/Diyo/p/11257541.html
Copyright © 2011-2022 走看看