一、环境准备

  • 操作系统:Cent OS 7

  • Kafka版本:kafka_2.10

  • Kafka官网下载:请点击

  • JDK版本:1.8.0_171

  • zookeeper-3.4.10

二、kafka安装配置

1、下载Kafka并解压

  下载:

curl -L -O http://mirrors.cnnic.cn/apache/kafka/0.9.0.0/kafka_2.11-2.0.1.tgz 

  解压:

tar zxvf kafka_2.11-2.0.1.tgz 

2、Kafka目录介绍

  • /bin 操作kafka的可执行脚本,还包含windows下脚本

  • /config 配置文件所在目录

  • /libs 依赖库目录

  • /logs 日志数据目录,目录kafka把server端日志分为5种类型,分为:server,request,state,log-cleaner,controller

3、配置

  • 配置zookeeper进入kafka安装工程根目录编辑config/server.properties

  • kafka最为重要三个配置依次为:broker.id、log.dir、zookeeper.connect,

  • 其他kafka server端config/server.properties参数说明和解释如下:

    server.properties配置属性说明

4、启动Kafka

  • 启动

进入kafka目录,敲入命令
 bin/kafka-server-start.sh config/server.properties &
  • 检测2181与9092端口

netstat -tunlp|egrep "(2181|9092)"
tcp ::: :::* LISTEN /java
tcp ::: :::* LISTEN /java
说明:

Kafka的进程ID为28094,占用端口为9092

QuorumPeerMain为对应的zookeeper实例,进程ID为19787,在2181端口监听

5、单机连通性测试

启动2个XSHELL客户端,一个用于生产者发送消息,一个用于消费者接受消息。

  • 运行producer,随机敲入几个字符,相当于把这个敲入的字符消息发送给队列。

bin/kafka-console-producer.sh --broker-list 192.168.1.105: --topic test

说明:早版本的Kafka,–broker-list 192.168.1.181:9092需改为–zookeeper 192.168.1.181:2181

  • 运行consumer,可以看到刚才发送的消息列表。

bin/kafka-console-consumer.sh --bootstrap-server 192.168.1.105:  --topic test --from-beginning

说明:早版本的Kafka,--bootstrap-server 192.168.1.181:9092需改为–zookeeper 192.168.1.181:2181

注意:

producer,指定的Socket(192.168.1.181+9092),说明生产者的消息要发往kafka,也即是broker

consumer, 指定的Socket(192.168.1.181+2181),说明消费者的消息来自zookeeper(协调转发)

上面的只是一个单个的broker,下面我们来实验一个多broker的集群。

三、集群搭建

一、copy /kafka_2.11-2.0.1/config/server.properties文件修改以下三个地方(zk地址相同)

broker.id=
listeners=PLAINTEXT://192.168.1.105:9092
zookeeper.connect=192.168.1.105:2181

二、启动zk、启动三个kafka

bin/kafka-server-start.sh ../config/server.properties &

三、集群测试

1、在broke1创建topic

bin/kafka-topics.sh --create --zookeeper 192.168.1.105: --replication-factor  --partitions  --topic test4

2、broke2和broke3主机上利用命令行工具创建一个consumer程序

bin/kafka-console-consumer.sh --bootstrap-server 192.168.1.106:9092  --topic test4 --from-beginning
bin/kafka-console-consumer.sh --bootstrap-server 192.168.1.107:9092  --topic test4 --from-beginning

3、在broke1主机上利用命令行工具创建一个producer程序

bin/kafka-console-producer.sh --broker-list localhost: --topic test4

4、broke1输入11、broke2和broke3同时收到11

四、Kafka常用命令

(1)启动kafka

nohup bin/kafka-server-start.sh config/server.properties > /dev/null 2>&1 &

(2)查看topic

bin/kafka-topics.sh --list --zookeeper localhost:2181

(3)控制台消费

bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic middleware --from-beginning

(4)创建生产者

bin/kafka-console-producer.sh --broker-list localhost: --topic test

(5)删除topic

  • 删除kafka存储目录(server.properties文件log.dirs配置,默认为"/tmp/kafka-logs")相关topic目录
  • 如果配置了delete.topic.enable=true直接通过命令删除,如果命令删除不掉,直接通过zookeeper-client 删除掉"/brokers/topics/"目录下相关topic节点。

注意: 如果你要删除一个topic并且重建,那么必须重新启动kafka,否则新建的topic在zookeeper的/brokers/topics/test-topic/目录下没有partitions这个目录,也就是没有分区信息。

kafka系列一、kafka安装及部署、集群搭建的更多相关文章

  1. kafka系列二:多节点分布式集群搭建

    上一篇分享了单节点伪分布式集群搭建方法,本篇来分享一下多节点分布式集群搭建方法.多节点分布式集群结构如下图所示: 为了方便查阅,本篇将和上一篇一样从零开始一步一步进行集群搭建. 一.安装Jdk 具体安 ...

  2. kubernetes(K8S)快速安装与配置集群搭建图文教程

    kubernetes(K8S)快速安装与配置集群搭建图文教程 作者: admin 分类: K8S 发布时间: 2018-09-16 12:20 Kubernetes是什么? 首先,它是一个全新的基于容 ...

  3. helm安装redis+Sentinel集群搭建

    一.redis集群特点 数据 在多个Redis节点之间自动分片 sentinel特点: 它的主要功能有以下几点 不时地监控redis是否按照预期良好地运行; 如果发现某个redis节点运行出现状况,能 ...

  4. redis系列之4----redis高级应用(集群搭建、集群分区原理、集群操作)

    文章主目录 Redis集群简介 Redis集群搭建 Redis集群分区原理 集群操作 参考文档 本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 ...

  5. zookeeper的安装与部署-集群

    1.Zookeeper的下载与解压     通过后面的链接下载Zookeeper:    Zookeeper下载在此我们下载zookeeper-3.4.5下载后解压至安装目录下,本文我们解压到目录:/ ...

  6. DataStage 六、安装和部署集群环境

    DataStage序列文章 DataStage 一.安装 DataStage 二.InfoSphere Information Server进程的启动和停止 DataStage 三.配置ODBC Da ...

  7. 架构(三)MongoDB安装配置以及集群搭建

    一 安装 1.1 下载MongoDB 我个人不太喜欢用wget url, 之前出现过wget下载的包有问题的情况 https://fastdl.mongodb.org/linux/mongodb-li ...

  8. Hadoop系列(一):Hadoop集群搭建

    环境:CentOS 7 JDK: 1.7.0_80 hadoop:2.8.5 两台机器:master(192.168.56.101)   slave(192.168.56.102) 配置基础环境 1. ...

  9. Mac MySQL 8.0 (免安装版) 主从集群搭建

    一.下载解压包 打开 MySQL 官网地址:https://dev.mysql.com/downloads/mysql/ ,选择面安装版本. 二.解压文件 下载到合适文件夹,解压压缩包. 解压 mys ...

  10. Hadoop3集群搭建之——虚拟机安装

    现在做的项目是个大数据报表系统,刚开始的时候,负责做Java方面的接口(项目前端为独立的Java web 系统,后端也是Java web的系统,前后端系统通过接口传输数据),后来领导觉得大家需要多元化 ...

随机推荐

  1. [luogu4268][bzoj5195][USACO18FEB]Directory Traversal

    题目大意 给你\(n\)个文件的关系,求出某一个点,这个点到叶节点的长度的总距离最短.(相对长度的定义在题目上有说明) 感想 吐槽一下出题人,为什么出的题目怎么难看懂,我看了整整半个小时,才看懂. 题 ...

  2. source、sh、bash

    source.sh.bash../ 执行脚本的区别 1.source命令用法: source FileName 作用:在当前bash环境下读取并执行FileName中的命令.该filename文件可以 ...

  3. Redis中的简单动态字符串

    Redis没有直接使用C语言传统的字符串表示(以空字符结尾的字符数组,以下简称C字符串),而是自己构建了一种名为简单动态字符串(simple dynamic string,SDS)的抽象类型,并将SD ...

  4. A1080. Graduate Admission

    It is said that in 2013, there were about 100 graduate schools ready to proceed over 40,000 applicat ...

  5. 斯坦福大学公开课机器学习:梯度下降运算的特征缩放(gradient descent in practice 1:feature scaling)

    以房屋价格为例,假设有两个特征向量:X1:房子大小(1-2000 feets), X2:卧室数量(1-5) 关于这两个特征向量的代价函数如下图所示: 从上图可以看出,代价函数是一个又瘦又高的椭圆形轮廓 ...

  6. @DisallowConcurrentExecution 注解的作用 【定时器执行完当前任务才开启下一个线程的方式】

    转: @DisallowConcurrentExecution 注解的作用 2018年10月12日 16:42:40 fly_captain 阅读数:4317   Quartz定时任务默认都是并发执行 ...

  7. 洛谷 P1064 金明的预算方案(01背包问题)

    传送门:Problem 1064 https://www.cnblogs.com/violet-acmer/p/9852294.html 题解: 这道题是 “01”背包问题的变形. 如果不考虑买附件必 ...

  8. JS面试题(二)(常见算法编程)

    1.字符串转驼峰 例如:border-bottom-color ----> borderBottomColor var str="border-bottom-color"; ...

  9. read from /dev/urandom 返回值异常

    #include<stdio.h> #include<iostream> #include <fcntl.h> #include <sys/mman.h> ...

  10. 基于 Dojo toolkit 实现 web2.0 的 MVC 模式

    前言 MVC 模式是设计模式中的经典模式,它可以有效的分离数据层,展示层,和业务逻辑层.Web2.0 技术由于其良好的用户体验被广泛应用于 WEB 应用的展示层.但是在传统的 web 开发中,展示层的 ...