1. Kafka简介

  Kafka is a distributed,partitioned,replicated commit logservice。它提供了类似于JMS的特性,但是在设计实现上完全不同,此外它并不是JMS规范的实现。kafka对消息保存时根据Topic进行归类,发送消息者成为Producer,消息接受者

为Consumer,此外kafka集群有多个kafka实例组成,每个实例成为broker。无论是kafka集群,还是producer和consumer都依赖于zookeeper来保证系统可用性集群保存一些meta信息。

  

2. ubuntu下安装Kafka

  环境说明: 

  1. os:Ubuntu 16.04

  2. zookeeper:zookeeper 3.4.13

  3. kafka:kafka_2.11-2.0.1

  4. jdk:jdk 8(kafka启动需要使用到jdk)

2.1 jdk安装

  jdk在安装是较为常见的,所以这里就不再详细介绍了。

2.2 zookeeper安装

  首先下载zookeeper,下载地址为:http://mirror.bit.edu.cn/apache/zookeeper/,如当前源不能访问,请自行更换其他源。如图:

  

  根据自己的需要的版本下载相应的.tar.gz文件,将下载的文件上传到服务器上。通过Xshell 6端,使用命令rz。

  解压文件:

  

  解压后进入conf文件夹,

  将zoo_sample.cfg拷贝一份为zoo.cfg

  如下:

  

  修改zoo.cfg文件:

  

  为zookeeper配置环境变量:

vim /etc/profile
export ZOOKEEPER_HOME=/usr/local/middle/zookeeper-3.4.
export PATH=.:$ZOOKEEPER_HOME/bin:$JAVA_HOME/bin:$PATH

  

保存退出

  使用zkServer.sh start启动zookeeper服务:

  

启动成功,配置正确,然后关闭服务zkServer.sh stop

2.3 安装配置Kafka单机模式

  下载Kafka,下载地址为:http://mirror.bit.edu.cn/apache/kafka/2.0.1/,如果源不可用,自行更换其他源。如图:

  

  下载自己需要的版本

  将下载的Kafka上传到服务器,使用如下命令解压:

tar -zxvf kafka_2.-2.0..tgz 

  解压后进入到config文件夹,如下:

  

  分别配置三个文件:

  server.properties:

  主要配置以下几项,其他的都按默认配置即可

broker.id=
#指定端口
port=
#指定主机
host.name=localhost
#数据存储位置
log.dirs=/usr/local/middle/kafka_2.-2.0./kafka-logs
#连接zookeeper配置项,这里指定的是单机,所以只需要配置localhost,若是实际生产环境,需要在这里添加其他ip地址和端口号
zookeeper.connect=localhost:

  如图:

·

  zookeeper.properties配置:

  

  producer.properties配置:

  

  consumer.properties配置:

  

  启动kafka:

  1. 启动zookeeper服务

  进入kafka根目录,使用如下命令启动zookeeper。

bin/zookeeper-server-start.sh config/zookeeper.properties

  如图:

  会执行环境变量配置的zk,出现如上图所示表示启动成功。

  新开一个会话启动kafka,使用如下命令:

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

  如下图: 

 

  出现如上图则表示kafka启动成功。

  至此,单机的Kafka安装完成了。

Kafka学习笔记(1)----Kafka的简介和Linux下单机安装的更多相关文章

  1. Kafka学习笔记之Kafka背景及架构介绍

    0x00 概述 本文介绍了Kafka的创建背景,设计目标,使用消息系统的优势以及目前流行的消息系统对比.并介绍了Kafka的架构,Producer消息路由,Consumer Group以及由其实现的不 ...

  2. Kafka学习笔记之Kafka三款监控工具

    0x00 概述 在之前的博客中,介绍了Kafka Web Console这 个监控工具,在生产环境中使用,运行一段时间后,发现该工具会和Kafka生产者.消费者.ZooKeeper建立大量连接,从而导 ...

  3. Kafka学习笔记之Kafka性能测试方法及Benchmark报告

    0x00 概述 本文主要介绍了如何利用Kafka自带的性能测试脚本及Kafka Manager测试Kafka的性能,以及如何使用Kafka Manager监控Kafka的工作状态,最后给出了Kafka ...

  4. Kafka学习笔记之Kafka Consumer设计解析

    0x00 摘要 本文主要介绍了Kafka High Level Consumer,Consumer Group,Consumer Rebalance,Low Level Consumer实现的语义,以 ...

  5. Kafka学习笔记1——Kafka的安装和启动

    一.准备工作 1. 安装JDK 可以用命令 java -version 查看版本

  6. 分布式缓存技术redis学习(一)——redis简介以及linux上的安装

    redis简介 redis是NoSQL(No Only SQL,非关系型数据库)的一种,NoSQL是以Key-Value的形式存储数据.当前主流的分布式缓存技术有redis,memcached,ssd ...

  7. Linux下单机安装部署kafka及代码实现

    技术交流群:233513714 这几天研究了kafka的安装及使用,在网上找了很多教程但是均以失败告终,直到最后想起网络方面的问题最终才安装部署成功,下面就介绍一下kafka的安装部署及代码实现 一. ...

  8. Kafka学习笔记之Kafka High Availability(上)

    0x00 摘要 Kafka在0.8以前的版本中,并不提供High Availablity机制,一旦一个或多个Broker宕机,则宕机期间其上所有Partition都无法继续提供服务.若该Broker永 ...

  9. Kafka学习笔记之Kafka High Availability(下)

    0x00 摘要 本文在上篇文章基础上,更加深入讲解了Kafka的HA机制,主要阐述了HA相关各种场景,如Broker failover,Controller failover,Topic创建/删除,B ...

随机推荐

  1. HDU1850 - Being a Good Boy in Spring Festival 【尼姆博弈】

    一年在外 父母时刻牵挂  春节回家 你能做几天好孩子吗  寒假里尝试做做下面的事情吧  陪妈妈逛一次菜场  悄悄给爸爸买个小礼物  主动地 强烈地 要求洗一次碗  某一天早起 给爸妈用心地做回早餐  ...

  2. TFS代码迁移Git

    描述 将TFS上的代码迁移到Git做版本控制. 参考地址 tfs-git下载:https://github.com/git-tfs/git-tfs/releases chocolatey安装:http ...

  3. BZOJ 1179 抢掠计划atm (缩点+有向无环图DP)

    手动博客搬家: 本文发表于20170716 10:58:18, 原地址https://blog.csdn.net/suncongbo/article/details/81061601 https:// ...

  4. fzu 2087并查集的运用求最小生成树的等效边

    //对数组排序后,对于边相同并且边的两端不在一个集合内的一定是等效边或者必加边, //第一数数,第二合并集合 #include<stdio.h> #include<stdlib.h& ...

  5. 1010针对一个binlog日志的分析

    针对一个BINLOG日志的分析 -- 当前binlog_format | ROW[root@109 mysql]# cat wang1010.txt/*!50530 SET @@SESSION.PSE ...

  6. adb命令查看报名和查看手机分辨率

    打开所要查看的应用包名: $ adb shell dumpsys activity top | head -n 10 TASK com.ss.android.article.news id=5 ACT ...

  7. python TypeError: &#39;builtin_function_or_method&#39; object is not iterable keys

    statinfo = os.stat( OneFilePath ) if AllFiles.has_key( statinfo.st_size ): OneKey = AllFiles[ statin ...

  8. JPA相关注解

    JPA注解 一.基本注解 1.表相关   @Entity   仅仅要加了这个注解就具备了表和实体的映射关系,表名就是实体名   @Table(name="表名")    一般和实体 ...

  9. 【Android归纳】Fragment生命周期-基于实验的最新总结

    如今非常多应用的开发都是基于FragmentActivity中嵌套Fragment进行开发的,所以,假设我们可以清晰地知道他们的生命周期,那么会使我们的开发变的easy. 对于Activity的生命周 ...

  10. Android ADB 常用命令

    Android ADB 常用命令 泛原罪 2016.09.21 00:02* 字数 605 阅读 2912评论 0喜欢 1 [TOC] adb logcat 查看日志 详细内容可参见 ADB Usag ...