Kafka和的安装与配置

时间:2023-02-27 15:59:20

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

集群规划

datanode1 datanode2 datanode3
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相关:

Kafka和的安装与配置的更多相关文章

  1. KafKa集群安装、配置

    一.事前准备 1.kafka官网:http://kafka.apache.org/downloads. 2.选择使用版本下载. 3.kafka集群环境准备:(linux) 192.168.145.12 ...

  2. kafka集群安装与配置

    一.集群安装 1. Kafka下载: 可以从kafka官方网站(http://kafka.apache.org)上找到下载地址,再wgetwget http://mirrors.cnnic.cn/ap ...

  3. kafka学习2:kafka集群安装与配置

    在前一篇:kafka学习1:kafka安装 中,我们安装了单机版的Kafka,而在实际应用中,不可能是单机版的应用,必定是以集群的方式出现.本篇介绍Kafka集群的安装过程: 一.准备工作 1.开通Z ...

  4. kafka集群安装,配置

    1.安装+配置(集群) 192.168.0.10.192.168.0.11.192.168.0.12(每台服务器kafka+zookeeper) # kafka依赖java环境,需要提前安装好jdk. ...

  5. Apache Kafka 分布式消息队列中间件安装与配置 转载

    bin/zkServer.sh start /home/guym/down/kafka_2.8.0-0.8.0/config/zookeeper.properties& bin/kafka-s ...

  6. 大数据高可用集群环境安装与配置(10)——安装Kafka高可用集群

    1. 获取安装包下载链接 访问https://kafka.apache.org/downloads 找到kafka对应版本 需要与服务器安装的scala版本一致(运行spark-shell可以看到当前 ...

  7. Kafka SSL安装与配置

    1.概述 最近有同学咨询说,Kafka的SSL安全认证如何安装与使用?今天笔者将通过以下几个方面来介绍Kafka的SSL: Kafka 权限介绍 Kafka SSL的安装与使用 Kafka Eagle ...

  8. (Linux环境Kafka集群安装配置及常用命令

    Linux环境Kafka集群安装配置及常用命令 Kafka 消息队列内部实现原理 Kafka架构 一.下载Kafka安装包 二.Kafka安装包的解压 三.设置环境变量 四.配置kafka文件 4.1 ...

  9. Flume的安装与配置

    Flume的安装与配置 一.       资源下载 资源地址:http://flume.apache.org/download.html 程序地址:http://apache.fayea.com/fl ...

随机推荐

  1. T-SQL检查停止的复制作业代理,并启动

        有时候搭建的复制在作业比较多的时候,会因为某些情况导致代理停止或出错,如果分发代理时间停止稍微过长可能导致复制延期,从而需要从新初始化复制,带来问题.因此我写了一个脚本定期检查处于停止状态的分 ...

  2. 【总结】C# Access 数据库 增删查改 的简单步骤

        引用集: using System.Data.OleDb; static string exePath = System.Environment.CurrentDirectory;//本程序所 ...

  3. SQL SERVER 2012链接到SQL SERVER 2000的问题解决案例

    前几天在在桦仔的SQLSERVER走起微信公众帐号看到一篇文章MS SQL Server2014链接MS SQL Server 2000,当时手机上囫囵吞枣看了个大概,知道是由于SQL SERVER ...

  4. java.lang.OutOfMemoryError: bitmap size exceeds VM budget解决方法

    1 BitmapFactory.decodeFile(imageFile); 用BitmapFactory解码一张图片时,有时会遇到该错误.这往往是由于图片过大造成的.要想正常使用,则需要分配更少的内 ...

  5. android 底层开发入门(一)

    第一个Linux驱动程序:统计单词个数 一.首先了解一下: 打印机驱动写入数据:对于打印机驱动来说,需要接收这些被写入的数据,并将它们通过PC的并口.USB等端口发送给打印机.要实现这一过程就需要Li ...

  6. Android UI组件学习

    android.view.View类是全部UI组件的父类. 如果一些属性的内容本类找不到的时候一定要到父类之中进行查找. 所谓的学习组件的过程就是一个文档的查找过程. ※ Android之中所有的组件 ...

  7. ServiceStack.Redis常用操作 - 事务、并发锁_转

    一.事务 使用IRedisClient执行事务示例: using (IRedisClient RClient = prcm.GetClient()) { RClient.Add("key&q ...

  8. php面试常用算法

    这些都是真实的IT公司招聘PHP程序员的面试题,这些都是简单的基本算法.包括:冒泡算法.快速排序算法.二分查找算法.顺序算法. 冒泡排序,对象可以是一个数组 01 function bubble_so ...

  9. Java 多维数组 按某列 排序

        public MetaCell[][] getByColumn(final int columnIndex, int decisionIndex) {//[注意]final咯          ...

  10. 使用iOS8 WKWebView的浏览器模块,脉冲动画层-b

    KINWebBrowser是一个可嵌入app的浏览器模块. 它使用iOS 8的 WKWebView API编写,同时在iOS 7上使用UIWebView来兼容. 测试环境: Xcode 6.0 iOS ...