zoukankan      html  css  js  c++  java
  • Kafka和的安装与配置

    本文主要介绍Kafka的安装与配置:

    集群规划

    datanode1datanode2datanode3
    zk zk zk
    kafka kafka kafka

    kafka jar包下载地址

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

    kafka集群安装部署

    解压安装包

    [hadoop@datanode1 software]$ tar -zxvf kafka_2.11-0.8.2.2.tgz -C /opt/module/
    
    1. 修改解压后的名称
    [hadoop@datanode1 module]$ mv kafka_2.11-0.8.2.2/ kafka
    

     /opt/module/kafka目录下创建logs文件夹

    [hadoop@datanode1 kafka]$ mkdir logs/
    

     修改配置文件

    [hadoop@datanode1 kafka]$ cd config/
    [hadoop@datanode1 config]$ vim 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文件保留的最长时间,超时将被删除 7天
    log.retention.hours=168
    #配置连接Zookeeper集群地址
    zookeeper.connect=datanode1:2181,datanode2:2181,datanode2:2181
    

     5.配置环境变量

    [hadoop@datanode1 config]$ sudo vim /etc/profile
    #KAFKA_HOME
    export KAFKA_HOME=/opt/module/kafka
    export PATH=$PATH:$KAFKA_HOME/bin
    [hadoop@datanode1 config]$ source /etc/profile
    

     6.分发安装包

    [hadoop@datanode1 module]$ xsync kafka
    ##分发完毕后要在其他节点上配置/opt/module/kafka/config/server.properties broker.id  值  笔者在这里也是 坑了半天发现分发之后 忘记了改broker.id 值
    

     7.启动集群

    [hadoop@datanode1]$ bin/kafka-server-start.sh config/server.properties &
    [hadoop@datanode2]$ bin/kafka-server-start.sh config/server.properties &
    [hadoop@datanode3]$ bin/kafka-server-start.sh config/server.properties &
    

    Kafaka Manager

    为了简化开发者和服务工程师维护Kafka集群的工作,yahoo构建了一个叫做Kafka管理器的基于Web工具,叫做 Kafka Manager。这个管理工具可以很容易地发现分布在集群中的哪些topic分布不均匀,或者是分区在整个集群分布不均匀的的情况。它支持管理多个集群、选择副本、副本重新分配以及创建Topic。同时,这个管理工具也是一个非常好的可以快速浏览这个集群的工具,有如下功能:

    1.管理多个kafka集群
    2.便捷的检查kafka集群状态(topics,brokers,备份分布情况,分区分布情况)
    3.选择你要运行的副本
    4.基于当前分区状况进行
    5.可以选择topic配置并创建topic(0.8.1.1和0.8.2的配置不同)
    6.删除topic(只支持0.8.2以上的版本并且要在broker配置中设置delete.topic.enable=true)
    7.Topic list会指明哪些topic被删除(在0.8.2以上版本适用)
    8.为已存在的topic增加分区
    9.为已存在的topic更新配置
    10.在多个topic上批量重分区
    11.在多个topic上批量重分区(可选partition broker位置)

    这里提供编译好了的包,下载后可以直接使用,可以不用去sbt编译。
    链接:http://pan.baidu.com/s/1bQ3lkM 密码:c251

    将下载完之后的上传到Linux上解压

    [hadoop@datanode1 software]$ unzip kafka-manager-1.3.0.7.zip
    [hadoop@datanode1 software]$ mv kafka-manager-1.3.0.7 kafka-manager
    

     修改application.conf中zk配置

    http.port=9001 (默认9000)  #会与hadoop端口发生冲突
    kafka-manager.zkhosts="192.168.1.101:2181,192.168.1.102:2181,192.168.1.103:2181" #写ip地址不写主机名
    

     用kafkamanage是在jdk8基础上的,所以先安装jdk8,只需下载解压即可。

    #想要看到读取,写入速度需要开启JMX,修改kafka-server-start.sh 添加一行即可:添加JMX端口8999
    if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then 
    export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G" 
    export JMX_PORT="8999" 
    fi
    ##如果初始化内存不够 KAFKA_HEAP_OPTS="-Xmx1G -Xms1G" 可以设置小一些 JVM系列涉及到到过,之所以设置相同为了防止内存抖动
    

     想要看到读取,写入速度需要开启JMX,修改kafka-server-start.sh 添加一行即可:添加JMX端口8999

    if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
    export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"  ## 和你自己的设置内存带下保持相同
    export JMX_PORT="8999" 
    fi
    ##"每个kafka broker都需要修改,修改后进行重启kafka"
    

     启动kafka manager

    [hadoop@datanode1 module]$ cd kafka
    [hadoop@datanode1 module]$ bin/kafka-manager -java-home /opt/module/jdk1.8.0_162/
    在后台运行 
    [hadoop@datanode1 bin]$ nohup ./kafka-manager  -java-home /opt/module/jdk1.8.0_162/  -Dconfig.file=../conf/application.conf >/dev/null 2>&1 &
    

    在localhost:9001查看web页面

    创建cluster: 点击顶部Cluster、Add Cluster

    配置cluster

    ​ 名字;集群zkhost格式:host1:2181,host2:2181,host3:2181
    ​ kafka版本,勾选上JMX和下面的勾选框,可显示更多指标

    创建完毕后,可查看

    topics相关:

  • 相关阅读:
    ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车按键启动和蜂鸣器报警
    ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车指定花式动作
    ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车指定花式动作
    ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车指定花式动作
    ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车前后左右综合实验
    ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车前后左右综合实验
    ZYAR20A 亚克力2驱 蓝牙 298寻迹避障机器人 —— 小车前后左右综合实验
    asp中设置session过期时间方法总结
    asp中设置session过期时间方法总结
    ASP.NET关于Session_End触发与否的问题
  • 原文地址:https://www.cnblogs.com/fmgao-technology/p/10418066.html
Copyright © 2011-2022 走看看